At age 7, the first time I got to a reasonably sized school (pre-school compounds were tiny), I did not know what to expect. There is a gym equipment shed? Oh there is a whole hidden world behind the stage of the main hall?

In secondary school and junior college, I know what to expect. I need to find out certain information to operate. On day 1, you have no idea where the canteen is, where the chemistry lab is, what is the fastest way to get from your classroom to the snack shop. But I figured it out soon enough.

Then came university, I was in the school of engineering and occasionally took classes at other schools, so I only need to care about the locations which concern me.


Navigating codebases is pretty much the same thing.

Where is the entrypoint? Where are the tests? What CI jobs do we perform? How are configurations and secrets loaded? The comment indicating why a certain hardcoded magic number exists is akin to the “lock broken, do not lock from inside” post-it on the gym shed door. Beautiful code and ugly smells co-existing in the repository to ship out a product. Is it important to fix the shed door? Maybe, but not now.

Once the mental model is built and internalised, the school repository is your playground.