Buy New
-48%
$26.20$26.20
FREE delivery Sunday, October 11 on orders shipped by Amazon over $35
Ships from: Amazon.com Sold by: Amazon.com
Used - Very Good
$9.94$9.94
FREE delivery October 14 - 16
Ships from: GREENWORLD BOOKS Sold by: GREENWORLD BOOKS
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.
Follow the authors
OK
The Clean Coder: A Code of Conduct for Professional Programmers
Purchase options and add-ons
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals.
In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice–about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Readers will learn
- What it means to behave as a true software craftsman
- How to deal with conflict, tight schedules, and unreasonable managers
- How to get into the flow of coding, and get past writer’s block
- How to handle unrelenting pressure and avoid burnout
- How to combine enduring attitudes with new development paradigms
- How to manage your time, and avoid blind alleys, marshes, bogs, and swamps
- How to foster environments where programmers and teams can thrive
- When to say “No”–and how to say it
- When to say “Yes”–and what yes really means
Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn’t written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them–and earn the pride and fulfillment that they alone possess.
- ISBN-100137081073
- ISBN-13978-0137081073
- Edition1st
- Publication dateMay 13, 2011
- LanguageEnglish
- Dimensions7 x 0.55 x 9.13 inches
- Print length256 pages
Frequently bought together

