When Ka Wai Chung is asked to describe what he does for a living, he sometimes responds: “I am a nonaccredited, overly logical psychologist, therapist, mechanic, diplomat, businessman, and teacher working in an industry that is still defining itself each and every day.”
In other words, he works in software development as a programmer. (He is a founding partner at the Chicago-based web development firm We Are Mammoth, Inc.)
His new book is not about writing better code. And yet it is. It’s also about adopting a better approach to life and work so you can write better code and flourish in your career.
For jaded professionals, The Developer’s Code offers some astute advice for reinvigorating a weary career. If you are a newcomer still trying to get started in software development, the book is a handy guide to putting more order, efficiency and productivity into the way you program.
His 142-page book offers more than 50 short essays under major chapter heading such as “Motivation”, “Productivity”, “Complexity”, and “Clients.”
In essay #12, in the “Motivation” chapter, for example, Cheung counsels: “Test your software first thing in the morning. That’s when you’re the freshest and the most motivated to continue building something good.”
He adds: “During the day, we spend so much effort building software that we lose steam testing each piece we write. It gets hard to see the big picture as the day wears on. By late afternoon, we’re too close to the software. Our perception of what makes sense or feels right now competes with fatigue. Also, fatigue makes us miss the small details.”
Cheung’s advice rings true. I spent about 20 years immersed in software development, and I found that I typically did my best testing early in the morning, before co-workers and managers showed up.
Once the daily circus of meetings, banter and office politics got underway, it became increasingly difficult to code and test effectively as the day wore on and time to go home finally drew near — or passed.
Today, of course, it is possible to write and test code 24 hours a day without leaving your house or apartment. But many of Cheung’s gentle counselings apply to that situation, as well. We still need a good balance between work and life away from the job. If we tilt too much toward working long, disorganized hours, our accuracy and efficiency go down, deadlines slip, and project costs climb.
This is not a “how to code” book, of course. But it does not ignore the art of writing good code from scratch. At the same time, it also celebrates the vast array of tools others have written and made freely available.
“To that end,” Cheung writes, “building applications today feels a bit like going to a Walmart; maybe the open source movement is more like a Goodwill store. We can throw all of these great toolsets into our cart, hit the checkout line, and go. Once we get home, we can unwrap all these great bits of code, stitch them together with a helping of our own, and give life to an application. We can get to running software really, really fast today.”
His chapter titled “Clients” is especially important. He emphasizes: “Like any relationship, the client-programmer relationship is a continual work in progress. It gets better when each side of the table understands what matters to the other. Working with clients well starts with understanding the view from their end so that we can start to teach them how things work from ours.” (He includes advice for dealing with stubborn, unhappy clients, too.)
If you’re serious about having or re-energizing a long-term career in software development, The Developer’s Code definitely should be high on your to-read list.
– Si Dunn is a novelist, screenwriter, freelance book reviewer, and former software technical writer and software/hardware QA test specialist. He also is a former newspaper and magazine photojournalist. His latest book is Dark Signals, a Vietnam War memoir. He is the author of an e-book detective novel, Erwin’s Law, now available in paperback, plus a novella, Jump, and several other books and short stories.