Common Questions

Is Software Engineering a Good Career?

We all work a lot during our lives. But if we’re going to work our entire life, shouldn’t we do something that makes us happy? Let me introduce you a career you might not be expecting: software engineering.

So, now you’re probably wondering if software engineering is a good career. Maybe you’re on your path learning how to program. Or maybe you’re not happy with your current job and decided to take a look out there to see if you’d find anything different. Whichever reason brought you here, you’re lucky: We’re talking about the pros and cons of a software engineering career.

First, the Short Answer

All right, before I discuss whether software engineering is a good career, I need to give a disclaimer. The answer to any type of question asking “is career X a good one?” is very much based on how happy one can be doing that kind of job.

Laptop next to succulent
Photo by James Harrison on Unsplash.

So, the short answer for this question is yes, of course software engineering is a good career. We wrote a whole post about happiness among software engineers. And, yes, you can correctly presume I’m happy doing so as well. Thank you for asking.

To back up this short answer, we can look at some short details about what software engineers can expect during their career:

  • Higher-than-usual salaries
  • Competitive and very creative perks
  • Overall happiness in the job
  • Job security
  • Possibility of working from home
  • Higher quality of life

And this list is only scratching the surface of what you have to look forward to with a software engineering career.

Before we get into this list in more detail, I’d like to state that there are also some drawbacks, which we’ll look into later. If only we could find a perfect job, don’t you think? Well, that’s just not possible. But, hey, a software engineering career is a pretty nice deal. Just keep reading to know more about it!

Why Software Engineering Is a Good Career

As you read in the previous section, software engineering is probably one of the best careers out there. Yeah, guilty as charged: I’m completely biased saying so. But data won’t lie. Check this out!

Software Engineers Tend to Have High Salaries

Regarding my claim that software engineers have higher-than-usual salaries, I can provide some data to back it up.

As an example, let’s look at Portugal, where I’m from. One important detail here is that salaries in Portugal may not seem high compared with other countries in Europe because of cost of living differences—but software engineers are actually among the highest-paid workers in Portugal. So, we’ll also look at software engineers’ salaries in the UK and US to see that software engineers truly do tend to have higher salaries.

The minimum salary in Portugal, which is paid 14 times a year, is 665 (almost $800 at $1.20/€1). For your first software development job, you can expect a monthly salary of about 1,000. And within three years, you can see that monthly salary doubled. But in order to get that salary boost, you’ll probably need to jump to another company in between. Loyalty is not properly rewarded in the software engineering world. Senior engineers (let’s say with 10 to 15 years of experience) can come up to salaries up to €4,000 or even higher, depending on the company.

With more money in your pocket, you can get a better life for yourself. You can also capitalize on your skills to make it even higher by side hustling. Once you prove your value, you have the power to negotiate new salaries or opportunities.

In countries like the UK, you can easily find an entry-level software engineering job with an annual salary of around £40,000, which is approximately $56,000 (at $1.40/£1). Senior engineers in the UK can get offers around £80,000.

And when we look at the US, a junior software engineer can expect an average offer of $62,000 to start their career. Data differs in this regard, with some websites projecting an average starting salary of $70,000. Still, the reported salary for a senior software engineer at the peak of their career can easily be around $140,000.

Employers Offer Competitive and Creative Perks

The software engineering industry is still young. And that’s important to keep in mind for this next benefit of a software engineering career: a lot of perks that are both competitive and creative.

Salary isn’t the only thing that moves software engineers. Of course, money can solve a lot of problems, but if you don’t have the time to waste it, it doesn’t matter if your salary is $50,000 or $500,000.

In that regard, and in order to try to retain employees, companies started to offer benefits that have now become more or less standard, such as

  • Health insurance
  • Paid time off
  • Sabbaticals
  • Reduced mandatory hours of work per week
  • Gym memberships

But in some companies, you can expect wilder benefits. These include

  • Nap rooms
  • Gaming rooms with pool tables, arcade machines, and PS4s with FIFA to play against your coworkers
  • Free coffee, snacks, and fruit and, sometimes, free beer (only on Fridays, though, since we can’t work drunk)

If companies don’t offer ample benefits, employees are willing to leave quickly if another organization comes and offers them $10,000 on top of what they currently are making.

The Job Is Relatively Secure

Padlocks on orange chain link fence
Because of high demand, software engineers can enjoy a certain level of job security. Photo by Jozsef Hocza on Unsplash.

A developer’s job security is actually one thing that is not quite so straightforward. Just because you’re a software engineer doesn’t mean that you can’t or won’t lose your job. If you don’t deliver things or if you do something that damages the company, your employer will have to let you go. That’s just how it works.

But the good news is that you can find another job quite easily. I often use this expression that I think really sums up the software engineering job market: “There are hundreds of tree branches for only one monkey.” If you’re not happy with one, just jump to the next. If this one breaks, another one is waiting.

You Have the Possibility of Working From Home

Working from home has started to become ubiquitous because of the COVID-19 pandemic. There were some companies that already had this remote work thing going on, but now it’s more generally accepted. As a software engineer, all you need to do your job is an internet connection and a laptop, which your employer will probably provide (at least, that’s what happens here in Portugal). And that means you can work from home or, if you’re an adventurous person, from anywhere in the world as a digital nomad. Just make sure your company allows you to work from different time zones.

