- Paperback: 632 pages
- Publisher: Apress; 1st ed. edition (September 15, 2009)
- Language: English
- ISBN-10: 1430219483
- ISBN-13: 978-1430219484
- Product Dimensions: 7 x 1.4 x 10 inches
- Shipping Weight: 2.3 pounds (View shipping rates and policies)
- Average Customer Review: 4.3 out of 5 stars See all reviews (81 customer reviews)
- Amazon Best Sellers Rank: #88,788 in Books (See Top 100 in Books)
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.
Coders at Work: Reflections on the Craft of Programming 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
Prepare for your professional certification with study guides and exam prep tools from Wiley. See more
Frequently bought together
Customers who bought this item also bought
About the Author
Peter Seibel is a serious developer of long standing. In the early days of the Web, he hacked Perl for Mother Jones and Organic Online. He participated in the Java revolution as an early employee at WebLogic which, after its acquisition by BEA, became the cornerstone of the latter's rapid growth in the J2EE sphere. He has also taught Java programming at UC Berkeley Extension. He is the author of Practical Common LISP from Apress.
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
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.
The first questions asked of each interviewee serve to set the stage; "How did you get into programming". The detailed answers given allow the reader to relate to the interviewee as an individual. Did they fall into programming by accident as part of their existing job? Did they train to be a programmer? Did they start on a Lisp machine or an Atari 800?
From this initial introduction the author begins to dig deeper. These questions are not formulaic. The author does not rattle off the same 40 questions to each subject but has a deep understanding of the domain. Questions demand answers to problems or serve to highlight issues that the interviewee presents.
Ran into a problem? Was it a language problem? A design problem? A management or coworker problem? What issues lead up to the problem? Could anything have been done differently? Questions are asked on working conditions, languages, approaches to problem solving, influences from upper management, influences from other programmers, burn out, love for programming (do they still like it).
In the first interview in the book with Jamie Zawinski; we know his approach to software design, his approach to programming (top down/bottom up) his feelings on over-engineering, crunch-time, refactoring, how he knows when he is in over his head, his philosophy to coding in general "At the end of the day, ship the **** thing... You are not here to write code, you are here to ship products."
This is not a "Coders at work for Dummies". There is no appendix tallying up how many of the interviewee's prefer waterfall to agile, functional to imperative and there shouldn't be. Each interview requires thought and reflection from the reader.
I read until 3:30 am and then wrote this review. This is a good book.
I have to say that the first thing I noticed about the book was the cheap binding. The paper and print quality are not very good, I can't say I liked the basic typesetting or sans serif typeface very much, and I found quite a few typos despite not being a person who looks for (or generally finds) typos in published material. The small Related Titles ad on the back cover is a bit annoying as well - that sort of thing used to be tucked away in the front matter and restricted to a list of the author's other work. Ah well.
There is a short introduction describing the author's inspiration and a few themes he picked out after the interviews were completed, but not much else in the way of structure; the entire content of the book is the series of fifteen transcript style interviews, prefaced by short introductions. Many of the same questions are asked of each interviewee, which is nice for comparing their answers, but I got the impression that Seibel was pushing some people harder on certain issues: Ken Thompson on the wisdom of pointers for example, or Fran Allen on why it's really necessary to have more women in computer science, or Don Knuth on why it's important to pry open black boxes. It felt a bit like prefigured puzzlement in the face of programmers who hold on to ideas that go against what passes for conventional wisdom nowadays, and I would have preferred a more thoughtful and after the fact summary of what the author thought these less common ideas might have to contribute to the mainstream.
But analysis is not what this book is about, and that may be a good thing. As a programmer himself, the author is able to ask the questions that most programmers would probably ask without forcing the interviews to conform to a rigid agenda, and the result is six hundred pages of consistently fascinating material. What impressed me most was the sheer range of approaches and motivations on display: everything from Jamie Zawinski's largely unschooled route to a formidable level of skill and subsequent major contributions to influential projects, to to Peter Norvig's uncommon combination of practical hacker wizardry with an almost ethereally playful interest in a variety of higher level topics, to Fran Allen's old school appreciation of quality systems and frustration at the amount of regression and small-concept thinking in the current state of the art, to Dan Ingalls' desire to make his software as flexible and alive as possible. If you think you know what the programming world looks like, this book will show you that not even the giants really grasp the sheer diverse extent of it.
Interestingly, nearly everyone interviewed expressed dissatisfaction with the inflexibility, complexity, low quality, and sheer size of the modern software edifice, and those who had burnt out or who expressed interest in quitting programming were the youngest and closest to the mainstream. Sobering observation, or artifact of the interview selection process? Read and decide for yourself.
I'm a programmer who's read a lot of stuff about programming, including a lot of material by and about some the people in these interviews, and I could barely put the book down. If you're anything like me, you should get a lot out of this book.