loading...
Cover image for Software development is a social profession

Software development is a social profession

awnton profile image Anton Gunnarsson Originally published at antongunnarsson.com Updated on ・4 min read

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

Discussion

pic
Editor guide
Collapse
andreirusu_ profile image
Andrei Rusu

Not only that ideas wouldn't spread. Without the social aspect of a development process, ideas wouldn't be born that much at all. As Isaiah Berlin put it, "ideas are not born in the void. Ideas are to a large extent the products of the social process".

Collapse
awnton profile image
Anton Gunnarsson Author

That is very true!

Collapse
jorgecc profile image
Jorge Castro

I agree however the question is how we could motivate the team?.

  • Salary?. Well yes, but it is another way to raise "mercenaries".

And about leadership, sorry but no, she is talking about hiring. A leader is somebody that know how to manage priorities and resources.

Collapse
awnton profile image
Anton Gunnarsson Author

I don't think salary is the only way to motivate a person. Many people (myself included) value things like culture, people, perks, etc higher than salary. I would much rather work at a company with a great culture and a fair salary than a company with horrible culture but fantastic pay.

There is no blanket solution on how to motivate people, but it comes down to getting to know the person and finding out what they personally value. Again, we need to talk about how we feel.

And about leadership, sorry but no, he is talking about hiring. A leader is somebody that know how to manage priorities and resources.

No, she isn't talking about hiring and I think your definition of a leader is a bit narrow. Anyone can know how to manage priorities and resources, that doesn't make somebody a leader. A project manager or "boss", maybe. Leadership has nothing to do with titles, rank or authority. Everyone can be a leader.

Collapse
jorgecc profile image
Jorge Castro

I don't think salary is the only way to motivate a person. Many people (myself included) value things like culture, people, perks, etc higher than salary. I would much rather work at a company with a great culture and a fair salary than a company with horrible culture but fantastic pay.

But the question is HOW. Which perks?

