Chris Nguyen

Software Engineer in Vietnam


Read the fucking docs


As a Vietnamese student, I was taught literature at school the same way a toddler is taught identifying objects. This is a car, that is a dog, just like that. I was given a poem or a narrative. Then the teacher would tell me exactly what the author meant, as if she was the author. “The author criticized the rigid dictatorship of the French colonizer, showing empathy with the Vietnamese people”, said my teacher. “How do you know?” I wondered, keeping that thought to myself. Over time, though still wondering if my teacher’s words reflected the author’s intent, I decided not to care. It was none of my business, as long as I got good grades. Yet, this question has lingered with me to this day.

This mindset-taking instructions at face value without probing further-reminds me of another common behavior: how we handle medicines. “Please read the instructions carefully before use.” This phrase is often found on packaging for medicines, supplements, and other products to ensure proper and safe usage. Yet many of us (myself included) never read any of those instructions before popping a pill. We’d rather have someone tell us “1 take after breakfast, 1 take after dinner”, and that’s it. We’re ready to go.

I see no difference when it comes to learning a new technology. Whenever I need to learn something new, be it a new programming language, a new framework, or getting to know an existing codebase, I would wander through YouTube tutorials, Stack Overflow posts, and Medium articles, but never the official docs. My brain will yell at me when I try to read the docs, craving an ELI5 (Explain like I’m 5) version of the concept. “Hey, can someone just tell me what the f&k does this mean?”, it screams.

Part of the reason is that the official docs often prior knowledge of X and Y before diving into Z. That’s too much to ask for from someone just trying to get their code to work as quickly as possible.

It took me so long to realize that struggling reading the official document is actually better than getting someone else’s interpretation.

All the tutorials or guides out there are not something new, they’re just another person reading the docs and explaining the concepts to me. Somebody has done the hard part for me, but also taken from me the chance to grasp the author’s intentions, to truly understand the concept, and to put it in my own words, not theirs.

As I read the docs, I might not understand it immediately, but as I try to digest it, re-read it, and using it in my code, eventually, I’ll get it, and once I do, it becomes part of me—like it’s in my blood and bones.

This act of eliminating any intermediaries between myself and the authors forces my brain to stop craving easy explanations. Instead, it pushes me to go through the tough but rewarding process of learning something abstract and complex.

Building solid knowledge through this process will make it definitely worth the effort.

Next time you want to learn something new, give the official docs a try, I’m sure you’ll learn a ton.