A list of values engineering teams should live and work by
Simple Code is Elegant
Tidy, readable, simple code is paramount. It makes reviewing PR easier, it makes coming back to the code after 18 months easier, it makes your peers like you more.
Constructive conversations over background criticism. Call it out when you see it (even if in other parts of the company). If you feel the need to complain, make a difference and give feedback instead.
During busy times, when you are deep in code and stress is mounting, it is easy to forget to Treat Others as You Would Expect to be Treated and be “approachable”. Others should not be worried about talking to you. Definitely no jerks, even if they are geniuses. Adjust your technical language when speaking to non-technical staff.
Appreciate that old code was written in a different time. Understand the problem that is being solved. Understand the reason why a decision was made, a person acted in that way, why there is a sleep(5s) before negative attribution takes hold.
Kind, honest, helpful feedback: invite it, give it. RFCs are great for fleshing out ideas. Peer feedback is great for self improvement.
No Blame Culture
Everybody makes mistakes. “Let’s fix it and put tools and processes in place to ensure it doesn’t happen again”. Openly discuss mistakes in retrospectives and post-mortems.
Someone who can do something sensible without direction. Ability to get stuck in, being willing to try things you don’t know immediately. Know not to use something just because it is shiny or equally when to stop optimising.
Own Your Code
No throwing it over the fence. You are responsible for all the code you write, forever. We have an #alumni slack channel!
In it Together
You are part of a team, do not endure long-term suffering in silence, ask for help. Remember, everyone is willing to help carry the load. We are all in it together.
If you see some code that could be improved, a log/metric that could be removed (or added), a missing unit test, and old import etc, fix it and open a new PR. If you see a an issue with another member of the team, remember it, for when it is time to give feedback.