Every Software Engineer Must Know This

Here is a list of things that you must know in order to build a high quality software.

  1. Your tools. Your favorite editor or IDE
  2. Your programming language and ecosystem around it. You should know this to the best of your abilities. I know it is nearly impossible to know everything but apply yourself to learn maximum there.
  3. The Twelve Factors - if your ever want to build any software that leaves your personal machine.
  4. XDG and please stop making all this crap in the user home directory.
  5. Coding standards.
  6. Don't repeat yourself
  7. Keep it simple, stupid
  8. What is important and what is not. This is also called a good judgement. It is critically important to understand what you can do and how to do it. For example, what you should test or what you can skip. Or when to rollout updates. Things might be different from one scenario to another one.
  9. If you are building the CLI

To be continued...