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.

 

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.

 

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.

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.

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.

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)

 

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.

 

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?

Ummm, I don't think Ben was trying to counter or anything like that. I think he just continued his train of thought in to the next comment, lol. :-)

 

[citation needed] — What is the question based on, are there any studies etc. that show that the software industry is more competitive than others?

Many software developers enjoy benefits that other professions can only dream of (meaningful work, relatively high salaries, possibilities for remote work, progressive work environments, of course all depending on the company), so maybe we don't have it all that bad?

 

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

 

Downloaded the paper from Arxiv, will check it out when I have some time. Though what I'm really after is a comparison with other fields, a lot of the stuff I saw while skim-reading should apply to other professions as well, so the question whether software development really is particularly competitive or not remains unanswered.

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 was thinking about artists, journalists, and—sorry for that—politicians.

Consider musicians. If they lose in a competitive contest, they are to literally starve to death. If we lose, we get a 20% discount to the salary, which is still nearly 6 figures. And we are whining, not they.

Curious.

 

Even at the low end, software developers can make out like a banshee. Say you're making $60K and investing $30K per year while living on $30K. You could probably reach financial independence before the age of 40.

Getting promoted and earning more just accelerates you towards the inevitability of your financial freedom.

There's a sensible case to be made that we're all taking this stuff way too seriously and should just focus on making good money and investing it. Whether you're at $60K, $80K, or $100K and greater doesn't really matter in the long view.

Instead of focusing on how well we can rearrange a linked list on a whiteboard, our time is probably better spent finding a way to make a developer's salary while avoiding expensive cities like San Francisco.

I could not care less about money and I am still curious about how well I can rearrange a linked list on a whiteboard.

That’s the main reason I am doing my best in avoiding the whole country where SF is located.

All the more reason to care about money and become financially independent. You can spend your days doing whatever you want with linked lists and theoretical problems without having to worry about the much more messy business aspect of software development.

You are bitter about the US on all fronts

Nah, not at all :)

I am just tired of the notion of “default country.” I receive many job offers from US where recruiters even could not imagine that developers might exist outside of the boundaries.

Also I simply like to exaggerate anything to the rant, that’s why.

 

Typical territorial aggression and zero-sum thinking in my opinion. The world can have more than enough functional programmers using whatever style of functional programming they want but within even that community people want to prove their style of functional programming is best.

I've been guilty of this kind of behavior as well. It's hard to escape human nature and programmers at the end of the day are just people. It's especially annoying in programming because we are supposed to be problem solvers and not worry about religious wars over tools and practices.

 

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

 

Yup. It's a work in progress I think for most people.

 

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.

 

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.

 

Forgive my rather cynical take on this, but it would seem that much of the hyper-competitiveness comes from a small section of the community and is primarily oriented towards young people who simply don't know any better. Some of the folks who hire these young people take advantage of their willingness to work for free when the work is posed as a competition instead of simply being presented as a straightforward labor proposition.

If you can get the less perceptive ones to duke it out amongst themselves, then maybe nobody will pay attention to the fact that you're basically running wild with the fruits of their labor.

Competition also solves a challenging hiring problem. What do you do when you yourself aren't technical and therefore lack the skills that would be required to evaluate technical talent?

Simple. Just create a totally arbitrary contest and see who shows up. The group will have self-selected into people who fit the following "desirable" characteristics.

  1. Willingness to follow orders without questioning where they came from or why we're doing any of this.

  2. Willingness to work for free

  3. Willingness to sacrifice personal time, sleep, and health

It's also pretty clear that this sort of thing doesn't only happen in the software field. Look at doctors, lawyers, college professors, pretty much any sort of high-status job is naturally hyper competitive in this way.

I am of the view that we are in the late cycle of an education bubble that is certain to pop when people come down to Earth and realize they're throwing their lives away on college, contests, and extracurricular activities they don't care about but do just to pad a resume.

I don't think software is actually all that competitive, especially when you compare it to academia or law school.

I mean seriously, would any of you like to go hundreds of thousands of dollars into debt only to find yourself slowly paying down that debt for the rest of your lives? How about elbowing your way past everyone and their mother who wants to teach philosophy at a University for $30K a year?

We're the lucky ones! We're currently in a job market where there's more demand for our skills than supply. Sure we have these silly hackathons and a few weird people who take things a little too seriously, but my God, there's cash just flying out of everyone's orifices right now and all you have to do is show up and deal with the incompetence to grab some.

Besides, nobody really likes snotty persnickety hyper-competitive d-bags anyway. They eventually get cut because they're too difficult to work with.

