I think that understanding and building a mental model of the workings of an existing program is the second most important developer skill.
This seems like a great example of how to build that mental model, from strategy to 'in the weeds' step by step instructions.
(The most important skill is building a mental model of the workings of reality.)