It seems like software developers are often pitted against one another in some way.
What encourages this competition? Is it healthy?
It seems like software developers are often pitted against one another in some way.
What encourages this competition? Is it healthy?
For further actions, you may consider blocking this person and/or reporting abuse
Sukhpinder Singh -
Tutort Academy -
Mohammad Tahzeeb Khan -
Pratik Tamhane -
Top comments (38)
I agree and it's not healthy. While no one factor is solely responsible, I'd say ineffective leadership is a big problem in our industry.
Say what you want about jocks, but they know how to work on a team and their teams are lead by people who know how to lead.
Have you ever seen a new programming lead or senior dev receive leadership training? Training in team dynamics? Psychology? Managing people? Effective communication? Coaching?
Another example: the military is all over this stuff because they know the importance of working as a unit. Maybe our profession will catch on one day.
There is definitely a lot of marketing that gets new people into code or drives people towards certain resources as a matter of "you're not good enough".
This is a good post:
Does programming professionalise anxiety?
Daragh Byrne
If you're never good enough, you're always comparing and competing.
The funny thing is that it's not that hard to be "good enough". I'm basically a good enough programmer to have a fine job as long as I want to be coding, and I'm not perfect or close.
We should be getting "better" for the joy of it, not out of a sense of inferiority.
Getting better is really just a matter of sticking it out and gaining experience without burning out.
IMO, over 20 years ago one would not survive by just being good enough. Technological evolution has enabled people to be successful in this industry even when they're only good enough. Another reason why interviews at the big four have a high-bar.
Hey Ben, I read your reply several times and I'm perplexed. I wrote a big reply and then deleted it.
What are you trying to say exactly? What should we be doing differently in your opinion?
Sorry man, but I'll call this bulls**t. Competition is on a whole different level amongst athletes and military. Some even take drugs and sacrifice their health so they can compete (khm - cyclists often can't have children).
And yes, there is a difference. It's that programmers complain too much about their "hard life" when in fact they have it relatively easy, but due to the high demand and that actual skill i required they are deemed valuable.
I was in the army and I know how rough the training can be. Nothing to do with modern software developer expectations about team-building (khm company-paid vacations), going to conferences (more vacations with free drinks and long pauses) and 6h working day (and lately I read about 4 working days per week)... You don't get that in the military, you get 24h duty even some weekends.
That also happens in software development, see this blog post summarizing results from our research on software development expertise:
dev.to/s_baltes/software-developme...
One of our participants (age 60) wrote the following:
You still can't realise the magnitude. The athletes take the drugs to become athletes, not to keep it going.
Losing focus after 40 is a natural thing. I'm 45 myself and I know exactly what I'm talking. You are supposed however to be a bit smarter and have discipline to handle that by this age.
I agree that one can't assess the prevalence of this phenomenon using the data from our survey. But I suppose that it's not only older developers using such "smart drugs", see for example this article or this short discussion on Twitter. Considering that students also take such drugs, I think the statement "developers take drugs to become developers" is not as far-fetched as it may seem.
I think, that people used to have it way too easy all the time. Let me tell you a story - when I was in 8th grade, I got into a foreign language high school and I had to study German for at least 3 hour every day of the week. In the afternoon we had to spend at least 2h to write our homework under supervision. Imagine my shock, when one day we had to learn 80 new words. I complained, that this is insane - how can I memorise 80 new words for a day and one of the older students laughed and said - oh this is on easy days, usually they will be around 120... a few weeks later I figured out it's not impossible, yes it was hard and pushing us to the limit, but it WAS possible. The next thing I realised was, that I was supposed to memorise as much as I can and nobody will kill me if I forget a few. Some students thought this is way too hard for them and decided to leave. Other just kept going without pushing themselves beyond their limits, but in the end we all graduated and we all learned a lot.
Moral of the story - you don't have to be perfect, just do what you think is right (for you)
I think the type of competition you describe (pitting folks against one another) is grossly detrimental, and pretty prevalent in the software industry. A lot of the time it reminds me of the dynamic between anonymous folks playing on the same team in Call Of Duty or whatever cool multiplayer game whipper-snappers are playing these days.
By that I mean: you're technically on the same team, but you'll also berate, shame and ultimately try to beat your teammates if it's better for you as an individual.
With that said, competition is not inherently bad. @bosepchuk describes this pretty well in his comment.
A lot of very effective teams are full of super competitive folks, but the purpose and drive behind their competitive nature is doing the best job, getting the best result or winning the game (depending on the context).
This is the culture I aspire to create in the teams I work with. I want them to strive to do better, not to beat their neighbor, but to elevate the team. It's a difficult balance to strike, but definitely doable.
I think if teams were competitive like best friends rather than frenemies, we would see a lot of progress. Think about it, I know it's happened to me: Ever have a buddy of yours walking next to you when you get to the bottom of a big flight if stairs? You get to the first step, lock eyes, and without a word you both take off up the stairs. How does it usually end? You both breathless laugh as the loser remarks about the winner clearly making progress on the treadmill, then the winner posturing a bit before making any excuse for how they won: "No, its those shoes your wearing. If you had sneakers on like me you would've totally taken me for sure!" Then, somehow, drinking gets involved but your both silently motivated to do stairs more often for next time. I think that kind of competition is more comradery than anything else.
I've seen comments on the military and I've got an uncle who was USMC recon in Vietnam. From what he has said, when your up against it, you don't care if you hate they guts of the guy next to you because if he dies, then that is one less guy between the VC and you, so you fight to keep him alive just like everyone else.
We, as developers, need to realize that each of our roles in the team is equally important. Think that Jr dev is some idiot kid fresh out of school so you troll her mercilessly? That's fine, just be prepared to fix all your own bugs for 2-3 weeks when she quits and they look for a replacement.
We are all in this together. But management needs to realize that they are not in a position of power, but one of leadership. Meaning that you are responsible for ensuring success, but any failures fall directly on you and nobody else. That means keeping everybody involved, up to speed, and productive. Which means getting involved and getting your hands dirty. There is a reason the web and cloud are called "the wild". This world of tech is not so much an efficient republic as it is the Wild West. What counts is you and yours being alive at the end of the day, and that which seeks to destroy you has failed until tomorrow. That can't happen by being a hype man/woman or cheerleader. Leadership means knowing your team inside and out, caring about their personal lives and wanting them to succeed. Because if your project fails, it is your fault because you did not do enough to ensure everyone succeeded.
This, in my opinion and personal experience, is the largest failing in technology that leads to competitiveness. It's not a frat house. The guy who can do the longest keg stand is not the champion of your team. If you can understand that, then you are not qualified for leadership. Lead from the front.
Sorry for the rant! The end.
It's not exactly what you are looking for, but you'll find some information on developers' motivation and possible performance decline over time in this blog post and the corresponding research paper:
dev.to/s_baltes/software-developme...
I think that competition can be healthy. Take for example all of these node package managers (npm, yarn, pnpm, etc.) There is most certainly competition between these various package managers to provide the "best" solution. However, all of these groups actively communicate with one another and as a result they have all improved for the benefit of the community as a whole.
I think where competition becomes unhealthy is when it pits two individuals against one another in a way that either one or both of the individuals become resentful of one another. It is certainly possible to have healthy competition - when that competition does not become internalized. The moment it steps beyond code and people start feeling personally attacked I'd say it is no longer healthy.
That sounds nice, but competition is the very basis of our economic system. If you like it or not - a company that will not make use of the competition between its employees will likely be less competitive itself. It will disappear sooner or later.
Again, I am not saying that this is desirable.
Compared to my previous career(s), software development is a cushy gig where people get away with all kinds of incompetence and cover it with either handwavy management talk, or handwavy 'computers are hard' talk. I've seen people who should've been fired or retired or promoted into the netherworld still out there hacking away, secure and well paid. I've seen a 'senior' developer who worked for two years as a 'team leader' (and is still to my knowledge) whom I strongly suspect has no idea how an HTTP request/response works.
It's difficult to demonstrate that an engineer is bad at their job, to the point where I'd say that it's easier to demonstrate that marketing works. And that's near impossible.
Maybe it's different in the US.
Looking at @ben 's comment:
Isn't the problem that we're creating our own competition with other, fictional selves or people, spurred on by nonsense articles about how I'm meant to learn VueJS or whatever?
Garbage like:
Inspiring paranoia and insecurity. This is the real problem, not actual competition in what strikes me as (still) an unsaturated marketplace.
Biggest contributors include but are not limited to:
Current time period
Information & content overflow/outburst
Conglomerate incentives toward 'money for nothing'
Decline/Debunk of Moore's Law
Increasing cultural phenomenon promoting psychosomatic isolation of one's self ;
Absolute increase in information has failed to produced a single thread of intel regarding 'true' innate existential necessities. (Meaning, none of the bs which has been put out there for public consumption is actually relevant to our basic, most primal questions/sense of self).
There is an entertainment factor which plays a fundamental role here as well:
"Given that the current outburst of information keeps us constantly "busy", the entertainment factor has surpassed relevance" > this, in turn, outcomes a byproduct which surpasses the one' previously established when language and semantics constraint imagination > the end result is: an ever-growing, hyper-speculative, ungrounded notion of 'time'.
That which matters today, is merely a reflection of our current over-reliance upon our present necessities with an increasing disregard for individuals within the collective (or, soceity as whole).
Competition is encouraged, however, the concept in itself is rooted upon a certain 'time constraint' and our necessity to compare ourselves to other.
Regarding the whole "health aspect" of it all, i can merely ask you to:
"stop and literally take a look around your environment" <<< it'll answer itself in a nanosecond.
That's a good point. I think most of the results apply for other knowledge worker jobs as well. I can't tell which competitive aspects are specific to software development, but exploring this would be an interesting direction for future work.
I'm sorry guys but I have really a complete opposite experience. So many companies, websites, business, people are so willing to answer your questions, share their knowledge and collaborate if its a good fit. This is one of the reasons I love what I do.
Any competition I came across is healthy one.
I am not sure if it is really worse than in other jobs, but here's a theory:
It is very hard to measure the productivity of a developer. Still there is evidence that productivity of developers with equal salary can vary widely. I read about typical factors around 4 between members of one team somewhere. This at least does not contradict my own experience. It causes uncertainty which could encourage competition.