English translation · Reader alias: YuanshanRead the Chinese original ↗
Echo correspondenceNO. 02
To / For Airing
From Yuanshan
Developing technical depth through practice
Reader alias · Yuanshan
NO. 02Letter
Yuanshan to Airing
Hello there 👋,
I am not sure whether you will see this email. I happened to come across you while browsing W3C’s GitHub. Curiosity brought me to your blog; every article had something meaningful to say and made me want to click the next one 😂
After reading “Monthly No. 24: Ten Years of Programming,” I decided to work up the courage to write. I am a recent computer science graduate. Although I have loved computers since childhood, unlike you I have not really acted on that love, and have stayed in my comfort zone. Perhaps that is the difference between us 🥲
But I am getting off topic! I mainly wanted to ask a few questions:
1. About consolidating what you learn: I have a blog too, but find it hard to start writing about what I am doing. I love building projects, yet struggle to put my thoughts into words. How did you begin documenting all of this? Is there a way to write technical summaries in an orderly way? And where do you start when drawing such complicated mind maps?
2. In the article, you describe achievements in UI design, the web, backend development, clients and hardware, naturally becoming a full-stack engineer. My degree also led me into hardware, software, frontend and backend work. Yet I increasingly feel helpless: I know something about all these areas, but am proficient in none. How do you use these technologies so comfortably? Which technologies do you think deserve focused study in today’s job market?
3. In the years since graduation, you have kept advancing at work. How did you plan your career? What advice would you give someone who has just joined a company? I hope I can keep progressing as you have 🥹
Finally, I would love to be friends, if possible. More than that, I suppose you are someone I aspire to be like, haha. Having a goal seems to fill each day with hope and meaning. And one last thing: could we exchange blog links? 🥹 [Blog name and link removed.]
NO. 02Reply
Airing to Yuanshan
Yuanshan,
Thank you for following my work and for writing. Let me start with your questions.
1. Writing is a conversation with yourself. As you said, it consolidates your thinking; sharing is an additional benefit. Good technical writing has less to do with literary skill than with technique: you only need to explain the problem and the solution clearly. Clear explanation begins with clear thinking. Once you thoroughly understand a technical subject, write an outline based on that understanding. Filling it in will follow naturally, because you know the details, the overall architecture, the background, the difficulties, the implementation and how comparable solutions differ. By “mind maps,” do you mean those in my articles, or the canvas mentioned at the end of Monthly No. 24? For the former, sufficient understanding naturally brings order. A rough structure is: background and pain points, existing solutions, architecture, implementation, difficulties and the surrounding ecosystem. The latter is closer to an unconstrained scratchpad; just draw whatever you like.
2. Start with practice: build small projects you enjoy. Once you have built something, you at least know how the technologies are used and where their limits lie. Then stay curious: investigate how they work, what they share with other technologies, whether they can be combined with other approaches, and what could be improved. Today’s job market has limited demand for junior software engineers, but I still recommend prioritizing the technical areas that interest you. Inner drive is what can take you furthest. If you work in a general engineering role, consider low-level rendering and cross-platform approaches: both offer practical prospects, broad use and technical depth.
3. Know when each promotion opportunity comes around, understand your company’s requirements, and build up enough experience before that point to be fully prepared when you apply. Have you seen Cautious Hero? It is rather like the protagonist saying “ready perfect” before every challenge. A couple of small suggestions: keep daily reflections and weekly summaries. Use the daily ones to plan and reflect on your work; use the weekly ones to push yourself to do better than the week before and make progress every week.
By the way, I have added your blog link. You are welcome to write whenever you have questions or simply need to talk.