Software engineering is different from programming

“All software engineers can program, but not all programmers can engineer software.”
  • As a software engineer, you must understand the problem fully, the limitations of the solutions offered as well as the privacy and security implications.
  • Sometimes the solution is not writing code but combining existing programs, educating users, or preempting future problems.
  • Your code must be readable, easily extended, work well with other programs and maintainable, with clear error messages and error logging, backed by solid documentation for easy debugging.
  • Well-engineered programs will work in many different environments, differently-resourced devices and across time zones, even on limited memory and processing power, backed by a comprehensive test suite.
  • Find and use good tools to shorten feedback loops, for code static analysis, type safety, to deploy, debug and measure performance

Full post here, 11 mins read