Shipping Greatness: Practical lessons on building and launching outstanding software, learned on the job at Google and Amazon
Chris Vander Meyamazon.com
Shipping Greatness: Practical lessons on building and launching outstanding software, learned on the job at Google and Amazon
Shipping software is unlike most other kinds of jobs because it requires precision technical communication, deep knowledge across a host of disciplines, and fortitude.
I honestly believe Eric Schmidt both espoused and lived to this principle. I heard him say, “Thank you for ignoring me; that’s why we hired you.” Sadly, he said this about someone else — I didn’t have the guts to ignore Eric because he was really much, much smarter than I.
This strategy accomplishes what I need it to accomplish. It speaks to the type of product IMDb is going to offer and why the company is uniquely positioned to provide this service. It speaks to competition and how IMDb will be different, and justifies why IMDb should target a specific segment. It’s brief and to the point. It’s not excessively speci
... See moreThe design problems I ask are all very interesting to me; great candidates get excited about the problem with me and can explore the problem space.
the best way to discover edge cases is by “taking a slow walk through the functionality.” The slow walk is a great way to approach the problem because you really need to take time to reflect creatively on ways that users will break your software or use it in a manner other than you intended. As you take this slow walk, write down all the potential
... See moreIt’s important not to say, “Make the login button less prominent.” We also didn’t say, “Move the ‘What’s your favorite team?’ promo up to the top.” Rather, we empowered the design team to make a collection of optimizations based on our prioritized business objectives, which we clearly stated.
Your strategy is a rough plan to win over your target customers given the unique assets of your company and the pressure from your competitors. That’s it.
When all the major work on a project is done and the team is almost exclusively fixing bugs, I stop using the schedule. Instead, I use the bug list and a bug burndown chart.