The REAL Roadblock to Great Software Development

Photo by Erik Mclean on Unsplash

There is one thing standing in the way of becoming a great software developer. 

That one thing isn’t spending more time practicing LeetCode or sucking up to your boss.

The fact is that this is a double-edged problem that is haunting tech companies and employees alike. It’s the misguided allure of high salaries in tech.

Money shouldn’t be the reason people choose to be in tech

Starting salaries

I’m used to people starting in software development for the paycheck. Unfortunately, Money is a demotivator and won’t get you through the cold, hard nights of coding.

As a result, I’m doing my best to dissuade people from entering tech if they have no passion for the discipline at all. The salaries might be high, but they are also high for doctors, lawyers, and scientists.

If you want the money, why not train to be a rocket scientist instead? I think your attitude would at least be better if you were in a cool job like that (depending on how cool you think rocket science is, boffin).

Expectations of pay increases and bonuses

As a developer gains years of experience, they expect commensurate pay increases and bonuses even if the quality of work is not improving.

This isn’t a great way of growing as a developer. I remember working with an entitled developer who thought that they could get a promotion just by asking for it. I know what you’re thinking, and you’re right. They got the promotion.

Lack of true passion

It’s easy to criticize the idea of passion in software development. I know, I’ve written articles about it, but this is a ‘true’ passion known to programmers who want to code well.

It’s this lack of true passion and a ‘that'll do’ attitude that means developers do the minimum amount of work to pull their paycheck that shows that there are some who should not choose software development as a career (or at least plan a way out of it).

I’m seeing this attitude everywhere in my current job. It means that work simply doesn’t get done or is done in a shoddy half-effort way. It breaks my little developer's heart.

Money is holding back teams

Limits on how much teams can expand

As teams expand, they cost more money for their host companies. This can be a block on teams developing and getting in new talent as there is a limited pot of money.

This is bad for companies as they are limited in the features that they can deliver but also for staff members. If a company isn’t doing well and improving there is a limit to the promotion opportunities and interesting technical challenges that can be tackled. It’s not good for anybody.

Senior developers who do not meet the quality bar

As an industry, we value years of experience above attitude and skill. That means that companies need to pay large amounts of money to get a *senior* developer when they essentially need someone who knows what they are doing. 

This can mean that they spend huge amounts of money on talent who simply cannot perform at the required level. This once again puts limits on features delivered and opportunities for all.

An inability to take junior developers to the next level

As a consequence of the lack of opportunities for devs, there is a natural knock-on effect for junior software developers. At one end there is a lack of opportunities for junior developers to join companies as the host organizations simply don’t know how to train them and are unwilling to invest in them.

At the other end of the production line junior devs, who have been working for six months to a year, lack development to leap into being a mid-level developer.

Conclusion

Money shouldn’t be the most important factor in software development and the misplacement of passion due to the allure of high salaries is a huge problem in software development. 

This issue stifles genuine growth, innovation, and the nurturing of talent within the tech industry. Addressing this will require a cultural shift towards valuing genuine interest and aptitude over mere financial motivation.

Previous
Previous

The Unseen Cost of Notifications in Software Development

Next
Next

Looking to Create a New Language? Here’s What You Should Do