The short answer
A software developer builds software: they take an assignment, write the code and deliver a working feature. A software engineer does that too, and is also responsible for the system as a whole. They decide how the parts work together, which trade-offs get made, and how it keeps working when more users, more data or more developers arrive.
In practice the two titles blur. One company calls everyone an engineer, another calls everyone a developer, and programmer shows up for the same role as well. So the title tells you little. What someone decides tells you everything.
What does a software developer do?
A developer turns a request into working code. A new screen, an integration with a payment provider, a bug that needs fixing. The work usually starts with a well-defined task and ends with code that passes review and does what was asked.
A good developer knows their language and framework inside out, writes readable code and tests what they build. How the bigger picture fits together has usually been decided before they start.
What does a software engineer do?
An engineer looks beyond the task. Before any code gets written, they ask whether the feature belongs in this place, what happens when traffic grows tenfold, and who will have to maintain this in two years. They choose the architecture, the database and the way systems talk to each other, and weigh speed against maintainability and cost.
The word engineering is chosen on purpose. As in civil or mechanical engineering, it means designing within limits: a budget, a deadline, requirements for security and reliability. An engineer is judged on whether the system holds up, including the things nobody asked about.
The difference at a glance
| Software developer | Software engineer | |
|---|---|---|
| Core of the work | Building features and delivering code. | Designing the system those features fit into. |
| Starts from | A defined task or user story. | A problem, with the constraints around it. |
| Decides on | How one part gets built. | Which parts exist and how they work together. |
| Looks ahead to | Shipping this feature. | Scale, security and maintenance over years. |
| Responsible for | Working, tested code. | A system that keeps working as it grows. |
Why the difference matters more since AI
Until recently, writing was most of the work. A developer who wrote code quickly and without mistakes was worth the most, and the difference with an engineer was a nuance.
AI turned that around. A language model writes in seconds what used to take a developer an afternoon. What the model doesn’t do for you is decide what should be built, notice that a query that looks fine fetches the entire table on every page, and decide what is allowed to go live. That is exactly the engineer’s job.
AI made writing code almost free. What’s left, and what you pay for, is judgement about that code.
Hire someone today who only ships code fast, and you’re hiring the part a model already does. The value sits in design, review and responsibility for what happens after launch. What that looks like when you build with AI is covered in harness engineering and vibe coding vs AI-assisted coding.
Which one do you need?
It depends on how much is already settled.
You have a team and an architecture in place
Then you're looking for extra hands on well-defined work. A developer who knows the framework and follows your conventions is what you need.
You're starting something new, or the current system is straining
Then you need someone who makes the choices and can explain them: which structure, which integrations, what now and what later. That's engineering work.
You built something with AI and want to go live
Then someone has to assess code that nobody wrote. That takes more judgement than typing.
In an intro call, ask how they would choose between two solutions, who checks the code before it goes live, and who is reachable when something breaks. The answers tell you whether you’re talking to a developer or an engineer.
And a software architect?
A software architect is an engineer who focuses mainly on the design of the whole: the big decisions about structure, technology and integrations, often across several teams or systems. In small teams a senior engineer does that work alongside building. In larger organisations it’s a role of its own.
Conclusion: the difference is responsibility
A developer delivers code, an engineer answers for the system. Whatever title is on the CV, the difference shows in the work. And now that AI does most of the writing, the engineering part is the part you pay for.
What is the difference between a software developer and a software engineer?
Is a software engineer higher than a developer?
What is the difference between a programmer and a developer?
Do I need a developer or an engineer?
Does AI change the work of a software engineer?
What is the difference between a software engineer and a software architect?
Need someone who thinks about the whole system?
Our senior developers build with AI and do the engineering work alongside: design, review and support after launch. Based in Rotterdam.