DEV Community

Ben Halpern
Ben Halpern

Posted on

Why is the software industry so competitive?

It seems like software developers are often pitted against one another in some way.

What encourages this competition? Is it healthy?

Top comments (38)

Collapse
 
bosepchuk profile image
Blaine Osepchuk

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.

Collapse
 
ben profile image
Ben Halpern

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:

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.

Collapse
 
theoutlander profile image
Nick Karnik

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.

Collapse
 
bosepchuk profile image
Blaine Osepchuk

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?

Collapse
 
nssimeonov profile image
Templar++

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.

Collapse
 
s_baltes profile image
Sebastian Baltes

Some even take drugs and sacrifice their health so they can compete

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:

I found that I lost a significant amount of my focus as I became 40, and started using drugs such as ritalin to enhance my abilities. This is pretty common among older programmers.

Thread Thread
 
nssimeonov profile image
Templar++

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.

Thread Thread
 
s_baltes profile image
Sebastian Baltes

You still can't realise the magnitude. The athletes take the drugs to become athletes, not to keep it going.

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.

Thread Thread
 
nssimeonov profile image
Templar++

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)

Collapse
 
leightondarkins profile image
Leighton Darkins

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.

Collapse
 
kaelscion profile image
kaelscion • Edited

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.

Collapse
 
s_baltes profile image
Sebastian Baltes

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...

Collapse
 
lucretius profile image
Robert Lippens

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.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
fpuffer profile image
Frank Puffer • Edited

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.

Collapse
 
gypsydave5 profile image
David Wickes

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:

If you're never good enough, you're always comparing and competing.

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.

Collapse
 
medicator profile image
Medicator

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 ;

  • regardless of innate humane necessity to connect with one another.

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.

Given humanity's lacking "frame of reference" regarding itself, such competition is misunderstood.

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.

 
s_baltes profile image
Sebastian Baltes

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.

Collapse
 
jochemstoel profile image
Jochem Stoel

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.

Collapse
 
fpuffer profile image
Frank Puffer • Edited

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.

Collapse
 
cheetah100 profile image
Peter Harrison

Business is a competitive business, but that does not mean software development needs to be. In my view prima donna developers who focus on proving their own value, by which I mean intelligence, end up with unintended consequences.

You don't want developers who are trying to write code that proves just how brilliant they are. Everyone in the team needs to be able to understand and maintain the code. You don't want a silo of impenetrable code that can only be understood by the 'genius' who wrote it.

Rather you want to promote a culture of radical cooperation and honesty, where senior developers are invested in helping others grow, in showing them the best practices, in writing code which is easy to understand. You can have the best talent in the world, but if you don't have a open culture where people can express themselves, where instead people fear talking out for fear of ridicule you will never see their full potential.

Effective teams are a critical part of software success. Promoting individual accomplishment over team success places emphasis in the wrong place, and ultimately undermines team cohesion.

Compete against your competition, not against each other.

Collapse
 
nateous profile image
Nate

I agree that it can be a problem, but some friendly competition isn't always bad. Some people find it motivating, some find it scary, and everywhere in-between.

When it hurts your team dynamic you need to reign it in, this is where Good management comes in. Or better yet, seeks to keep it good natured from the beginning.

The team and military analogies are great. You want to be the best you can be and you want your team mates to be the best they can be. Sometimes that involves competition, but at the end of the day, you are on the same team. You compete against one another to test each other and spur on growth.

I do agree there is a bad form that seems prevalent in software but I don't want to "throw the baby out with the bath water" (idiom: throw out competition because some people do it wrong).

Collapse
 
kellogh profile image
Tim Kellogg

Healthy for what?

Both biology (evolution) and economics (capitalism) have found competition to be a phenomenal success at optimizing. Competition in software industry, in the long term, leads to the good ideas floating to the top.

The alternative to competition is people getting buried in bureaucratic decision processes. For example, using COBOL because that’s what the leaders insist on, without regard to the merits of competing technology.

So competition is great, but like literally everything in life, it also has its downsides. Competition leads to impersonal decision making processes. It hurts feelings, it throws people under the bus.

Does that mean competition is bad? I don’t think so, but I do think competition has to come with a set of checks and balances. Like how unchecked capitalism can lead to corruption or slavery, unchecked competition in software engineering can cause important contributors to want to quit and exit the industry.

It’s a balance.

Collapse
 
jason_espin profile image
Jason Espin

Is this in relation to the US? Here in the UK software developers are in short supply and when I get fed up of a job or want a payrise (usually once a year or every 2 years if I like the company) then I usually find a new job within a week of searching. I find that once you have around 10 years of experience and have worked as a senior / technical lead or principle developer its super easy to get a new role even if you haven't worked with the latest tech as you can always say "I haven't worked with that before but it should be pretty easy to pickup"...

Collapse
 
ben profile image
Ben Halpern

I both recognize this as stuff I actively reject, while also knowing I’m guilty at times in one way or another.