Developing Technical Taste

Sam Schillace is the founder of six startups, including Writely, which was acquired by Google and became Google Docs. He served as the VP of engineering for Google Maps. He is currently the the CVP and Deputy CTO at Microsoft.

I love the way Sam talks, his words flow smoothly and you can easily capture what he's saying. Hearing him talk about the creation of Google Docs, his thoughts on AI, and his advice for future software engineers was so compelling, I had to capture some of his ideas down.

Below are notes from his chat on First Round Capital, Developing technical taste: A guide for next-gen engineers

lesson on market timing

  • the best time to act on an idea is when it feels uncomfortable and challenging due to the early times
  • the things that are worth doing are really uncomfortable
  • JS was buggy and cloud infra was nonexistent when sam was developing Gdocs
  • don't wait till things get easier, by then you lose the first mover advantage and there's more competition
  • engage with difficult problems early, criticisms on AI today are engineering problems to be solved

What is technical taste?

  • a "bag of heuristics" you've collected over time to make accurate technical judgements on new things
  • how? look at your past experiences and develop a sense of what works and what doesn't
  • it's a clearly articulated set of principles that's iterative, i.e. for space X, they know what they're optimizing for, the cost to get a pound into orbit, chipping away at all the things.
  • it's good judgement about how they approach technical problems and decide what to optimize for and what to ignore, and how the tech is going to work, and not distracted by all kinds of extraneous stuff.
  • use your technical taste and fail early rather than late, this way you can course correct and iterate
  • don't be a pessimist, be optimistic and make a lot of mistakes

ask "What If" questions

  • have a "what if" mentality, exploring possibilities rather than being defensive, and focus on "why not", why this or that wouldn't work
  • a healthy team embraces new ideas and experiments, engages in constructive arguments on potential solutions, and openly collaborate
  • ask "what if we tried this?" more

advice for future engineers

  • cultivate playfulness and curiosity
  • you get the most value from messing around, playing with things, experimenting and following your nose and doing stuff that you don't know why you're doing it, because it's just interesting to you
  • focus on breaking complex problems into simpler parts, solve the minimal thing
  • don't be attached to technical skills, emphasize on problem-solving skills and
  • learn quickly and adapt to change

building a winning product

  • prioritize user convenience and speed over feature completeness
  • continuously refine the product by listening and talking to customers
  • avoid feature wars, focus on your unique value prop rather than matching competitor features