Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
[RFC] Engineering guiding principles #41
This tries to make a spiritual successor to the Artsy objc.io as a part of making more of artsy dev culture explicit instead of implicit.
I took a look at some of our larger tech choices and tried to re-frame some of the terms I've used when speaking publicly to be a consistent set of ideals. I need to do a bit more work on declaring that this is something we strive for, rather than perfect being this.
It's worth noting that this is different from the current org-wide culture survey that @williardx is running.
Looks great – I would co-sign it all
Props for writing these down. Reading and reacting, I wonder if inline comments can lead to "consensus" about such a deep topic, but at least you've started the process.
I selfishly would love to incorporate some of the Platform team's principles into this. The most valuable for our work have been:
- "Build for 10x." This helps us decide how much architecture/engineering/planning is too little and how much is too much.
- "Done means done." This makes explicit that we take responsibility for our work product being the right change, performing in production as expected, and being understood and adopted by the necessary stakeholders. I.e., our work is not over when the PR is merged.
To flesh out the idea I had above (also have to give much credit to my mother who always says
"Being nice is nice" or "It's nice to be nice" or however we want to say it.
Behind every piece of code is a human, internal or external to Artsy. Give people the benefit of the doubt. Take the time to understand why they made a decision before making assumptions. Realize that you may come across differently on slack/github than in-person and consider how the person on the other side might respond to what you're saying. There's always a nice way to handle a situation, and we strive for that.
This is great! I like that we have examples and further readings for each section! Minor suggestion that it will help me read with a ToC type of summary on the top, given the # of items we have.
While reading through it, it reminds me of the triangle (quantity-quality-time). Maybe that's worth mentioning, too.
Another principle (from Platform) that felt relevant today as I was reviewing the last and next quarters: "Order matters." I.e., we think carefully about the right order in which to take on big projects. Initial steps can de-risk projects, expose mistaken assumptions, surface feedback, and create opportunities for reuse or other compounding benefits.