Software Engineers Maintain a Higher Quality of Life

And to finish with the overall perks of being a software engineer, you’ll get an overall higher quality of life.

This is as straightforward as it could be: With more money in your pocket, you can get a better life for yourself. You can also capitalize on your skills to make it even higher by side hustling. Once you prove your value, you have the power to negotiate new salaries or opportunities.

Oh, and that reminds me of something. Exposing yourself to the world and showing yourself through a blog, for example, is always a good idea to stand out and, well, to get better opportunities in everything I just stated. Just let your creativity fly!

Not Everything Is Roses, Though

As I stated early on, there’s no such thing as the perfect job. Well, it can be the perfect job for you, but it certainly has some defects. It’s nothing to worry about, but let’s talk about them a little bit.

Software Engineering Is Geographically Centralized

Working from home has started to become ubiquitous because of the COVID-19 pandemic. As a software engineer, all you need to do your job is a laptop and an internet connection. And that means you can work from home or, if you're an adventurous person, from anywhere in the world as a digital nomad.The first negative point about a software engineering career that comes to my mind is that you might not find a job in your residence area.

Software engineering opportunities tend to be very centralized in some specific cities.

For example, in Portugal, you might find a job quite easily in Porto or Lisbon. But if you try a city that’s not so well known even among Portuguese people, like Penafiel, you might have to wait a long time before you get anything.

Managers Tend to Lack Technical Knowledge

Another problem of this career is the fact that a company’s management tends to be non-technical. Although this is slowly changing, it can be a source of frustration since expectations about what a software engineer can do are often unclear or completely unreal. It often happens that, because they lack technical knowledge, managers demand features that are just not feasible.

It’s Hard to Keep up With the Evolving Industry

As I said before, the industry is very young. It’s evolving so quickly that it’s hard to track new trends and learn new things in a decent amount of time. Some of your free time should be dedicated to learning new skills and getting up to speed with new technologies and ways of doing things.

Many people think “9 to 5 is my work time, and after that, I rest.” That will, for sure, be a major block for you if you think this way and work in this industry. Don’t get me wrong, though. Companies do expect you to learn outside working hours, but they do not have the right to demand that you do so. That’s completely up to you.

You Have to Deal With General Bureaucracy

On the other hand, large companies tend to establish a lot of bureaucratic processes for people to follow, arguing that they’ll make things easier for everyone. But as these processes pile up, they are often forgotten and are never revisited to either improve or remove them if they’re no longer needed. This is a blocker to productivity in a job that requires us to be in focused mode a long time. And, yes, I’m including unnecessary meetings into this point. It happens a lot, unfortunately.

What About “It Can Go Both Ways” Arguments?

Of course, there are some aspects to the job where whether or not you think software engineering is a good career can really go both ways and depends more on your personality.

Rubiks cube near laptop
Photo by Alvaro Reyes on Unsplash.

Autonomy is one thing that comes to mind. At first, it doesn’t seem like it would make sense to include this point as a con. Who doesn’t like some autonomy to do what we want, right? But you guessed it: It’s not that easy.

On the one hand, I see more and more people complaining that their bosses shouldn’t micromanage their work and things like that. Don’t get me wrong—I don’t like being micromanaged, either. I like to know what I have to do until when I have to do it and then organize myself in order to deliver everything when it’s supposed to be delivered. It seems quite simple.

But on the other hand, there are people that simply cannot cope with the fact that they can do what they want as long as they deliver things on time. Not everyone can recognize this characteristic in themselves, but it’s easily visible for other people. There are people that just need that extra guidance.

But even if you get a boss who micromanages you when you prefer autonomy, you have the freedom to change your situation. The good thing about a software engineering career is that since demand is high, you can always push for what you really want, be it by bargaining for better conditions or finding another job.

So, Is Software Engineering a Good Career?

OK, you should have been expecting this. When you ask the question “is software engineering a good career,” the real answer is a solid “it depends.” Yes, I know: You’re tired of hearing this kind of answer. Well, a straight yes or no would be very inaccurate, as there are many factors that influence the answer.

When you ask the question "is software engineering a good career," the real answer is a solid "it depends." But I definitely suggest you try it if you think you're up for a challenge and a new world of possibilities.

I ended up being a software engineer because I spent too much time playing video games. I learned new things so easily that I didn’t require any home study time. Still, my colleagues envied my grades. If this is a good reason to follow this career, what’s your reason for not trying?

So, is software engineering a good path for you to follow? I wouldn’t recommend it if you can’t find a job near home and don’t feel like moving or wasting time commuting. And I wouldn’t recommend it if you don’t like computers or screens, of course. But I definitely suggest you try it if you think you’re up for a challenge and a new world of possibilities.

This post was written by Pedro Barbosa. Pedro is a technology addict who has been working in the software engineering world since starting his career in August 2017. A front-end developer, so far he’s mastered Angular 2+, JavaScript, and TypeScript, and he recently started working with React. And you should expect his list of competencies to keep growing in the coming years, as he also loves to learn.