Rube Goldberg and AI
One critically valuable skill for anyone working with an AI coding agents is Computational Thinking.
Whether you're a Software Engineer grappling with the fears of eroded job security, a Product Manager shifting to an "AI-first" mindset, or someone just trying to reconcile the dissonance between what people are claiming to achieve with AI and your own results, much of it boils down to Computational Thinking.
It's a skill that will become more and more important as AI takes on more and more of the repetitive pattern-based tasks, quality continues to rise and costs reduce.
Computational Thinking is about understanding how a computer would solve a problem. It's about breaking things down into small, repeatable steps that have simple inputs and outputs and knowing how to order and arrange those steps to get the results you want.
Whether it's AI, a Rube Goldberg machine, or helping your child with a multiplication problem, it's not enough to only have a clear picture of the expected result. Mistakes happen, things break, or (often with AI) the strategy and sequence of those strategies matters. Having a firm understanding of how the problem *should* vs how it *could* be solved, knowing the potential pitfalls and traps along the way, helps you prevent the Goldberg-bowling ball from going off the rails.
Building more and more with AI, I'm seeing how much can be achieved with just plain english - but I'm also increasingly aware of where I'm applying and refining my prompts with computational thinking.
Some strategies to consider:
- Zoom out to look at the whole problem, but see it as the sum of its parts: What are the small, stand-alone and reusable steps that make up the larger problem?
- How does the sequence of each steps matter? Can you re-order them? If any step were to fall out of order, what problems could arise?
- What are the unique elements to your problem that break the generic solution? How can you adjust the steps to be as generic as possible and compartmentalize the unique bits?
- What are the edge cases, how likely are they? What are the possible distractions/things you know you can ignore?
Part of the dramatic power I'm seeing with AI is you don't always have to have the answers. AI can suggest ideas, help you refine and can give you more to think about.
Consistently, I'm seeing that the more you approach your prompting and iterations with structured computational thinking and reducing ambiguity, the more I'm getting wow'd by what can be achieved.