Customers who viewed this item also viewed
- Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)PaperbackFREE Shipping by AmazonGet it as soon as Sunday, Oct 11
- Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)PaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Sunday, Oct 11
- The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)David ThomasHardcoverFREE Shipping by AmazonGet it as soon as Sunday, Oct 11
- A Philosophy of Software Design, 2nd EditionPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Sunday, Oct 11
Customers also bought or read
- Refactoring: Improving the Design of Existing Code (2nd Edition) (Addison-Wesley Signature Series (Fowler))
Hardcover$45.15$45.15FREE delivery Sun, Oct 11 - The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)
Hardcover$45.97$45.97FREE delivery Sun, Oct 11 - Design Patterns: Elements of Reusable Object-Oriented Software
Hardcover$23.97$23.97Delivery Sun, Oct 11 - Domain-Driven Design: Tackling Complexity in the Heart of Software
Hardcover$51.75$51.75FREE delivery Sun, Oct 11 - A Philosophy of Software Design, 2nd Edition#1 Best SellerComputer Systems Analysis & Design
Paperback$22.04$22.04Delivery Sun, Oct 11 - Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition
Paperback$24.20$24.20Delivery Oct 14 - 15 - Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software 2nd Edition
Paperback$30.68$30.68Delivery Sun, Oct 11 - Fundamentals of Software Architecture: A Modern Engineering Approach#1 Best SellerComputer Programming Logic
Paperback$52.40$52.40FREE delivery Sun, Oct 11 - Modern Software Engineering: Doing What Works to Build Better Software Faster
Paperback$39.99$39.99FREE delivery Sun, Oct 11 - Extreme Programming Explained: Embrace Change, 2nd Edition (The XP Series)
Paperback$37.30$37.30FREE delivery Oct 14 - 15 - Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
Paperback$43.99$43.99FREE delivery Sun, Oct 11 - The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups#1 Best SellerUML Language
Paperback$34.49$34.49Delivery Sun, Oct 11 - Software Engineering at Google: Lessons Learned from Programming Over Time
Paperback$32.15$32.15Delivery Sun, Oct 11 - The DevOps Handbook, 2nd Edition: How to Create World-Class Agility, Reliability, & Security in Technology Organizations
Paperback$22.70$22.70Delivery Oct 20 - 23 - Head First Software Architecture: A Learner's Guide to Architectural Thinking
Paperback$53.35$53.35FREE delivery Sun, Oct 11 - Code: The Hidden Language of Computer Hardware and Software#1 Best SellerMicrosoft Programming
Paperback$32.58$32.58Delivery Sun, Oct 11 - Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))
Hardcover$28.03$28.03Delivery Oct 16 - 17 - Grokking Algorithms, Second Edition: An illustrated guide for programmers and other curious people
Paperback$38.11$38.11FREE delivery Oct 26 - Nov 2 - Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)#1 Best SellerCompiler Design
Paperback$50.13$50.13FREE delivery Wed, Oct 14 - Cracking the Coding Interview: 189 Programming Questions and Solutions#1 Best SellerData Structure and Algorithms
Paperback$25.79$25.79Delivery Sun, Oct 11 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Paperback$28.27$28.27Delivery Sun, Oct 11 - Agile Software Development, Principles, Patterns, and Practices (Alan Apt Series)
Hardcover$59.65$59.65FREE delivery Sun, Oct 11 - Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations#1 Best SellerBusiness Operations Research
Paperback$11.17$11.17Delivery Mon, Oct 12
From the Publisher
From the Preface of "Clean Architecture"
“…The rules of software architecture are the rules of ordering and assembling the building blocks of programs. And since those building blocks are universal and haven’t changed, the rules for ordering them are likewise universal and changeless.
But one thing has changed: Back then, we didn’t know what the rules were. Consequently, we broke them, over and over again. Now, with half a century of experience behind us, we have a grasp of those rules.
And it is those rules—those timeless, changeless, rules—that this book is all about.”
— Robert C. "Uncle Bob" Martin
Clean Code: A Handbook of Agile Software Craftsmanship
|
The Clean Code: Practical Advices for the Professional Programmer
|
Clean Craftsmanship: Desciplines, Standards, and Ethics
|
Clean Agile: Back to Basics
|
Clean Architecture: A Craftsman's Guide to Software Structure and Design
|
|
|---|---|---|---|---|---|
| Customer Reviews |
4.7 out of 5 stars 6,815
|
4.6 out of 5 stars 2,292
|
4.5 out of 5 stars 195
|
4.6 out of 5 stars 630
|
4.6 out of 5 stars 4,062
|
| Price | $30.87$30.87 | $26.20$26.20 | $19.78$19.78 | $33.59$33.59 | $30.29$30.29 |
| Best agile practices of cleaning code “on the fly” Software Craftsmanship. | Endure and succeed amidst swirling uncertainty and nonstop pressure. | Picks up where Clean Code leaves off, outlining additional ways to write quality and trusted code you can be proud of every day. | A clear and concise guide to basic Agile values and principles. Perfect for those new to Agile methods and long-time developers who want to simplify approaches for the better. | Direct, no-nonsense answers to key architecture and design questions. | |
| "It is the best pragmatic application of Lean principles to software I have ever seen in print." —James O. Coplien, Founder of the Pasteur Organizational Patterns project | “Some technical books inspire and teach; some delight and amuse. Rarely does a technical book do all four of these things.” — George Bullock | ". . . [A] timely and humble reminder of the ever-increasing complexity of our programmatic world and how we owe it to the legacy of humankind--and to ourselves--to practice ethical development.” — Stacia Heimgartner Viscardi, CST & Agile Mentor | “What is in the world of Agile development is nothing compared to what could be. This book is Bob’s perspective on what to focus on to get to that ‘what could be.’ And he’s been there, so it’s worth listening.” — Kent Beck | "A good architecture comes from understanding it more as a journey than as a destination, more as an ongoing process of enquiry than as a frozen artifact." — Kevlin Henney |
Pick Up Where Clean Code Leaves Off
"As software developers, we have to continually solve important problems for our employers, customers, colleagues, and future selves. Getting the app to work, though difficult, is not enough, it does not make you a craftsman. With an app working, you have passed the app-titude test. You may have the aptitude to be a craftsman, but there is more to master. In these pages, Bob expresses clearly the techniques and responsibilities to go beyond the app-titude test and shows the way of the serious software craftsman."
— James Grenning, author of Test-Driven Development for Embedded C and Agile Manifesto co-author
Editorial Reviews
Review
From the Back Cover
Noted software expert Robert C. Martin presents a revolutionary paradigm with "Clean Code: A Handbook of Agile Software Craftsmanship." Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code "on the fly" into a book that will instill within you the values of a software craftsman and make you a better programmer-but only if you work at it.
What kind of work will you be doing? You'll be reading code-lots of code. And you will be challenged to think about what's right about that code, and what's wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
"Clean Code" is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code-of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and "smells" gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Readers will come away from this book understanding
How to tell the difference between good and bad codeHow to write good code and how to transform bad code into good codeHow to create good names, good functions, good objects, and good classesHow to format code for maximum readabilityHow to implement complete error handling without obscuring code logicHow to unit test and practice test-driven developmentThis book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
About the Author
Robert C. Martin (“Uncle Bob”) has been a programmer since 1970. He is founder and president of Object Mentor, Inc., an international firm of highly experienced software developers and managers who specialize in helping companies get their projects done. Object Mentor offers process improvement consulting, object-oriented software design consulting, training, and skill development services to major corporations worldwide. Martin has published dozens of articles in various trade journals and is a regular speaker at international conferences and trade shows.
He has authored and edited many books, including:
- Designing Object Oriented C++ Applications Using the Booch Method
- Patterns Languages of Program Design 3
- More C++ Gems
- Extreme Programming in Practice
- Agile Software Development: Principles, Patterns, and Practices
- UML for Java Programmers
- Clean Code
A leader in the industry of software development, Martin served for three years as editor-in-chief of the C++ Report, and he served as the first chairman of the Agile Alliance.
Robert is also the founder of Uncle Bob Consulting, LLC, and cofounder with his son Micah Martin of The Clean Coders LLC.
Product details
- Publisher : Pearson
- Publication date : May 13, 2011
- Edition : 1st
- Language : English
- Print length : 256 pages
- ISBN-10 : 0137081073
- ISBN-13 : 978-0137081073
- Item Weight : 14.1 ounces
- Dimensions : 7 x 0.55 x 9.13 inches
- Part of series : Robert C. Martin Series
- Best Sellers Rank: #170,647 in Books (See Top 100 in Books)
- #34 in Microsoft Programming (Books)
- #65 in Software Design & Engineering
- #87 in Software Development (Books)
- Customer Reviews:
About the authors

