Using AI

Expertise and Outcomes

  • AI tools amplify existing expertise rather than replacing it. Start with a concrete problem, not an AI initiative.
    • AI is a tool, not the strategy.
    • AI projects inherit ordinary software-project risks and add model and data uncertainty.
    • Domain expertise is an important prompting skill. It helps you spot suspicious output, ask codebase-specific questions, suggest better approaches, and push the agent toward simpler solutions.
  • AI speeds up generation, not necessarily throughput. Bottlenecks are often upstream: unclear scope, missing context, legal/product/domain ambiguity.
  • Typing faster was never the main software bottleneck. Software is mostly decisions, tradeoffs, and understanding.
    • Use AI to reduce friction around the bottleneck, but first identify the real bottleneck.
  • Measure actual adoption and complete outcomes. Demos, license purchases, token use, and generated output are not evidence of value.
  • As models become more capable, the bottleneck shifts toward knowing what we want and knowing how to verify that we got it.
  • In a world of abundant, near-unlimited coding capacity, human taste becomes most of the game.
  • Generalists might increasingly outperform specialists.
    • The skill you want to build is the ability to understand problems and have some concept of how to solve them.
  • Using AI as a team is very different than using AI for you.
  • Ultimately, we are the agents. Use these tools to amplify your own abilities. Give them direction, not simple questions. Engineer feedback loops to make them more reliable. Build systems that let you focus on what matters.

Thinking and Communication