You’re already a great coder, but awesome coding chops aren’t always enough to get you through your toughest projects. You need these 50+ nuggets of wisdom. Veteran programmers: reinvigorate your passion for developing web applications. New programmers: here’s the guidance you need to get started. With this book, you’ll think about your job in new and enlightened ways.
The Developer's Code: What Real Programmers Do
by Ka Wai Cheung
The Developer's Code
What Real Programmers Do
by Ka Wai Cheung
This title is also available as an audio book.
I like books that gather a number of essays and thoughts about technology (in this case, software development) and bundle them in a single volume so I can contemplate what it is I do as a profession. The Developer’s Code – What Real Programmers Do by Ka Wai Cheung (published by Pragmatic Bookshelf) fits that description perfectly. I’ve often said that one or two gems from a book like this can make it an excellent buy. For me, this one met and surpassed that criteria.
This is the next “Pragmatic Programmer”—a guide for the beginner, a reminder
for the expert, and a wonderful chunk of wisdom about the craft (and life)
of a developer.
- Derek Sivers
Founder of CD Baby, sivers.org
Ka Wai Cheung has written a book for professional developers seeking a
code they can live by. This is not a book replete with conventional, find-it-
in-any-blog ideas but a very powerful, focused approach to the craft
and realities of professional programming.
If you are looking for a rehash of stale, sterile rules for programming, this
is not the book for you. But if you are seeking a perspective on what
creating software is, or if you want a set of guidelines laden by real-world
experience, this is a book you need.
- Bob Walsh
Author and Founder of 47 Hats
Packed with delicious lessons yet consumable in bite (byte?) sized chunks
—there’s a lot to be learned in these pages. Take some time and learn from
someone who’s been there.
- Adam Hoffman
Senior Development Lead
About this Title
Release: P1.0 (2012-02-15)
The Developer’s Code isn’t about the code you write, it’s about the code you live by.
There are no trite superlatives here. Packed with lessons learned from more than a decade of software development experience, author Ka Wai Cheung takes you through the programming profession from nearly every angle to uncover ways of sustaining a healthy connection with your work.
You’ll see how to stay productive even on the longest projects. You’ll create a workflow that works with you, not against you. And you’ll learn how to deal with clients whose goals don’t align with your own. If you don’t handle them just right, issues such as these can crush even the most seasoned, motivated developer. But with the right approach, you can transcend these common problems and become the professional developer you want to be.
In more than 50 nuggets of wisdom, you’ll learn:
- Why many traditional approaches to process and development roles in this industry are wrong—and how to sniff them out.
- Why you must always say “no” to the software pet project and open-ended timelines.
- How to incorporate code generation into your development process, and why its benefits go far beyond just faster code output.
- What to do when your client or end user disagrees with an approach you believe in.
- How to pay your knowledge forward to future generations of programmers through teaching and evangelism.
If you’re in this industry for the long run, you’ll be coming back to this book again and again.
“This is the next Pragmatic Programmer: a guide for the beginner, a reminder for the expert, and a wonderful chunk of wisdom about the craft (and life) of a developer.
—Derek Sivers, Founder of CD Baby, sivers.org
Interview with the Author
This is a book about what programmers do, and yet, there’s only one chapter devoted to code. Do explain.
“First and foremost, there are plenty of great books on code, and it’s very difficult to write one that reads fluidly and makes you feel like you’re in the midst of development as you read it. I admire a really well written book like that—Joshua Kerievsky’s Refactoring to Patterns comes to mind.
“The professional programmer has so much more to absorb these days. There’s the client, co-worker, customer, time and changing requirements. And, I haven’t even gotten to the programmer—staying motivated and productive through long development stretches, or maintaining that hubris that makes us want to contribute more to the community. I wanted to focus on those aspects of developer life moreso than, say, best coding practices.”
Is this a book just for software professionals?
“At the core, I’m speaking directly to new and veteran programmers alike. But, I’d like to think this book can be enjoyed by anyone interested in learning about a trade. I want this book to be approachable to the masses.
“This book isn’t just talking to my fellow programmer, but it’s my best explanation for how our industry works—this is what I do, how I do it, what I learned, where I made mistakes, and how I adjusted inside of an industry that’s in constant flux. In that sense, I think it’s a read that anyone can relate to.”
What’s the one piece of advice you could give to a new programmer just beginning the journey?
“When you’re a newbie, you expect all the answers to be there. Here’s the best way to program X, here’s the best methodology for solving Y. You just want to plug-in and have all the answers for how to be a successful developer out in front of you. But, to a large extent, we’re still making it up as we go. The types of apps, the audience, and the medium are constantly changing.
“Look at the NOSQL debate: relational databases have been the gold standard for years. Now that storage is cheap and a user base isn’t simply localized to a corporation, the parameters for a ‘well-performing’ database have changed.
“For the new programmer, I recommend keeping an open mind and realizing this fact. How you’re approaching work today may not be how you approach it a year from now. As an industry, we’re in constant adjustment.”
Contents & Extracts
- Introduction excerpt
- Follow Metaphors with Care
- Plan Enough, then Build
- Launch is Just the First Release
- The “Ivory Tower” Architect is a Myth excerpt
- Throw Away Your Old Code
- Diversification Over Specialization
- Metaphors Hide Better Ways of Working
- The Perks are in the Work
- Begin Where You Love to Begin
- Be Imperfect
- Stop Programming excerpt
- Test Your Work First Thing in the Morning
- Work Outside the Bedroom
- First Impressions are Just That
- The Emotional Value of Launch
- Find an Argument
- Just Say “No” to the Pet Project
- Constrain All of Your Parameters
- Cut the Detail Out of the Timeline
- Improve Your Product in Two Ways Daily
- Invest in a Good Work Environment
- Keep a Personal To-Do List
- Create “Off-Time” with Your Team
- Work in Small, Autonomous Teams
- Eliminate the “We” in Productivity
- Sniff Out Bad Complexity
- The Simplicity Paradox excerpt
- Complexity as a Game of Pick-Up Sticks
- Keep Complexity Under the Surface
- Hard to Code Might Mean Hard to Use
- Know When to Refactor
- Develop a Programming Cadence
- Teaching is Unlike Coding
- Beware the “Curse of Knowledge”
- Teach with Obvious Examples
- Lie to Simplify
- Encourage Autonomous Thought
- The Tough Client is Ubiquitous
- Demystify the Black Magic of Software
- Define the Goals of Your Application
- Be Enthusiastic and Opinionated
- Be Forgiving and Personable
- Value is Much More than Time
- Respect Your Project Manager
- Write Code as a Last Resort
- A Plug-in Happy Culture
- Code is the Ultimate Junior Developer
- Separate Robot Work from Human Work
- Generating Code at Its Core
- The Case for Rolling Your Own
- We Have a Marketing Problem
- Lessons from the Cooking Industry
Ka Wai Cheung is a developer, designer, and founding partner at We Are Mammoth, an award-winning team of web developers as passionate about approachability as they are about technology.
Ka Wai is also the co-author of Flash Application Design Solutions: The Flash Usability Handbook.