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 Belfry. $140-180K + equity. New York City.
- Growth Engineer at Causal. Remote (Global)
- Founding Front End Software Enginee at Cradle. €75-160K + equity. Amsterdam, Delft, Zurich
- Senior Product Engineer at PartnerSlate. $100-180K + equity. Remote (Global)
- Site Reliability Engineer at Clarisights. €80-140K + equity. Remote (EU)
- Senior Software Engineer at Clarisights. €80-140K + equity. Remote (EU)
- Software Engineer - Product at loveholidays. £64-108K. London.
- Founding Engineer - Backend at Faliam. $150-200K + equity. US locations & Remote (US, Canada)
- Full-Stack Software Developer at Cutr. €70-120K + equity. Amsterdam, Remote (EU)
- Founding Backend Engineer at Flagright. €75-100K + equity. Berlin
- Founding Engineer at Mentava. $100-250K + equity. Remote (Global)
- Senior / Staff Software Engineer at Mainfold. Boston, MA
- Full-Stack Engineer at Bounce. €40-90K + equity. Lisbon, Remote (EU)
- Senior Software Engineer at Shogun. Remote (Canada, Global)
- Senior Backend Engineer at Gigs. €90-120K. London, Berlin, Remote (EU)
- Senior Frontend Engineer at Gigs. €70-110K. London, Berlin, Remote (EU)
- Engineering Manager, SRE and DevOps at Clipboard Health. Remote (Global).
- Backend Engineer at Paytient. $115-165K. Remote (US)
- Platform Engineer at Roar Studios. Remote (US).
- Head of Product Engineering at NearSt. £100-115K + equity. London.
- Software Engineer at CareerPlug. $130-155K. Remote (US, Canada).
- Full Stack Software Engineer at OpenTable. London.
- Senior Software Engineer at TwinWave Security. $150-200K. Remote (US).
- Principal Engineer at Clipboard Health. Remote (Global).
- Senior Java Engineer at Guestline. €60-84K. Remote (EU).
- Software Engineer - Backend at Bitrise. $100-240K + equity. Remote (US).
- Senior Software Engineer at Gruntwork. $170-203K. Remote (US, Canada, Global).