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