Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$33.03$33.03
FREE delivery: Monday, April 22 on orders over $35.00 shipped by Amazon.
Ships from: Amazon Sold by: Plentymer
Buy used: $11.20
Other Sellers on Amazon
+ $3.99 shipping
98% positive over last 12 months
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Coders at Work: Reflections on the Craft of Programming 1st ed. Edition
Purchase options and add-ons
- ISBN-101430219483
- ISBN-13978-1430219484
- Edition1st ed.
- PublisherApress
- Publication dateSeptember 16, 2009
- LanguageEnglish
- Dimensions7.01 x 1.43 x 10 inches
- Print length632 pages
Books with Buzz
Discover the latest buzz-worthy books, from mysteries and romance to humor and nonfiction. Explore more
Frequently bought together

Similar items that may ship from close to you
Editorial Reviews
About the Author
Product details
- Publisher : Apress; 1st ed. edition (September 16, 2009)
- Language : English
- Paperback : 632 pages
- ISBN-10 : 1430219483
- ISBN-13 : 978-1430219484
- Item Weight : 2.43 pounds
- Dimensions : 7.01 x 1.43 x 10 inches
- Best Sellers Rank: #549,122 in Books (See Top 100 in Books)
- #62 in Business Operations Research (Books)
- #613 in Microsoft Programming (Books)
- #700 in Software Development (Books)
- Customer Reviews:
About the author

