One of the most underrated things in the industry, especially when you’re working as a full-time developer, is the power of keeping a “knowledge stash” handy. There’s this perception that knowledge comes through experience, time, or simply osmosis, and, while that can be true over a long enough period of time and for the more superficial knowledge, there are just too many layers in a professional codebase that it’s impossible to grok it immediately.
Knowledge is often gained in sort of “understanding bursts”: you work on a given area of the codebase to help fix a bug, or extending some functionality and you learn it, even if almost by a combination of intuition and pattern matching and your previous experiences, obviously. But, maybe we can do better. Maybe if we take some time and analyze the work we have just done, we can come to the realization that there are certain tasks that are particular of our team and company. Maybe we need a small script to give us access to some internal registries, maybe we need to configure the memory for our Docker daemon before attempting to run that large test locally, etc, etc. These details can often feel overwhelming, and, unfortunately, there will be so many of such details that it’s easy to get lost. So, follow Picard’s project tips:
Keep a log of your journey.
By keeping a log, you will be better equipped for many things:
writing things down helps memorizing, so, you will remember it better;
offloading brain capacity: jolt things down so you can keep them visible but out of your head. You can read later.
helping others and new people. Your log benefits not only you, but, others potentially. Leverage it and see if you can “promote” it to internal documentation with a little polishing. It can go a long way.
I like to keep it simple and straightforward, so simply a notepad document used as an “append-only” text file works really well for me. I am also a huge fan of Slack messaging mysel