
There is a belief that all software engineers are the same. Software engineers split towards different paths as they progress in their careers. In this article, I’ll go over the different types of software engineers that I’ve seen. We’ll go over the pros and cons of each and more importantly, which one should you be?
The Passionate Software Engineer
As a passionate engineer, you are driven by the desire to create innovative application with the latest technology. You love to code and will always dig deeper into the source code of how things work. To make code readable and run efficiently is a high priority for you.
This type of engineer is highly technical and is interested in the small details within the application. As a passionate software engineer, you’re able to learn more in a shorter amount of time due putting in more time and energy.
I’ve known a few software engineers like this and they are able to accumulate and develop software engineering skills in a span of 3 or 4 years compared to what most software engineers do in 10 years.
Additionally, passionate software engineers are able to pick up new technologies quickly because they have a high motor for being up to date on the latest framework development, such as React and Redux. They tend to spend their free time on programming blogs and starting new projects to try out new technologies.
Above all, passionate programmers are highly self-motivated simply because they love the process of learning code. They aren’t programming for the sake of money: their motivation comes from within and learning new technologies becomes very natural for them.
The problem with wanting to learn new tech is that you interest constantly shifts to the new and latest framework. You’ll start a bunch of new project to try these frameworks out, but none of them will never be completed. You become distracted with the details and lose the bigger picture.
You’ll swim far, but never dive deep.
The thing is, passionate programmers have an immense drive to pick up new frameworks, but their energy is all over the place. If this is you, consider building some structure around your learning. How would this new framework help you land you a better job? Is there high demand for this framework?
The Practical Software Engineer
Unlike the prior, the practical software engineer sees programming as a skill and how these skills help them achieve their goal. These programmers see coding as a means to an end. While that sounds negative, practical programmers are clear on when they are learning new tech. Is there high demand for programmers that know this framework? How will this new framework solve what software company needs?
Many practical engineers previous had jobs in other fields. One of my coworkers was a former teacher and he wanted to learn to program simply to get a higher paying job. In real world situations, learning to code doesn’t come from passion, but as a means to an end and that’s ok.
Practical engineers oftentimes do not spend most of of their free time doing coding projects like contributing to an open source project or creating their own side projects. To them, coding is a tool to solve problems and allows them to work in a high paying job.
Which one should you be?
There’s no right or wrong answer. A passionate software engineer isn’t better than a practical one and vice versa. However, it’s important to incorporate characteristics of both types of software engineers.
Don’t be so passionate about coding that you forget why you learned how to code in the first place. Your curiosity about new technology can distract you from frameworks that have been around for years and can get you a job quickly.
And don’t learn how to code for the sake of money. Software engineering is constantly evolving and if you aren’t willing to keep your skills sharp, you’ll fall behind of the pack.
-Bao
Related Articles
Software Engineering Skills Every Programmer Must Have
Is Becoming a Software Engineer hard?