Peter Seibel is either a writer turned programmer or programmer turned writer. After picking up an undergraduate degree in English and working briefly as a journalist, he was seduced by the web. In the early '90s he hacked Perl for Mother Jones magazine and Organic Online. He participated in the Java revolution as an early employee at WebLogic and later taught Java programming at UC Berkeley Extension. Peter is also one of the few second-generation Lisp programmers on the planet and was a childhood shareholder in Symbolics, Inc.
In 2003 he quit his job as the architect of a Java-based transactional messaging system to hack Lisp for a year. Instead he ended up spending two years writing a book, the Jolt Productivity Award winning Practical Common Lisp. His most recent book is Coders at Work, a collection of Q&A interviews with fifteen notable programmers and computer scientists.
When not writing books and programming computers Peter enjoys practicing tai chi. He live in Berkeley, California, with his wife Lily, daughters Amelia and Tabitha, and their dog Mahlanie.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
At least one reviewer has complained that this title didn't "detail" how these programmers worked and how they approached programming. I must thoroughly disagree. The opinions of these people on common points of disagreement from type systems to tools and coding styles to debugging methods was explored. If you are hoping that you will be able to watch the subjects solve a complex problem or go through a typical day's work than you are in the wrong place. This isn't a screencast or a tutorial. On the other hand, there are a wide variety of opinions on display from experts in different areas of the field across different generations on numerous contentious issues.
This book is filled with words worth chewing on. On the first read, the interviews of Crockford, Deutsch, Eich, and Peyton-Jones stuck out to me in particular. In subsequent readings I expect that set to be different. All of the interviewees did agree on the importance of one thing, reading and writing code. For a beginner, this book is likely to point out some pitfalls that otherwise would've been missed and suggests valuable sources of intuition and insight. Perhaps most importantly, it may help popularize some knowledge of the history of our field. As Knuth laments, "The idea that people knew a thing or two in the '70s is strange to a lot of young programmers." There is some valuable distilled experience and wisdom here. At the very least, the book should help you hash over your own opinions on the issues discussed.
Most of these masterminds started programming on punchcards on PDP-I machines in Assembler, running software on timeshares and debugging both software and hardware. Most of them have worked with LISP, almost all of them feel that there is something wrong with C++, some contributed on creating or improving programming languages like Javascript, Java, Smalltalk, Haskell, Erlang, Fortran and LISP, one of them developed the original UNIX implementation, another contributed on writing the software for the first ARPANET nodes which later grew into what we know today as the Internet and a few others have written cool software like the Netscape Navigator, Livejournal and memcached. One notable interview is with Donald Knuth, the author of the multi-volume work "The Art of Computer Programming" who is though of as the father of algorithm analysis and who invented "literate programming".
After reading this book I found myself wanting to learn more about systems programming and while I probably will always work in application programming, I now have a new found respect for the hard work that these scientists and hackers have put throughout their life-long careers.
This book is a must read for any passionate programmer who is interested about the history and the early developments made in the software industry, developments that made today's technologies possible!
Though weighty, there are numerous great sound bites throughout. Jamie Zawinski, "one of the prime movers behind [...], the organization that took the Netscape browser open source", is quoted as saying "I hope I don't sound like I'm saying, 'Testing is for chumps.' It's not. It's a matter of priorities. Are you trying to write good software or are you trying to be done by next week? You can't do both. One of the jokes we made at Netscape a lot was, 'We're absolutely 100 percent committed to quality. We're going to ship the highest-quality product we can on March 31st." Seibel poses the following question to Douglas Crockford, inventor of JSON: "In one of your talks you quoted Exodus 23:10 and 11: 'And six years thou shalt sow thy land, and shalt gather in the fruits thereof: But the seventh year thou shalt let it rest and lie still' and suggested that every seventh sprint should be spent cleaning up code. What is the right time frame for that?" To which Crockford replies: "Six cycles - whatever the cycle is between when you ship something. If you're on a monthly delivery cycle then I think every half year you should skip a cycle and just spend time cleaning the code up."
Brendan Eich, creator of JavaScript, later comments: "Abstraction is powerful. What I'm really allergic to, and what I had a bad reaction to in the '90s, was all the CORBA, COM, DCOM, object-oriented nonsense. Every startup of the day had some crazy thing that would take 200,000 method calls to start up and print 'hello, world'. That's a travesty; you don't want to be a programmer associated with that sort of thing. At SGI, the kernel, of course, was where the real programmers with chest hair went, and there you couldn't screw around. Kernel malloc was a new thing; we still used fixed-sized tables, and we panicked when we filled them up. Staying close to the metal was my way of keeping honest and avoiding the bulls***, but now, you know, with time and better, faster hardware and an evolutionary winnowing process of good abstractions versus bad, I think people can operate above that level and not know assembly and still be good programmers and write tight code."
Joshua Bloch, Chief Java Architect at Google at the time this book was written, comments that "there's this problem, which is, programming is so much of an intellectual meritocracy and often these people are the smartest people in the organization; therefore they figure they should be allowed to make all the decisions. But merely the fact that they're the smartest people in the organization doesn't mean they should be making all the decisions, because intelligence is not a scalar quantity; it's a vector quantity. And if you lack empathy or emotional intelligence, then you shouldn't be designing APIs or GUIs or languages. What we're doing is an aesthetic pursuit. It involves craftsmanship as well as mathematics and it involves people skills and prose skills - all of these things that we don't necessarily think of as engineering but without which I don't think you'll ever be a really good engineer."
Summarized as the "mother" of Smalltalk (the counterpart to Alan Kay, the "father" of Smalltalk), Dan Ingalls comments that "people should learn to think clearly and to question. And to me it's very basic. If you grow up in a family where when the cupboard door doesn't close right, somebody opens it up and looks at the hinge and sees that a screw is loose and therefore it's hanging this way vs. if they say, 'Oh, the door doesn't work right; call somebody' - there's a difference there. To me you don't need any involvement with computers to have that experience of what you see isn't right, what do you do? Inquire. Look. And then if you see the problem, how do you fix it? To me it's so basic and human and comes so much from parent to child. Computers are certainly a medium for doing that. But they're just computers. There's a lot of that that will transfer, but to me it's really big and basic and human, so it's not like we're going to enlighten the world just by teaching them computers."
Top reviews from other countries
Ich kann es nur empfehlen. Die Interviews sind abwechslungsreich und sehr gut geführt und man lernt durchauch auch von der jahrzehntelangen Erfahrung der "alten Hasen".
Für Entwickler eine unbedingte Leseempfehlung.
Très intéressant, je suis un vieux développeur et cela m'a conforté dans plusieurs de mes positions et de mes pratiques, de voir tout ces avis de figure connu de l'art du développement.
Cela remet en perspective beaucoup de chose à la mode aujourd'hui !
It's great reading if you are interested in the history of the profession and craft. There is plenty of debate about how important mathematical knowledge is or isn't to programmers and how the overall programming landscape - and the resulting demands on programmers - are changing, just to touch on one or two of the themes.
Apart from anything else, this has inspired me to hunt down and read some of the other books referenced within the interviews. I highly recommend this for anyone who wants an insight into how others enter this sector and how they approach problems once within it.







