A great Engineering Culture is critical to the success of a tech business.
While I think a company's Engineering Culture is fostered by our daily actions and behaviour rather than following a bunch of written rules, at Product ML I felt there were a few principles we all breathed, and were worth sharing.
And there The Shortest Programmer Handbook was written:
Be a good citizen
- Make sure you leave the codebase in a better state than you found it - Boy Scout Rule.
- Focus on readability. We spend 90% of our development time reading others' code and only 10% writing it.
- Test your code, so your fellow developers can play safely and confident.
- Review others' code thoroughly and provide constructive feedback. Facilitate the CR experience by planning your commit messages, providing context, and using code formatters.
Aim for production quality code
- Avoid broken windows, prevent the codebase from rotting.
- Be lean. Don't push dead code, commented-out code, unnecessary comments, or code you think you might need in the future but you don't need yet.
- Keep it simple. Less is more. Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.
- We are DevOps and Continuous Delivery practitioners. Make sure your changesets are ready to go live at any moment, and Automate All the Things!