“The Clean Coder” second chapter is about saying : NO !
I know that giving this word as an answer to your co-workers/bosses may sound highly unprofessional but on certain occasions not saying it can have much worst consequences.
Here’s a fictional conversion between a client and a developer to explain the concept.
– Client : “Hey ! We would like to have the feature B for the next release (#5), can you do that ?”
– Developer : “But we agreed to deliver it for the release #7.”
– Client : “I know but this feature will help the business a lot.”
– Developer : “We don’t have time to do all the development and testing for the next release”
– Client : “Look, this is high priority for our customers.”
– Developer : “I’ll try”
– Client : “Thanks !”
What happened here ? The developer just agreed to do extra work he knows he doesn’t have time to do (he said it !). Instead he chose to avoid any conflict by saying “I’ll try” that will bring a lot of confusion in a near future. By answering this the developer says “NO” without saying it and the client understood a “YES”, this will end badly. Maybe it’s possible to meet the deadline by using the “quick & dirty” approach and by removing the tests phase. Doing that is risky for the software and is a violation of the “do not harm” principle, and the way the developer does his profession is dictated by the client.
In this example the developer should have stuck to the “NO” because he “doesn’t have the time to do the development and the tests“. Or he should have tried to switch the new feature with another one to fulfill the client request without adding a new amount of work, it can be a win-win solution .
Professionals are hired to ensure that the direction chosen makes sense and follow the right path. If you don’t behave this way you might just be a laborer.
A few years ago, I was an inexperienced junior developer and I faced a situation like this one. I did the mistake shown in this example and of course when the release came, I was not ready and the situation I had to deal with was far from pleasant.
I’m not saying that you should always say “NO”, this would be also unprofessional, but you need to know when to say it.
And you need to know to say “YES“ as well. This is our next topic !