Who can be a Software Engineer?

Jason Parry
3 min readMay 9, 2020

Welcome to my second of a series of posts where I try to bring you up to speed on the knowledge, skills and attributes required to be a modern software engineer. If you haven’t yet, be sure to read the first post in the series where I talk about what a software engineer actually does. In this post I’m going to be kicking off the journey to becoming a software engineer by looking at what qualities make a person suitable for the job.

As I mentioned (almost incessantly) in the first post in this series, software engineers produce code. There are certain personal qualities that are extremely beneficial to have when fulfilling the role of a software engineer but they may not be what you think. There’s a good chance you expected me to drone on about how software engineers should think logically or be hard-working. Don’t get me wrong, those two qualities are certainly important but I genuinely believe that logical thinking can be taught and hard work is a habit anyone can form. Instead, I believe there are three attributes inherent to almost all good software engineers:

  • curiosity
  • adaptability
  • selflessness

The first attribute, curiosity, ties in with just about all branches of engineering. The desire to know how things work from the basics up is an invaluable attribute to have. By breaking things up (literally or metaphorically) into their base components, you gain an in-depth understanding of the parts themselves, as well as how they work together to create the whole. This is particularly useful for software engineers where there is an increasing trend towards creating small, reusable pieces of code that can be combined to create a system (we’ll discuss this more when we get to some of the technical content). Curiosity also drives an eager-to-learn attitude which leads nicely into the second quality, adaptability.

The software industry is one of the fastest-changing and fastest-growing in the world. It seems every day brings some new and supposedly life-changing innovation to software engineers. To be honest, most of the time it’s just a different way to do the same thing we’ve been doing for years. That being said, there is a constant need for software engineers to familiarise themselves with new tools and methods to do their job. A software engineer who isn’t adaptable will quickly find themselves left behind in this ever-evolving field where each system is likely to be unique.

The final attribute we’re looking at is selflessness. One of the hard truths many people have to face soon after becoming a software engineer is that you don’t get to be a rockstar. Producing code is almost always a team effort. It’s important to take responsibility for your work but, ultimately, you succeed or fail as a team. This means that it’s crucial to put the team and the project ahead of your own interests. Delivery of the system as a team is the ultimate goal and your focus should always be on that instead of receiving recognition for your individual efforts.

If you’re reading this series with thoughts about becoming a software engineer yourself, I’m sure you’ve recognised that you have at least a couple of these qualities. The industry seems to attract a disproportionately high number of curious, adaptable, selfless people. Interacting with like-minded individuals is definitely one of the most rewarding aspects of the job and many of the software engineers I’ve met are wonderful people. All in all, I hope I’ve highlighted some of the key attributes in this industry. In the next post we’ll continue our journey by looking at the qualifications you need to become a software engineer.

UPDATE: The next post in the series is now live where I talk about the qualifications required to be a software engineer.

--

--

Jason Parry

I’m a software engineer. I love all things tech and gaming. For more of my articles and insights, follow me on Twitter at https://twitter.com/JasP_19