This is the seventh post in the reading notes series for The Programmer’s Apprenticeship: From Good to Great. The author, Jeff Atwood, is one of the founders of Stack Overflow. His articles cover a wide range of topics. He is a seasoned programmer, manager, and entrepreneur. This book discusses many things beyond programming. Whether you are a junior engineer or a senior engineer, this book is worth reading. As your experience grows, every time you re-read this book, you will gain new insights. Just as the title “From Good to Great” suggests, the author points out the path for you, but whether you can succeed depends on your own cultivation.
I will excerpt some wonderful remarks from the book and sometimes add my own insights or experiences. The outline of the reading notes is consistent with the outline of the book itself. This is also a method I learned from another source and have been using: “How to Read a Book”. I record it for my own frequent review and for readers’ reference. Below is the The Programmer’s Apprenticeship reading note series:
- The Programmer’s Apprenticeship - 01: The Art of Fighting Back
- The Programmer’s Apprenticeship - 02: The Way of Programming
- The Programmer’s Apprenticeship - 03: Web Design Principles
- The Programmer’s Apprenticeship - 04: Reflections on Testing
- The Programmer’s Apprenticeship - 05: Know Your Users
- The Programmer’s Apprenticeship - 06: All About the Internet
- The Programmer’s Apprenticeship - 07: Games and Programming
- The Programmer’s Apprenticeship - 08: The Beauty of Reading
My Programming Career Started with BASIC
(Based on Jeff Atwood’s About Me and Please Don’t Learn to Code)
Jeff Atwood frequently mentions that his programming journey began with BASIC. His first computer was a Texas Instruments TI-99/4a, and like many microcomputers of that era, it booted directly into a BASIC interpreter. This immediacy—turn on the machine, type a few lines of code, and see something happen—was crucial.
He argues that this low barrier to entry is something we’ve lost. In the “good old days,” the machine invited you to program it. Today, layers of abstraction and complex tooling can make the first step daunting.
However, he also famously wrote “Please Don’t Learn to Code,” arguing that not everyone needs to be a programmer. But for those who are drawn to it, that initial spark of creation—often fueled by simple tools like BASIC—is irreplaceable. It’s about the joy of building.
If You Want to Play a Game, Write It Yourself
(Based on Jeff Atwood’s Coding Horror: The Game and related thoughts)
There is no better way to understand how software works than to try to build a game. Games are complex systems that require mastering loops, logic, graphics, and user interaction.
Jeff encourages aspiring programmers to try their hand at game development, not necessarily to become professional game developers, but to understand the mechanics of engagement. If you can build a game that is fun to play, you have learned valuable lessons about user experience (UX) and performance that apply to all software development.
“The best way to learn is by doing. And the most fun thing to ‘do’ is a game.”
Metamorphosis from Gamer to Programmer
(Based on Jeff Atwood’s The Gamer / Programmer and The PC Weenies)
There is a huge overlap between gamers and programmers. Many of us got into this field because we wanted to understand how our favorite games worked—or because we wanted to mod them.
Jeff discusses how this background influences our mindset. Gamers are used to:
- Problem Solving: Every game is a series of puzzles to be solved.
- Perseverance: We are used to failing (dying) and trying again until we succeed.
- Optimization: We are always looking for the “min-max” strategy to get the best result with the least effort.
Transformation comes when we stop just consuming the content and start creating it. We peek behind the curtain. We realize that the “magic” is just code, and that we can wield that magic ourselves. The passion that drives a gamer to master a level is the same passion that drives a programmer to master a new language or framework.
The Programmer’s Apprenticeship (or Building a Career in Software) is a compilation of the best articles from the Coding Horror blog. The book is divided into 8 chapters, covering topics such as time management, programming methods, web design, testing, user needs, the Internet, game programming, and technical reading. The topics selected by the author are all pain points in a programmer’s career. Many articles have high click-through rates and reply rates on blogs and the Internet. —— from Douban
Jeff Atwood founded the Coding Horror blog (codinghorror.com) in 2004 to record his thoughts and bits and pieces of his software development experience. Today, the blog has nearly 100,000 visits per day. Readers participate in comments, and various views and wisdom collide passionately there. —— from Douban
The writing style of The Programmer’s Apprenticeship is humorous, understanding, and caring; it is suitable for programmers at all stages from novice to veteran, and also suitable for students of computer science and related majors who are about to become programmers. The Programmer’s Apprenticeship can help readers pay more attention to the human nature and humanistic factors of technical work, thereby achieving a successful turning point in their programmer career. —— from Douban
About Me && Blog
Below is my personal introduction and related links. I look forward to exchanging ideas with fellow professionals. “When three walk together, one can always be my teacher!”
- Blogger Intro: Includes personal WeChat and WeChat group links.
- Blog Content Navigation: A guide for my blog content.
- Curated Excellent Blog Articles - Android Performance Optimization Must-Knows: Welcome to recommend projects/articles.
- Android Performance Optimization Knowledge Planet: Welcome to join and thank you for your support~
One person can walk faster, a group can walk further
