Divide and Conquer

This concept—divide et imperia—worked for King Philip II of Macedonia. Keep the rival city-states bickering with each other and you never have to fight more than a few—or one—at a time rather than having to face a united front. We’ll use this concept to show that big problems are just a bunch of smaller problems, and smaller problems are far easier to solve than big problems. So it’s really a matter of decomposition, and this is one skill—not the only skill by any means—but one of the key skills we need to develop in order to move software development from vocation to profession.

There’s a Haitian proverb: Little snakes need to grow in hiding.

If you want to get rid of a snake that lives under your house, do it when it’s young. ...

Get Beyond Legacy Code now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.