The biggest regret in my software engineering career

The biggest regret in my software engineering career

by | 4 min read
Published:
Updated:

I have been a professional software developer for 12 years now, working my way up from Junior Developer to Engineering Manager.

Over my 12-year career, I do have one regret that I wish I could go back and change.

In my first job out of university, I was working on a unit testing tool for C and C++. It was interesting work, and I was learning something new every day. I got to work with embedded devices and understand how computers work and a lower level.

I was later moved on to a client site to help build their internet bank. The project was all in C# which at the time I didn’t actually know. However, I learnt quickly and was soon able to work on tickets and add features to the project.

Over the next 2 years, I carried on delivering new features sprint after sprint. I was then moved on to another client project with the same tech stack, which I worked on for another 2 years.

As time went on, I got more and more demotivated with the work that I was doing. I knew C# and SQL to a decent level, and that seemed to be sufficient to do everything that I was asked to do.

It wasn’t that there wasn’t more to learn, but I didn’t need to learn it to do my job, and my colleagues didn’t seem to know any more than I did.

For those last 2 years, I could probably count all the new technologies I had learnt on one hand.

I had basically stagnated, but it had taken me 2 years to realise this.

I changed jobs to an exciting startup in London, and suddenly I was learning something new every day. The work was challenging, but I was growing as a person and my salary was also growing as a result.

If only I had made that jump earlier, I wouldn’t have wasted a couple of years not learning anything new.

I am now a lot better at switching jobs, I never stay in one position for longer than 2 years. In some cases, I move internally, so I can learn something new. On other occasions, I need to change jobs.

🚀 Are you looking to level up your engineering career?

You might like my free weekly newsletter, The Curious Engineer, where I give career advice and tackle complex engineering topics.

📨 Don't miss out on this week's issue

Every year I ask myself this one question, “Am I still learning?”.

Are you still learning?

I have seen software developers fall into this trap time and time again. They like being the expert, the go-to person for a particular topic.

The problem is, once you know more than anyone else on a topic, then the chances are you aren’t learning anything new on a regular basis.

I have interviewed candidates before who have 10 years of experience, but when you look at their CVs, they have spent those 10 years in one company using exactly the same tech stack.

In the job I was interviewing people for, we were using .Net Core, AWS and no-SQL databases. Naturally, the candidates had no experience with any of these.

It is difficult to recommend hiring a candidate that is supposed to be a senior when they have less experience in your tech stack than the junior employees.

If they have used these technologies in personal projects, then that does go in their favour, but it doesn’t beat using the technology “in anger” in a real-world setting.

There is a quote in the book 6 months to 6 figures that always comes to mind.

You often hear people say “I have 20 years of experience, I should get paid more,” but in actuality, that person has 1 year of experience repeated 20 times.

If after a year, you aren’t still learning something new at least weekly, then you should seriously consider looking for a new position.

What about job loyalty?

Those not used to changing jobs every few years are probably thinking:

“Doesn’t job loyalty count for anything? Isn’t it good to show that you have been at the same company for the last 10 years?”

Well, actually, no, it doesn’t count for diddly squat.

If you look at the recent lay-offs in software engineering from highly profitable companies such as Microsoft, you will see they did not care about loyalty.

Some of the developers let go had been at Microsoft for over 25 years and were instrumental in developing technology that you use every day.

Clearly, loyalty shouldn’t ever be a factor in your decision-making process.

Microsoft may have laid off people at random based on their salary and nothing else. It is a possibility, but the likelihood is there were other factors at play.

I suspect some of these developers got a little too comfortable in their positions. They were the go-to people, but they weren’t necessarily contributing or learning anything new. Of course, Microsoft could have just picked their names out of a hat.

Either way, loyalty didn’t come into Microsoft’s decision. Companies aren’t going to keep you around if you aren’t a good investment any more.

You need to make sure you are investing in yourself and your skill set if you still want to be relevant to the market when you come to change jobs. Which in most cases, as we have seen, should be sooner rather than later.


🙏 Was this helpful? If you want to say thanks, I love coffee ☕️ , any support is appreciated.


ALSO ON ALEXHYETT.COM

How to Build a Project That Will ACTUALLY Get You a Job

How to Build a Project That Will ACTUALLY Get You a Job

  • 23 June 2023
Trying to get a job as a software developer is hard enough at the moment. But what if you don’t have a computer science degree or any…
5 Hard Truths No-One Is Telling You About Software Engineering

5 Hard Truths No-One Is Telling You About Software Engineering

  • 05 May 2023
Most of the content on software development will tell you how great it is to be a software developer. You can earn a ton of money, you get…
10 Questions You Should Be Asking at your Technical Interview

10 Questions You Should Be Asking at your Technical Interview

  • 21 April 2023
We have all been there, you have managed to get through the interview with some of the senior engineers and answered their barrage of…
AI Can’t Do This - SECRET to being a SUCCESSFUL Software Engineer

AI Can’t Do This - SECRET to being a SUCCESSFUL Software Engineer

  • 07 April 2023
AI is advancing rapidly and it is now able to write pretty decent code if you give it the right prompts. It is not too much of a stretch to…
Backend Developer Roadmap 2023

Backend Developer Roadmap 2023

  • 31 March 2023
There is so much to learn as a software developer it can be difficult to work out where to start and what you should be learning. To help I…
The Comfort Zone is Ruining Your Life

The Comfort Zone is Ruining Your Life

  • 25 January 2023
From the moment we are born, we crave comfort. We cry when we are hungry, we avoid talking to new people, and we pick the easy subjects at…
How to Succeed as an Introvert Engineer

How to Succeed as an Introvert Engineer

  • 16 January 2023
As a child, I was often called shy. I didn’t like being the centre of attention and would hardly speak to others unless I knew them very…
How to Know if Programming is the Right Career for You?

How to Know if Programming is the Right Career for You?

  • 05 October 2022
Software developers, especially working in major cities, can easily earn 6-figure salaries. For those working in the Bay Area with stock…