Working as a software developer

  • Realize that software is never done because customers find more uses for it and request more features. So, the code keeps getting bigger and more complex. And also it is never done by one developer alone. The aggregation results in complexity and in turn bugs, so plan for failures and build in issue tracking, logging and error handling.
  • Develop the skill of reading code to understand what it does and how. Write code that is easier to read and hence to modify.
  • Modularize the software into subsystems, layers or modules based on small chunks of functionality. Develop in small iterations and apply repeatable unit tests to ensure they work as expected and stay decoupled.
  • Write for people first and the computer second. It’s better to be clear than to be clever. Impose good version control.

Full post here, 8 mins read