Software development is a social profession
June 02, 2019
I’m a strong believer that software development is a social profession and not a technical one. And I say that as someone who has read the books on clean code and test-driven development, watched the talks on type systems and listened to everyone who preached about all the other hot fuzz methodologies and technologies. I’ve enjoyed it thoroughly and learned much, but the more experience I get the more I feel like we as a community need to shift our focus from the nitty-gritty technical details to The Real Problems™.
What would you say is the single most important part of a successful software project? The methodologies we use? React or Vue? TDD or not? Tabs or spaces?
No, the most important part of any software project is its people.
I believe that the developer community has become so focused on the newest frameworks, the coolest libraries and the quickest way to learn it all that we’ve lost ourselves in a maze of programming languages and buzzwords. I constantly see discussions (mostly online) about programming topics turn toxic and people personally attacking each other for not sharing their opinion. This shouldn’t be necessary and I think one way forward is to talk about the human issues we all face more than we do today.
In 2012 Google did an internal research study called Project Aristotle that investigated what makes a team at Google successful. They concluded that the number one key factor of a successful team is psychological safety. The big problem that follows is that people are complex. It’s much easier for us to discuss which framework to choose than it is to talk about what makes us feel safe at work. React vs Vue is concrete. Feelings are not.
And despite most companies being very good at talking about how they take care of their employees’ and how the employees health always comes first, there are still many reports on crunch in the gaming industry, over 700 posts about burnout on HackerNews and many articles and great discussions about it at dev.to.
Software development is a relatively young industry, and these are issues other industries struggle with as well, but we are also an industry with an incredibly engaged community. How many other professions can say that you can learn everything you need to get a job for free on the internet? Or that so many amazing people share what they know without requiring anything in return? It’s a knowledge sharing culture that should impress everyone.
As developers we are very quick to show off our projects in portfolios and on GitHub, taking immense pride in our technical skills (and we should!), but we need to shift our focus from just the technologies we use to the people we are working with. I want to see more discussions like this thread about why sleep might matter more than technical skills, or the feeling of not keeping up with the industry because so much is changing so fast, or how to combine family life with working in tech. I want us to talk about what it is like being a human in the context of software development, instead of just talking about the technical bits of software.
Brené Brown is a researcher and author that has studied vulnerability, courage, shame, and empathy. She is a huge inspiration to me, and I wholeheartedly recommend reading her books (or watching her recent Netflix show). In her book Dare to Lead she writes:
“I define a leader as anyone who takes responsibility for finding the potential in people and processes, and who has the courage to develop that potential.”
This is what I wish we would do. Use our empathy and vulnerability to help ourselves and other developers. For most of us, this will most likely be scary. I know it is for me. Talking about real feelings puts you in a very vulnerable position, but it’s also how we build trust and how we grow as human beings.
Software development is a social profession because without the interaction between people, there would be no software. Frameworks wouldn’t grow, ideas wouldn’t spread and projects would fail. We should all strive to go to work and feel that there is joy in what we do, that we can contribute, that what we do matter. And we should strive to make our colleagues feel the same.
“What we know matters but who we are matters more.” - Brené Brown