From Software Developer to Software Engineer
Gergely Orosz pulls together two people’s answers to a question job titles rarely settle: what separates a software developer from a software engineer. Ian Brayshaw draws the line at scope: engineers care about why something is being built and insist on designing before coding, while a developer can be an equally strong coder without that habit. Orosz agrees engineers carry more responsibility, but traces it to experience and curiosity rather than to title.
Hartley Brody’s version stacks three levels instead of two: hacker, developer, engineer. A hacker solves problems without being able to explain how. A developer follows best practices without knowing why they work. An engineer understands the platform well enough to know why the best practices are best practices in the first place.
Fichamento#
- Brayshaw’s framing: engineers “insist upon designing software first,” question what they’re doing before doing it, and stay involved through every step of a project rather than just writing code to spec.
- Brody’s three-tier framing: hackers produce working solutions they can’t fully explain afterward; developers apply best practices they’ve heard from others without understanding the reasoning underneath; engineers understand both the practices and the platform-level reasons behind them.
- Orosz’s own addition: the engineer/developer gap is mostly a function of experience and curiosity, not innate skill. Repeatedly asking “why” while building and learning from each iteration is what produces engineers over time.
- The suggested path: take a problem, code a solution, understand it, learn from it, then repeat with a bigger problem. Orosz frames the transition from developer to engineer as the accumulated result of that loop rather than a title change.