IMHO: Culture is a buzz term that means nothing but an excuse to apply some abusive behavior (such as "competitive goals") or political propaganda (note: I'm Hispanic and a part of a real minority), I get sick of hearing it. So what is about Culture?.

And about perks, dental plan, parking lot, transport, meals are just part of the salary (they are discounted in disguise).

I'm 100% convinced that a developer must work at most 6 hours per day maximum and it sounds like a good perk that it is fair for both parts.

But then what?. What else?

Thread Thread
awnton profile image
Anton Gunnarsson Author

I agree that culture means nothing in the context of "We have great culture! Woho!", but if you dig a little deeper you usually find out what that culture consists of. Is it ping pong tables, beer at the office and amazing parties? Not for me.

For me culture is things like a genuine engagement in your colleagues, being able to be your true self and an atmosphere that encourages having the courage to stand up for what you believe in.

Thread Thread
jorgecc profile image
Jorge Castro

It is what we tried:

  • foosball and ping-pong. It failed. I don't know why but the team never used but the first day. We steal the idea of Google but I really doubt that Google had better luck with it.
  • TV screen. It works but for some occasions. We put on the lobby.
  • Sport. Practically every sport failed (including Yoga and it's funny because they asked for it) but football (soccer, it is a Hispanic thing), some of the technicians even created a championship with cup and stuff. We had a lot of injured (we kicked the problem to the insurance company) but other that, it worked.
  • BBQ, it worked for some events. Alcohol is always a problem, and we couldn't only serve Coca-Cola because we are all adults but we don't want troubles so it is a touchy point.
  • Parties? tsk tsk. It's so much liability.
  • Xmas and other festivities, some collaborators whined against it. We said it was voluntary but sheesh with some people (some people are intolerant). Finally, we gave it up.
  • Secret Santa = never ever again.

And most people are really willing to work (and live) in a safe (traffic jam free) place, even if it means to half his/her salary.

But there is another factor: costs.

Let's say, the company denies you a raise but spend 10x of your salary in an event. It is enough to lower your moral. It is was the reason why I left my first job.

Also, some people think they are in high-school, and it is not. Mistakes have consequences such as to be fired, sued, or arrested.

Thread Thread
awnton profile image
Anton Gunnarsson Author

Yeah, stuff like ping-pong tables, TVs and parties might sound nice but without an underlying core that's based on more people focused values, it won't create a culture worth savoring.

Collapse
stanciudragosioan profile image
StanciuDragosIoan

Salaries are just an approximate measure. Ultimately if ppl don t like what they r doing, salary won t be enough.

Culture/Community at the office scores a bit higher but genuine passion beats all.

Collapse
garador profile image
Garador

I love how you hit the nail in the head with this one.

When I was studying for my CS Associate's Degree, one of the things our teachers insisted on was to always talk a lot with our potential customers to deeply understand what they needed. What was the real problem. What were their worries. One teacher even told us that sometimes, we couldn't fix their problems with our tech... Sometimes, the problem wasn't that simple and our tech wouldn't help.

I didn't understand it a while later when I had my first real gig on the open.

Indeed, at first I chose the CS path to stay away from people (I'm a little bit shy), but I found something honestly better and more rewarding: helping people and making meaningful connections doing so.

I mean... It's pretty much the most straightforward way we can find real solutions.

Collapse
awnton profile image
Anton Gunnarsson Author

Thank you! And thanks for sharing that!

Collapse
ellen_dev profile image
Ellen Macpherson

Great article - you've managed to articulate so many of the feelings I have about where we might be going wrong in the industry. Thanks for sharing!

Collapse
awnton profile image
Anton Gunnarsson Author

Thank you so much Ellen! 🥰

Collapse
tedbouskill profile image
Ted Bouskill

I have to disagree that Software Development is relatively young. I've been a professional software developer for over 30 years and my father was one before me.

Read some of the older materials. Concepts in software development processes haven't changed since the 60s. Look for the Ten Commandments of Egoless Programming. As true today as when they were created in the 70s.

Stop thinking that today's software development problems are new. They aren't. Look for older materials like the UNIX Philosophy and realize that the newest technology is hiding people problems that have always existed in business for all professions.

Collapse
awnton profile image
Anton Gunnarsson Author

Yes, software development have been around since the 60s, but I'd still argue that it's a relatively young industry. Compare it with architecture, gardening, construction or any other industry that builds on knowledge from 1000s of years.

But just like you say, older material might be just as relevant today as it was back then. If anything that should encourage everyone to think more about these issues if we still haven't "solved" them.

Collapse
vintharas profile image
Jaime 🔥🧙‍♂️🔥

YES to everything in this article. Also superbly written. I felt inspired and am looking forward to bringing loads of joy and love to my team on Monday. 😀

Collapse
awnton profile image
Anton Gunnarsson Author

Thank you so much Jaime! That's all that I could have hoped for! 🥰

Collapse
moopet profile image
Ben Sinclair

I think this very much depends on what you set as your criteria for success. If it's to make some software that's used by a lot of people, then sure, but that's often not the case for us as individuals.

Collapse
andrewsmith289 profile image
Andrew Smith

Do you have any recommendations to developers struggling with mental conditions that can make it more difficult to socialize? i.e. social phobia, generalized anxiety disorder?

I have been attempting to advocate for developers with such challenges.

Collapse
genemosher profile image
Gene Mosher

We who only manage the development of software play an essential but unheralded role.

Collapse
zoultrex profile image
Gabriel Oliveira

Hey Anton, I really liked your article, it's spot on with what I believe. I'd love to talk more about the subject, DM me so we can exchange more info. Thanks!

Collapse
pomfrit123 profile image
***

So Oprah would make an 10x developer, is that what are you saying?

EDIT: What is Peoples Advocate? please delete that, you are grown up man.

Collapse
leo_png profile image
Leo.png

Never thought about this way, I really like your point of view 👍

Collapse
awnton profile image
Collapse
pthreat profile image
pthreat

Click bait