Mostly this book is pretty good. It's a series of anecdotes from the author's lifetime of working in the software industry. They are reminiscent of things you might see on thedailywtf, but they are followed up with an explanation of what the correct response to each situation would be. This actually makes the book more readable than the previous one in the series, which was much more technical. It also makes it rather harder to apply to one's own life. It's not just a matter of running down a checklist of code style points anymore. I guess overall the reader is left with a sense of the 'right' way to handle business interactions, but I fear it might be very quickly forgotten if he doesn't read it again and take notes.It's interesting that many of the examples feature miscommunication caused by someone using ambiguous language to avoid a confrontation. E.g. the boss insists the programmer finish the projecy within a week even after being told this is impossible, so the programmer says he will 'try to do that'. The boss hears what he wants to hear and goes away. The author considers this morally the same as lying. I think in England this use of language to avoid conflict is actually seen as a virtue, so I doubt we can stop doing it, but maybe he is right and we should be more direct.Of course I'm not convinced that project estimates are really the thing that should have been used in all the examples of programmers sticking to their guns against bosses, because I think the bosses must know that estimates are frequently out by a factor of ten and so it's not completely ridiculous to expect the programmer to shorten his estimate.There is one problem which runs throughout: the nebulous definition of 'professional'. The reader is constantly reminded that as a professional he ought to be autonomous and not afraid to say no to his boss when he knows more than the boss, or when asked to do something 'unprofessional'. Comparisons are made to doctors and lawyers. The problem is that these professionals are self employed. They are hired by clients but do not work for bosses. While it is possible for a programmer to be a self employed consultant in the same way, it is not the norm, and all of the examples featured in the book are programmers who are employees. There are examples of developing software for clients, but the programmers here are still employees of a consultancy firm and not directly engaged by the clients.The confusion is worst in the first chapter, which almost made be abandon the book. The author seems to have completely bought into the propaganda used by American capitalists to justify treating their employees like shit. He tells us that we have a duty to work 60 hours per week - because we are 'professionals' and hence owe it to ourselves - but that since we are professionals we are also responsible for our own well being and hence we have no right to expect any sort of benefits from our employer. Basically, he is expecting the wage slaves to work with the same fervour as the owners of the business. An excellent example of the truism "Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires." The book contains a lot of good advice for software developers and their managers. For instance it teaches how to say "yes" or "no" (spoiler: it's not "I will try") and why this is important for the success of projects. I rate it only 4 out of 5 stars because it's sometimes too black-and-white, some parts read like "if you don't do X you're unprofessional". Still I recommend everybody in the business to read it.
Do You like book Clean Coder (2013)?
Must read for professional Developers and for those who are about to start Developer Career....
—jess
A lot of great ideas in there. Really helped me to see myself more as a professional.
—dillon1234
Not as good as I expected, lots of Uncle Bob personal stuff. Anyway, worth the read.
—amyrheath
Great book. Essential for any software professional.
—kristi