5 Skills a Software Engineer Needs in the Age of AI
From Problem Formulation to System Verifiability

Here is what it takes to be a great software engineer in the age of AI.
- Formulate the problem with energy and precision. Express the problem clearly enough that there is no room for ambiguity. Discard irrelevant concepts. Keep the signal high and the noise low.
- Understand as quickly as agents can build. Know what you are working on, why decisions are being made, and what the tradeoffs are. Agents build insanely fast. Do not be a baby with a firefighter’s power hose: raise your speed of understanding and research to match their speed of execution.
- Build for verifiability. Looking at the code is rarely the best use of your time. Build a system that long-horizon agents can develop and test while preserving quality and stability. Human readability of code is becoming a deprecated paradigm; software needs verifiability and taste. Stay in touch with your intuition, and put static and empirical checks at the center of the software development life cycle.
- Explain technical ideas in plain language. Express technical concepts and tradeoffs in words anyone can understand.
- Make meetings useful. Prepare properly. Transfer the critical information to the people in the room quickly, and facilitate the technical discussion. Bonus points if AI helps the meeting do that better.