I noticed today that the reflection on the metallic sliders in the iPod app actually change as you tilt the phone from side to side.
One of my favorite interview questions for engineering candidates is to tell me about one thing they liked and one thing they disliked about the engineering culture at their previous company. Over the course of a few hundred interviews, this interview question has given me a sense of what good engineers look for and what they’re trying to avoid. I also reflected back on my own experiences from the past six years working across Google, Ooyala, and Quora and distilled some things that a team can do to build a good engineering culture:
1. Optimize for iteration speed.
2. Push relentlessly toward automation.
3. Build the right software abstractions.
4. Develop a focus on high code quality with code reviews.
5. Maintain a respectful work environment.
6. Build shared ownership of code.
7. Invest in automated testing.
8. Allot 20% time.
9. Build a culture of learning and continuous improvement.
10. Hire the best.