For the rest of us, it's a party. We get to consider things like early retirement and remote work. I live at the base of a goddamned ski resort and take runs before my standup meeting which I plan to, at some point, do over Skype while hitting a jump and going upside-down.

The solution is simple. Just ignore the competitions and all this "10x" nonsense. The free market is already taking care of that problem.

So long as there are enough IT messes to clean up, rest assured that there will be a wide range of developers, from stellar ones to folks drooling in the corner with their Swingline staplers, grabbing cash as it practically bursts from the floorboards.

You can choose to be either. It's not as if the ones doing the hiring can tell the difference anyway.

 
[deleted]
 
 

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.

 

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.

 

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

 

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.

 

The software industry being competitive is especially intimidating for newcomers with zero experience in the industry (like me). In my case, I'm still doing my studies, but from the things I've seen and read so far, I'm genuinely intimidated by the competition. Seeing all the great developers out there harbors self-doubt in me. I wonder if I will ever be competent enough or if I will even land a job in the first place.

The competition is definitely unhealthy. I study in a school that encourages teamwork and cooperation. To me, competition is unheard of. My school doesn't even have an honor roll system to encourage a cooperative environment (which I am frankly thankful for). I always have a mentality of helping others out without the need of a reward. That's just how I was raised. That's why it's going to be an entirely new environment for me if I enter the industry.

 

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.

 

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.

 

Interesting question. Is there an example you can share of a competition where software engineers are "pitted against one another"? Also, is there any industry that doesn't have competition? Competition itself is a way to encourage improvement between individuals. But of course there's a spectrum of how much competition is too much.

 

From the dawn of humanity most human advancement came during, in preparation for, or as a result of war as your annoying history professor probably pointed out. Despite the rhetoric of the 19th and 20th centuries the basically uncivilized United States remains basically the only superpower (China will blow trying to overtake the US economy which merely one part of its several pronged superpower status) for the same reason the idiots and ass kissers on business side are constantly trying to find new backs to stab. This is the nature of effective human beings, lip service to our evolution or whatever, aside its frankly the only way to effectively drive progress.

Similar reasons exist for the Prussian education system we ALL hated but how many people can study without deadlines of a test above their heads (hint: if you are like me and can, its probably because you are super hard on yourself. Most people are not you). Sure it sucks sometimes, especially with the business side being essentially deficit in basic cognitive functioning and distracted making their teeth sparkle or can't think because eating carbs is bad this year and put butter in their coffee. The reason all human societies that coalesced at all at competition at the base level is why the unforced economic system that emerges everywhere is competition based, we are human its part of who we are.

Open source is awesome, but it is still based on some form of competition, either with for profit competitors or with other groups over who made the least broken OS (in one example at least). We need to feel our existence is part of some zero sum game and no level of whining about it will change it the same way that intoxicants can't be banned out of the human experience or guns will never be truly gone so long as humans remain bipedal clever chimps (being a bonobo sounds worse to me personally), the modern trappings around us just mask our instinctual nature they haven't changed a thing and probably never will.

My mantra for coping: It is what it is

 

Because managers know that devs are likely to be more susceptible to it than non-devs. And no, it's not healthy, and the managers know that. But it does increase short-term productivity, which is king.

 

Isn't competitiveness that brings us forward? One might say no, that's collaboration. But to be honest, people collaborate to compete other collaborating people...

We just have to find the right balance, not let the competition eat up our life.

 

Competition helps to develop programmers skills and the industry, when it is healthy. There is a difference between competing to be the best one and competing to bring people down. It depends on how it is done I guess. If you are a superstar be humble and pass the knowledge. Being an a*** will get more enemies than you want. And in the end people are social creatures, who need each other and depend on each other.

 

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.

 

Can you give an example of an industry or anything else that isn't competitive? Competition is everywhere in nature, because resources are not infinite.

 

When is one software engineer pitted against another? does one win and the other lose.

Do you work in 7.5 hours in the day and then stop. If the company wants you to work more you can decide to do it or you can move. There is a big requirement for developers.

You can make yourself more valuable by learning new skills.

There is a lot of opportunities in software development

 

Depends on the competition. Bottom 10% of employees get fired? Or hardest working employee that embodies the company's values gets promoted? Employees that care deeply about what they do and work hard should be rewarded for it.

Also depends on what is being evaluated. In general, you should be evaluated on whether you are reaching your potential, not necessarily if you are the best programmer. Attitude and effort are going to be factored in, and can give you an edge in the competition over a programmer of perceived better skill/experience.

 
Classic DEV Post from Sep 17 '18

​Linus Torvalds takes a break from Linux

Creator Of Linux is stepping back for a while

Ben Halpern
A Canadian software developer who thinks he’s funny.