Coders at Work: Reflections on the Craft of Programming 1st Edition, Kindle Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Customers who bought this item also bought
Would you like to tell us about a lower price?
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
About a year ago, I decided to ask a number of people what I should read, and what I should do to be a better programmer. Over the next year I spent a lot of time with these same people trying to learn how to be a better programmer. This book, Coders at Work, is one of those books which turns out to be one of the most helpful programmer-guides I've come across.
- Structure of the book:
At the start of each "chapter" (which is really an interview), there's a short description about who each individual is. From there the chapter continues with a basic "interview-style" format, where Peter asks a question, and the interviewee answers it. Usually there's a followup question to clarify the previous answer - which has both the positive and negative effects to say "Person A answered this way, person B answered this way" - so in other words, at times it's hard to say, for example, how Zanwinski's answer differed from Peyton's.
The first question asked is one very crucial for most people, though, which is more or less, "How did you get into this?"
- Topics Covered:
The topics covered is not specific to only coding - some of the topics include:
- How did one get into coding?
- What were some successful projects?
- What were some less-successful/failure projects and why?
- What type of education is useful (e.g. is a PhD useful?)
- What tools does one use and why?
- What does one enjoy about programming?
- How one works with others and the dynamic of that.
This book is *not* only about coding though! That's an important thing to recognize about this book - it's leaned a bit toward programmers in general, but these topics help to make a better programmer in general - not simply specific to just coding better.
Some of the topics discussed feels a little dated, with some technology that's being discussed well before I was born, but since many of these challenges exist as timeless and I see in my everyday life, they are still valuable to hear about.
The main thing I enjoyed about this book was the fact that it's extremely applicable to what I see each day. A perfect example was the very first chapter in talking with Zanwinski. In this chapter, he discusses the concept of "Worse is Better", and how the strive for perfection caused a company to fail. This very concept rings extremely clear to me, in I've seen a system that was developed in the "Worse is Better" philosophy, and the development of the current system has seen times where the "Right Way" caused huge delays in the development of the system. It was a breath of fresh air to hear someone else discuss a situation that was really close to one that I've been, and in some ways continue to be, in. This is the main thing that I feel I enjoyed about the book itself.
Another applicable thing I read was the reasons for getting a PhD - which I've been contemplating for well over a year now. To hear perspectives about the reasoning to get or avoid one helps a lot in the contemplation.
Along with that, the topics were very interesting - and many of the answers were very clear and to the point. One can tell that these words were exactly the way the person said it - and not edited. This is a great feature because it feels more like a dialog than just a story-telling session.
There are a few areas of the book that I feel could have been done a bit better.
- When describing more old technology (e.g. the computer that Peyton learned on), I felt I had no clue what this device looked like or anything. A quick google can help in a lot of these situations, but there's a certain disconnect from the book itself as one's reading. This can happen especially for younger developers who haven't heard of some of this technology.
- The rants on some of the languages (e.g. Perl) can be taken poorly by some. I found it kinda funny, and it's clear that it's the individual's opinion, but I can see some people being annoyed by that. There's not a lot that can be done about this besides cutting out content.
- Better identifying similar crucial questions that are asked to each individual would be helpful to hear the ideals that are different between each person. Those, with a special icon or something, would have been very helpful for comparing and contrasting differences.
Overall, I feel this book is quite good, a definite 4.5/5 stars. This book gives a "mentor feeling", when I honestly don't have a mentor at this point at my job. I found that many of the questions in this book provided insights into the difficulties I'm currently presented with, and offers suggestions on how to approach them. While this book will likely not be the totally definitive guide for all programming-related knowledge, it's definitely something I feel fits in a niche that currently isn't occupied by other books. I feel this will benefit all levels of programmers.
Seibel (a hacker-turned-writer himself) talked to some big names in our field. Topics covered include: How do you learn to be a programmer? How do you perfect your skills? How important is formal education? Which programming languages are good and which are terrible? What kinds of tools do great programmers use? (Which text editors? IDEs? Debuggers?) How do you reason about a program, bottom-up or top-down? What's the best way to collaborate with other coders? etc. etc.
As you might expect, the interviewees agree in some areas and wildly disagree in others, but there are insights aplenty. Some answers may surprise you, like how many of these coders shun formal debuggers and use mostly print statements, or how many of them shun IDEs for Emacs (or even pen-and-paper).
Aside from the broad questions, Seibel gets the interviewees to open up about what it was like to work on the projects they are famous for. These stories are engaging and entertaining. Any coder who has stayed up till 4AM squashing bugs will find kindred spirits in these books. And the stories are somehow inspiring, as you realize that even great programmers suffer through the same frustrations and ups and downs that all of the rest of us go through.
Those interviewed also share insights into what they think of our modern world of programming. Most agree that we live in complicated and troubled times as we battle layer upon layer of software complexity. This book has lessons to be learned from the very brief history of our field, and advice for the future ("Keep it simple!").
This book is deliciously buzzword-free and the programmers interviewed give their honest (sometimes brutally honest) opinions about what they love and what they hate.
The author and all of those interviewed share a passion for programming and it's hard not to be swept up into it. Very good book.