When it comes to job titles of people who write code, the most common ones are software developers and software engineers. But what is the difference between the two? Ian Brayshaw argues that the two should not be treated as synonyms:
Engineers see the bigger picture. They recognise the importance of understanding how a business works, as well as knowing why they are building something. They will insist upon designing software first so that they know what the final outcome should be.
An engineer is not necessarily a better coder than a developer, but they do make sure that they are involved in every step of the process and they will question what they are doing before doing it.
I do agree that engineers take more responsibility then developers, however I argue that this mostly down to experience, and a drive to get to new levels of understanding. Curious people that keep asking “why” while producing software and learning more over time will inevitably become engineers.
A hacker can come up with solutions, but maybe they can’t look back after they’ve finished and realize how they came up with the solution. (…)
At some point, you level up and become a developer and a developer understands best practices. They’ve heard other developers say things like “you should put your scripts at the bottom of the webpage” … and you use those best practices to craft solutions but you don’t really understand beneath the best practices, beneath the abstractions. (…)
An engineer is someone who can get things done, craft a solution — they understand the best practices, but they also understand why they’re using the best practices that they are. They move into an understanding of the platform as a whole.
Getting things done and crafting solutions are two key qualities that engineers practice daily. And there is no better way to get there then by practicing these two. Take a problem, code a solution, understand it, learn from it - rinse and repeat with a bigger one.
Following this method, after many-many iterations one gets to being able of comfortably tackle all sorts of complex problems. When getting here then congratulations - you have made it from developer to software engineer.
Featured Pragmatic Engineer Jobs
- Founding Engineer at Complete. $160-205K + equity. San Francisco.
- Senior Backend Engineer, Platform at Jock MKT. $140-200K + equity. Boston or Remote.
- Software Engineer at Harver. €55-90K. Netherlands.
- Founding Engineer at Zählerfreunde. €70-90K + equity. Munich or Remote (EU).
- Senior Frontend Software Engineer at Bound. £70-100K + equity. Remote (EU).
- Software Engineer at Bound. £40-65K + equity. Remote (EU).
- DevOps Engineer at Teller. London.
- Engineering Manager at Element. £90-125K + equity. London.
- Engineering Tech Lead at Wise. £95-130K + equity. London.
- Senior Full Stack Engineer at Calliper. £60-90K + equity. Remote (EU).
- Software Engineer at Keeper Tax. $140-185K + equity. San Francisco
- Senior Product Engineer at Causal. $150-250K + equity. Remote (Global).
The above jobs score at least 10/12 on The Pragmatic Engineer Test. Browse more senior engineer and engineering leadership roles with great engineering cultures, or add your own on The Pragmatic Engineer Job board and apply to join The Pragmatic Engineer Talent Collective.
Want to get interesting opportunities from vetted tech companies? Sign up to The Pragmatic Engineer Talent Collective and get sent great opportunities - similar to the ones below without any obligation. You can be public or anonymous, and I’ll be curating the list of companies and people.
Are you hiring senior+ engineers or engineering managers? Apply to join The Pragmatic Engineer Talent Collective to contact world-class senior and above engineers and engineering managers/directors. Get vetted drops twice a month, from software engineers - full-stack, backend, mobile, frontend, data, ML - and managers currently working at Big Tech, high-growth startups, and places with strong engineering cultures. Apply here.