Marko Anastasov wrote this on August 19, 2011
Book review: The Clean Coder
This book could be called Timeless advice for working programmers and it would be appropriate. In 200 pages it packs succinct advice on professionalism, managing expectations, negotiation, coding practice, self-management, collaboration and basically everything that makes a software developer’s professional life.
The chapter “Saying No” delighted me, as it completely uncovered the psychological background of feature negotiations. That moment when the manager or client comes up and says “I’m hoping you can do the login page tomorrow”. It’s crucial to realize that it’s up to you assess the situation and hold on to your professional word of what can be done and when. Also the “Typical Project Proposal” guest essay is brilliant, it’s everything that can go wrong from the moment when you accept to do the impossible.
Estimation is something that we at Rendered Text have been learning completely from our own experience and mistakes. We no longer commit to a time estimate for an iteration longer that a month, but it took us a lot of failed optimism to reach that. And thanks to a chapter in Clean Coder, we now use the PERT scheme coupled with Planning Poker.
Here’s a great quote on testing:
How can you consider yourself to be a professional if you do not know that all your code works? How can you know all your code works if you don’t test it every time you make a change? How can you test it every time you make a change if you don’t have automated unit tests with very high coverage? How can you get automated unit tests with very high coverage without practicing TDD?
Chapters are usually illustrated with anecdotes from Uncle Bob’s younger days. In hindsight, it’s a little surprising what sort of mistakes he and his teams would make, but also amazing what kind of work and effort had to be made in the old days for what we now take for granted (debugging from tape anyone?). Everything written here is so real. Thanks, Uncle Bob.