Imagine you are in a maze of twisty little passages, all alike. In each chamber, you discover clues that help you to piece together the secret code of that chamber, allowing you pass from it to the next chamber.
In this way, you progress through a large complex, one chamber at a time, having revelations and setbacks along the way.
But this never ends! There are small triumphs and defeats, but ultimately, you just keep navigating this or that set of passages
forever. Frequently, you have to repeat almost exactly what you’ve done before, with minor but critical differences.
Such is a career in software engineering. It goes a little something like this: