On Reading Other People's Code
One of the things I underestimated about software engineering was how much of the job involves understanding something you didn't design.
At CDPI, I spent a lot of time reading Java services written long before I joined the project. The code didn't come with an explanation of why a particular abstraction existed, why a service depended on another one, or which behaviour was important enough that changing it would cause problems somewhere else.
You have to reconstruct that context from the system itself — the code, the database, the messages moving between services, and sometimes the things that break when you change them.
It changed how I approach unfamiliar codebases. I don't want to understand every line before making a change. I want to understand what the system is trying to do, what it depends on, and what I cannot afford to break.