Over the past two decades, the rapid growth of big tech companies has made software engineering one of the most sought-after careers in the modern job market. But is it the right choice for everyone?

Whether you’re just starting or considering a major career change, let’s explore the factors that make software engineering an attractive, or challenging, career path.

What makes software engineering a good career

I have worked professionally as a software engineer for 7 years now and in my experience software engineering is a great career. There are quite a few reasons I believe this.

High job satisfaction

The most important factor, in my opinion, as to why software engineering is a good career is the sheer joy of creation. Using a computer to build stuff is truly exhilarating. The power at your fingertips when writing code is unmatched. With practice, the speed at which you can craft something from thin air feels akin to magic. I strongly believe that to maintain a solid career over the long term it needs to be deeply satisfying. You need something to drive you every day to come back and give your best.

Well-paid roles

Another reason in favour of it being a good career is sort of an obvious one; it pays well (for the most part). Generally speaking software engineering as a career has two things going for it that make it one of the better-paid jobs; the high barrier to entry and the high demand for the skills. As our world becomes more and more dependent on technology, the need for software is ever-growing. Also, it’s fairly well known that software engineering is not easy, and as a result, there is a relatively short supply of competent software engineers in relation to the market demand. These conditions tend to produce a beneficial arrangement for employees in such careers.

Work alongside intelligent peers

One of the great things about working as a software engineer is you are often exposed to very bright minds. This has the benefit of providing constant learning opportunities throughout your working day. Over time this growth can accelerate your career as you build up a wealth of knowledge, absorbed from these types of experienced individuals.

Remote work

Almost everyone can acknowledge the benefits of remote work and the flexibility it injects into your life. Removing the commute from my week has had a multiplicative effect on my overall happiness.

Software engineering by its very nature tends to lend itself well to remote work, even long before the 2020 Covid pandemic.

Removing the need to live in high-cost-of-living areas in large cities where company offices exist is a huge reduction in personal expenses, and can contribute to greater life satisfaction.

These are just some of the reasons I believe software engineering is a good career, but there are many more I have not mentioned.

What makes software engineering a challenging career

No career is without its cons, so it’s only fair I give coverage of some of the challenges that you may face if you are to enter the software engineering field.

Potential for long work hours

Depending on the company and team you join, there is of course a potential for long hours. This is not necessarily unique to the software engineering field, but it can be pervasive if you find yourself working in a high-pressure environment, especially if the team is part of an on-call rotation for maintenance of a live service.

I have had my fair share of weekends and nights worked to meet deadlines or handle customer incidents. So just beware when entering this field it would be wise to carefully consider the company and team you are joining and which way their work/life balance tends to lean.

It’s a very competitive field

This point might seem contradictory to my earlier statement of the fact that there is a short supply of competent software engineers available. But the key word here is ‘competent’. When I say that it’s a very competitive field, I am referring to the fact that new roles posted online, especially for big tech companies, receive a huge number of applications. When starting out it’s very difficult to differentiate your CV from that of the other candidates.

Getting your first job as a software engineer is by far the hardest step. Once you have built up relevant experience and become a competent engineer your skills will most likely be in demand and should make finding subsequent roles easier.

With the recent changes in the job market, due to increased costs of capital and the large number of layoffs in previous years, it has become increasingly challenging to get a role in the field. But I would not let this dishearten you if you are interested. It may take time but once you eventually break into the field, it can become an extremely gratifying career.

Some roles require a degree

This is becoming less common as time goes on, as companies realise it’s not a critical credential for hiring a candidate. But you will still find job postings, again likely from big tech companies, requiring a degree in computer science. Certainly, it is still possible to get a job in these companies without one, but it does provide some extra challenges.

AI

Finally, I want to mention one factor that has been causing a lot of stir recently with regard to software engineers; AI. A lot of people are worrying that AI is going to replace software engineers and that joining the industry could be a mistake for your career. I would suggest taking an optimistic view of this concern. In my opinion, the world is only going to increase its demand for software, and while AI will most likely change how software engineers do their job, I still believe for the foreseeable future there will continue to be a growing demand for software engineers at the helm.

If anything I believe that the extra fear caused by AI may cause a temporary lull in people trying to join the field, and thus make it a little easier for those who do persevere, by reducing competition.


I certainly believe that software engineering is a good career path to choose, with immense growth opportunities across a wide array of industries. Every industry now involves software to some degree, and I believe this is only going to continue to grow. So assuming you have a deep hunger for learning and an inquisitive mind for problem-solving, you could make worse choices than having a crack at becoming a software engineer.