Discover more of the author’s books, see similar authors, read book recommendations and more.

Robert Cecil Martin (colloquially known as Uncle Bob) is an American software engineer and author. He is a co-author of the Agile Manifesto.
Bio from Wikipedia, the free encyclopedeia. Photo by Tim-bezhashvyly (Own work) [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons.
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 AmazonCustomers say
Generated from the text of customer reviewsSelect to learn more
Top reviews from the United States
- 5 out of 5 stars
Must read for any programmer
Reviewed in the United States on April 15, 2016Programming is an interesting profession. It’s not just an engineering exercise, where you’re building the most logical, structured, and well-designed application according to some set of industry best practices; rather, there’s a great deal of creativity that goes into it – an artistic quality, if you will. Instead of solving a particular problem the same way for every project, you must creatively adapt your thinking and communication to meet the expectations of each project’s stakeholders. Programming is not well understood like other professions. You know what lawyers, accountants, and doctors do. Their workflows and processes are well known since their professions are mature and a good portion of the population has interacted with them directly or indirectly. Programming, on the other hand, is different. To many people, a website or software solution magically just “appears” after a programmer spends time at his or her computer. Enter Robert C. Martin’s The Clean Coder.
The Clean Coder helps demonstrate how programmers can conduct themselves as professionals, removing that black-box quality and holding themselves to standards as other professionals do so they garner the same respect from their peers and can help others do more with technology.
I’ll talk about some of the lessons that really resonate with me:
In the forward, Matthew Heusser relays a story about how his colleague, Joe, considers “estimates” from the technical team and “estimates” from the legal team with completely different mindsets. In short, Joe considered legal estimates to be final, whereas technical estimates were negotiable. Why weren’t estimates from the two teams treated equally? In my career, I’ve seen the same thing many times, largely stemming from three reasons. First is the assumed “magic” that non-technical people think programmers wield. Throughout the book, Martin explains how to remove the veil of mystery regarding said magic. Second is that I’ve run across others that compared us with their profession and made some assumptions, such as, though a harsher example, we’re being lazy or noncommittal. Here, the author discusses how to address such assumptions when confronted with them. Third, and the most important part that we can influence, is the tech person’s mindset and approach to work. From the text, the programmer learns how to craft their own mindset and workflows to handle these. In essence, we can’t make things perfect, but we control a lot of parameters to make things better.
The first three chapters cover the conduct that a software developer professional should exhibit. A recurring theme within all three chapters is that software developers should take responsibility for what they say and do. Martin gracefully simplified this down to: how/why to say “no” and how/why to say “yes.” For example, if a developer agrees to a timeline, then they should make the timeline. If there are risks or unknowns on something you’re defining a timeline for, don’t agree to it, but rather just agree to what you can commit to if possible. The key is to not let yourself get bullied into agreeing to something you know you can’t meet with confidence. Others will build their own schedules and commitments around what you say, and there may be serious repercussions and loss of face if you fail to deliver. If you’re not as accurate as possible, you’ll erode the trust you have with your colleagues.
Along with controlling and defining your commitments, you need to take responsibility for your work output. Specifically, being a professional means that you certify and guarantee that your work output functions. For example, accountants ensure that their accounts balance when they finish closing out the books monthly, quarterly, and year’s end. If they left discrepancies, they would soon find themselves out of work. However, developers seem to be able to deliver questionable code or features that just plain don’t work, again and again. I understand why: development is hard. There are a lot of moving pieces and people in a software development project; as a result, there are a lot of rules that get balanced when you go in and change something. None of that takes away from the fact that developers lose trust of their peers when they fail to deliver working solutions for the tasks assigned to them. They’ll probably remember the failure (their label, not yours) instead of the nuanced “whys” that caused that failure.
Luckily, software developers have tools available to them to prevent this from happening, but only if the tools are actually put to use. Martin’s philosophy around testing is something with which I completely agree. The only way you can truly know that what you’ve added or changed doesn’t break everything else on a project – regardless of size – is to test it and have a structured, scalable approach to testing. Manual testing takes time, sometimes A LOT of time, and you leave a lot to chance that way. Hence automation. When automated, a test can be written once and then just be executed. It makes it trivial to repeatedly ensure that your code matches all the criteria it needs to meet. (Note: I wouldn’t recommend this approach across the board, particularly if an MVP, pilot system, or feature with a lot of changing specifications is being created, which is quite common with my startup customers. For something mature, scalable, and maintainable in a financially feasible manner, it’s required.)
Martin’s discussion of “expected criteria” is another area that is really important for developers to understand and put to use. Ultimately, a customer or stakeholder will have to accept the software that a developer builds. When is the software done? What do clients judge the system’s success by? What aspects of the software do they value, and how do they prioritize what they value? To address this, I've always operated from the mindset of: the software is done when the customer tells me it's done. Part of that determination is working with the customer to define the acceptance criteria, though that can be difficult if the customer is non-technical or busy. Even high-level criteria are helpful, such as "Search for a product, and buy it” or “Load fast.” That’s fine so long as the stakeholders are open to iterations later to arrive at what they truly want. Conversely, the criteria could be very specific. Ideally, the developer helps the customer put more definition on their acceptance criteria throughout the process. The more quantitative, the better. The developer is finished with the work when they deploy or deliver the software or functionality that meets all the acceptance criteria. In conclusion, it’s not so important how the acceptance tests are written even though there are best practices; what is important is that you and the client know what is “done” and agree to it.
The book is chock-full of other applicable advice as well, from numerically-driven ways to handle estimates to suggestions for interacting with colleagues. All of the recommendations align to the goal of helping developers comport themselves as professionals so they’ll be treated as such by other professionals. It’s very important because our work is nebulous and our profession is new. I highly recommend this book to anyone who wants to be a professional software developer for the long-term or works a lot with them.
16 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Not what I'd thought it would be.
Reviewed in the United States on August 8, 2014I thought this would be about details of a type of coding or coding practice. I can't say I enjoyed the book but I learned a great deal from it. This book deals with the philosophy and ethics of being professional first, and being a coder second. It brought home a lot of flaws that I've displayed across the years. That's why it wasn't all that enjoyable; the writing was all too clear and direct.
Although I've been around IT for some time, I've only recently started working directly with professonal developers. That was my motivation for buying the book -- so I could do a better job and maybe earn a bit of respect. It did introduce me to Test Driven Developement (that in itself ought to reinforce that professional coding is new to me). After just one day of trying it I find that I pick up after distractions much faster, cover more cases to test, and even write in such a way the code seems to document itself without the huge effort I've had to make in the past just to get so-so results. And it seems to make even some of the dreary parts more fun because you can almost imagine it as a game you play against yourself. So I'm sold on TDD.
I'd begun to realize the importance of having good estimates and honest, timely reappraisals before starting to read the book, but the author certainly drives home how very critical this is to a professional coder and the rest of the team.
If you've programmed essentially for yourself (as a systems admin or database admin) but are moving toward true development, this is an essential book to read. It will show you bad habits to avoid and drive home the professional behavior that will earn you respect. I admit that is based on only about three months of experience in working with developers, but over the past two weeks (since I started the book) I'm sure that I sense a greater acceptance and respect.
17 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 4 out of 5 stars
Professionalism as defined by Bob Martin
Reviewed in the United States on September 23, 2011The clean coder is sort-of a follow-up on Clean Code. Where Clean Code explained how the code of a professional developer should look like, the Clean Coder explains what it takes for a developer to consider themselves a professional. The book is fairly small (200 pages) and it is an easy and quick read. The chapters are small and coverage is broad (and thus narrow at times...)
The book consists of of 14 chapters. Each chapter covers an aspect of software development and describes Bob's opinion on what it means to be a professional in that particular aspect. The first chapter is an overview. Chapter 2 and 3 talk about the ability to say NO! and not being pressured or talked into unrealistic promises and about how serious you ought to take it if you do say yes.
Chapter 4-8 discuss development-focused practices, from coding (4), to test-driving (5), practicing your skills (6), working with the customer by acceptance testing (7) and different strategies for testing (8). Each of the chapters is short that it doesn't really talk about the concepts, but it points out some important parts and explains why it is important for professionals to act a certain way.
Chapter 9-11 are more time-practices. Starting from Time Management (9), Estimation (10) and dealing with pressure (11). These chapters also strongly relate to the "Saying No" chapter (2) of not making unrealistic commitments and the "Saying Yes" (3) chapter of letting "Yes!" actually mean something. Especially the pressure chapter is one that the reader probably ought to read several times :)
Chapter 12-13 discuss about professionals working together with other people, with customers and with other developers. Chapter 13 is a little off as it covers a bit more on organizational structure to make efficient teams than how to act as a professional developer.
Chapter 14, the ending chapter, covers mentoring and craftsmanship. It stresses (a topic Bob often repeats) how silly it is that even McDonalds employees are better mentored in their job than an average SW developer. It envisions a better way of growing great developers in organizations.
The Clean Coder is an important book as there aren't many book on the topic of behavior of individual developers. Especially the topics related to developer behavior under pressure and making and avoiding commitments are, in my experience, of most importance for good software development... yet rarely discussed.
The book is an important book, yet I felt disappointed at times. Most topics are covered really shallow (keeping the book small) and at times it felt Bob was just cherry-picking a couple of practices he felt important. Also, at times, I felt the book was inconsistent with itself. For example, one of the things that annoyed me, is that in Chapter 1 he talks about professionalism and how one aspect of professionalism is to "know your field". Yet, in the chapter of professionalism he doesn't at all refer back to earlier attempts on the same subject. He doesn't refer to After the Gold Rush: Creating a True Profession of Software Engineering (DV-Best Practices) or about the attempts of IEEE and ACM of defining our profession. If you are writing on the subject, and tell people they should "know the field" then at least you ought to refer back to the earlier developments in "the field". Similarly, I felt the book is seriously lacking references to further study on the important practices that are covered.
The Clean Coder is also a very personal book. Bob is obviously the Clean Coder in the title and the definition of professionalism is his definition of being a professional. The book is full of stories from Bob's long career that helped him reach these conclusions... what it means to be a professional. I enjoyed the stories from his career a lot and it makes the book at times, almost an autobiography...
Conclusion. At times, I though this is definitively a 5 star book, yet at times I felt it is just average and shallow and doesn't deserve more than 3 stars. In the end, for me, it was the topic of unrealistic commitment that forms the skeleton of the book that I decided on 4 stars. It is less good as his earlier 2 books Clean Code: A Handbook of Agile Software Craftsmanship and Agile Software Development, Principles, Patterns, and Practices. But it is definitively an important book and worth reading, especially when you want to help building a true profession.
20 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
The book I wish I had when I started coding
Reviewed in the United States on March 19, 2018As with Clean Code, that other classic also by Robert C. Martin, The Clean Coder is one of these books I wish had fallen in my hands way before they did.
There are many other books that teach you how to write good code - that is not the purpose of this book. Rather, Uncle Bob strives to show you how to be a good professional, and all that entails. If the concept makes you want to sneer, don't - there are lots of behaviors that we'd normally do which are not professional and hurt both your company as yourself. Have you ever said "yes" when pressed to commit to an unreasonable deadline? Pushed half-done work through? Given overly optimistic estimations that people thought of as deadlines? Felt forced to wade through a mess of (partly) your own making? Well, even if you haven't, odds are that you will at some time, as (sadly) every developer finds themselves at such situations at some point during this career. What this book aims to do is to help you identify these situations, explain why these are harmful and provide you with the tools to better respond to these. Oh, and of course, expect the usual useful insight on how to improve your programming practices.
While Clean Code was a bit hard to read sometimes and made you stop every now and then, if only to get a better grasp of the concepts, this one feels so relatable that it reads in a breeze. What more can you ask for?
Our craft would be a lot better if every programmer was given a copy of this before they started working. Or at the very least, I am certain that this book has helped me become a better professional and I expect its teachings will continue to do so.
24 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Excellent book to this day(October 2025) for every software professional out there
Reviewed in the United States on October 19, 2025I liked the way author correlated their past experiences which are relatively similar today.
The idea of a professional software specialist and the professionalism is something we lack in the industry right now, this is needed for every small to large scale industry and I would point them this book to get a thorough understanding of what a professional does.
Sending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
If you care about software development at all, read this book now!
Reviewed in the United States on May 31, 2011This book is a condensation and distillation of more than 40 years of industry experience. It is an amazing read. The book expresses the concept of professionalism in the clear, simple (not simplistic,) unapologetic style that Bob uses in all his writing. At a short 204 pages, you can read it in a weekend (like I did.)
Having been involved in Agile (XP, XPish, ScrumBut) projects for several years and recently in the software craftsmanship movement, many of the concepts in the book were familiar.
The chapters on Saying Yes, Saying No and Estimation really spoke to me. I have had many experiences where I have agreed to "try." Now I see the danger of that statement clearly. I have also had experiences where I have stayed firm on my estimates and been encouraged to feel as though I was not a committed team player. I now have additional tools to help me combat that feeling and take professional actions despite pressure (from management or the team) to do otherwise.
For me, the most powerful section of the whole book is the commitments section of the Chapter 10 - Estimates. "Professionals don't make commitments unless they know they can achieve them. It's really as simple as that." Wow. I have reread that section several times.
8 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Great time reading
Reviewed in the United States on April 17, 2013I really enjoyed reading this book. It is great to watch someone else who went in same path as i am going right now. At sometimes you've got to question if Robert C. Martin is really right, but he describes his point of view. It doesn't mean it must be yours as well.
The worst part of this book is preface. I don't know how this preface made it to the book, but it is saying that developers are not professionals because it's hard for them to stick to their promises and release dates. To me preface was something like making fun of developers and that's why i have found it offensive...
I don't agree that professional developer should spare 8 hours/day working for his employer and then another 3 hours on his own study. If it should be so, the professional must be paid accordingly. I have not found anything about the other side of being professional - salary, payments... If it is your job to be responsible for every fault in the code and as book says you should pay if your fault makes an financial loss to your client, then you should also ask for adequate salary (which will cover your possible expenses for your failure).
Anyway, fantastic book which i would recommend to anyone who want to get better at his job.
5 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 4 out of 5 stars
There is no try!
Reviewed in the United States on June 29, 2011In "The Clean Coder: A Code of Conduct for Professional Programmers," Uncle Bob Martin is his usual, controversial self, but he is often convincing. One upshot is that I will never again tell a manager that "I'll try" to hit an overly ambitious deadline: I will either commit or refuse to commit, or offer an estimate of the odds of success. On the topic of deadlines, Martin observes that project managers and "suits" regard completion dates as commitments, while programmers tend to regard them as estimates, usually overly optimistic estimates. He makes the case that it is the professional duty of programmers to come up with realistic estimates and then stick to their guns.
Another good point Martin makes is that a professional programmer should take the responsibility to hone his or her skills outside working hours. He recommends working a focused and productive 40 hours a week, and then spending 20 hours a week on career development: reading, learning other languages, even practicing programming "katas".
One of the most controversial claims Martin makes is that getting into "the zone" - that mental state of total concentration for which programmers strive - is a bad idea, because it results in too narrow a focus. Personally, I'm not convinced. I think that the problems of focused programming can be remedied by being sure to take a big-picture view from time to time, and also by code reviews.
A problem with this book is Martin's use of overstatement to indicate emphasis. So when he says "never, never, never" agree to meet a deadline by working extra hard and long, he means "hardly ever". His insistence that agreeing to accelerate effort inevitably result in low quality code just does not wash. Not that it can go on forever, but my own experience is that a brief and intense push can often get things done faster without sacrificing quality. Even Martin's suggested regimen suggests that there is slack in the schedule: surely the 20 per week of career development could be sacrificed from time to time. I shudder to think of a mid-level programmer, influenced by Martin's rhetoric, refusing to work extra hours "on principle", thus harming both his own career and the prospects of his company.
With that caveat, however, the book has much sound advice, and is an excellent read to boot.
32 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Top reviews from other countries
Dicky Novanto5 out of 5 stars-
Reviewed in Singapore on February 3, 2021Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Claus Zirkel5 out of 5 starsI think every programmer should read this book very early in their career.
Reviewed in Australia on April 29, 2018Another great book from Uncle Bob. This time it is not about the program but the programmer. I think every programmer should read this book very early in their career. What Bob writes about professionalism is spot on.
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Envy5 out of 5 starsA must read for any serious professional
Reviewed in Canada on June 7, 2023I'm about halfway through and already its one of the most meaningful books in my career. It tackles a lot of the non-code issues in programming, such as being consistent on deliverables and communicating effectively.
No matter how good of a coder you are, following the advice in this book will make you a better professional and more employable. Absolutely worth every penny.
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
CARLA MARIELA GONZALEZ5 out of 5 starsExcellent book!!
Reviewed in Mexico on June 18, 2021This book is perfect for those who want to see and learn tips to improve as a professional, an excellent book for my taste.
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Cliente Amazon5 out of 5 starsUn ottimo libro
Reviewed in Italy on June 7, 2018Non troverete una riga di codice in questo libro, ma molte indicazioni su come un professionista si formi, pianifichi, reagisca alle emergenze e in generale si comporti. Per la serie "allora non ero pazzo io".
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport



















