Thoughts on software engineering.
-
"Programs must be written for people to read, and only incidentally for machines to execute." - Harold Abelson and Gerald Jay Sussman
-
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” - Martin Fowler, "Refactoring: Improving the Design of Existing Code"
- As much as possible choose readability over performance. (increase productivity of developers not machines.)
- Really need that performance boost? Think twice if it's really worth it to sacrifice readability.
- Rewrite it if you need long comments to make it readable.
- If you can't properly name a method or a variable, then you don't understand what it is.
- Respect other's preference of solving a problem. Not everyone thinks the same way as you.
- If you don't know, ask away!
- Company goal above all.
- Do not panic. Breath, think, and consult before making any critical actions.
- Leave work at the office.
- Build tools to make your everyday work easier.
- Trust your co-workers. They know their shit.
TODO: Organize and simplify this.