Coder, Developer, or Engineer of Software

AI will supplant coders, but not software developers, as the latter possess a sense of ownership over the software and work on it from the perspective of end users as human beings.

Software Engineer and Principles

Software engineers are the scientific version of software developers. They address more abstract architectural problems through the lens of engineering principles--almost as if they were building a rocket--including:



  • Planning and Design
  • Efficiency and Optimization
  • Reliability and Risk Management
  • Scalability and Maintainability

Only a full-stack programmer can be a software engineer because, by definition, they understand all the parts that work together to deliver the result.

Jack of all trades, Bad?

Do note that software engineers know much less than developers in certain parts of a software project. That’s why we need both engineers and developers in all kinds of modern constructions, whether we are talking about bridges, skyscrapers, or software systems. I love how this Reddit line articulates it:

One could say that while software engineering goes wide, software development goes deep.

Ref. https://www.reddit.com/r/SoftwareEngineering/comments/uclqgl/difference_between_a_software_engineer_vs/