Clean Coder, The: A Code of Conduct for Professional Programmers (Robert C. Martin Series)
Rate it:
Open Preview
20%
Flag icon
And then, as I told you in the introduction, we all quit. And they were left with a real crisis on their hands. They had to hire a new batch of programmers to try to
20%
Flag icon
deal with the huge stream of issues coming from the customer.
20%
Flag icon
His intimidations made it difficult for him to hear the truth.
20%
Flag icon
our team lead should not have caved in to the Friday demand.
20%
Flag icon
Professionals speak truth to power. Professionals have the courage to say no to their managers.
20%
Flag icon
Slaves are not allowed to say no.
20%
Flag icon
Laborers may be hesitant to say no.
20%
Flag icon
But professionals are expecte...
This highlight has been truncated due to consecutive passage length restrictions.
20%
Flag icon
the hard decisions are best made through the confrontation of adversarial roles.
21%
Flag icon
One wonders if he’s not going to simply report back to his boss that the customer demo will have to be postponed because of Paula. That kind of passive-aggressive behavior is morally reprehensible.
21%
Flag icon
My experience is that the why is a lot less important than the fact.
22%
Flag icon
Providing too much detail can be an invitation for micro-management.
22%
Flag icon
The higher the stakes, the more valuable no becomes.
22%
Flag icon
“Firing me isn’t going to change the estimate, Charles.”
22%
Flag icon
A team player is not someone who says yes all the time.
23%
Flag icon
Mike: “You could work overtime.” Paula: “That just makes us go slower, Mike. Remember the mess we made last time we mandated overtime?”
23%
Flag icon
Mike was playing on a team of one. Mike is for Mike. He’s clearly not on Paula’s team because he just committed her to something she explicitly said she couldn’t do.
23%
Flag icon
The word try has many definitions. The definition I take issue with here is “to apply extra effort.” What extra effort could Paula apply to get the demo ready in time? If there is extra effort she could apply, then she and her team must not have been applying all their effort before. They must have been holding some effort in reserve.1
24%
Flag icon
The promise to try is an admission that you’ve been holding back, that you have a reservoir of extra effort that you can apply.
24%
Flag icon
By promising to try you are promising to change your plans. After all, the plans you had were insufficient.
25%
Flag icon
Most of the time we want to say yes.
26%
Flag icon
every feature a client asks for will
26%
Flag icon
always be more complex to write than it is to explain,
27%
Flag icon
They will always want more features.
27%
Flag icon
The clients, despite their protestations, despite their apparent urgency, never care as much as you do about the app being on time.
29%
Flag icon
John is the one who worked 20-hour days and 90-hour weeks.
29%
Flag icon
What we all have to realize is that saying yes to dropping our professional disciplines is not the way to solve problems.
30%
Flag icon
There are three parts to making a commitment. You say you’ll do it. You mean it. You actually do it.
30%
Flag icon
Your boss wanders into the room and mumbles, “we have to move faster.” And you know he really means YOU have to move faster. He’s not going to do anything about it.
30%
Flag icon
There are very few people who, when they say
30%
Flag icon
something, they mean it and then actuall...
This highlight has been truncated due to consecutive passage length restrictions.
32%
Flag icon
You can only commit to things that you have full control of.
34%
Flag icon
Years of experience have taught us that breaking disciplines only slows us down.
34%
Flag icon
Professionals are not required to say yes to everything that is asked of them.
35%
Flag icon
Being able to sense your errors is really important.
36%
Flag icon
Don’t write code when you are tired. Dedication and professionalism are more about discipline than hours.
37%
Flag icon
Avoid the Zone.
38%
Flag icon
There is a physiological change that takes place when you work with someone.
40%
Flag icon
For some reason software developers don’t think of debugging time as coding time.
40%
Flag icon
Software development is a marathon, not a sprint.
41%
Flag icon
Woe to the poor developer who buckles under pressure and agrees to try to make the deadline.
41%
Flag icon
overtime will certainly fail if it goes on for more than two or three weeks.
41%
Flag icon
Therefore you should not agree to work overtime unless (1) you can personally afford it, (2) it is short term, two weeks or less, and (3) your boss has a fall-back plan in
41%
Flag icon
case the overtime eff...
This highlight has been truncated due to consecutive passage length restrictions.
41%
Flag icon
If your boss cannot articulate to you what he’s going to do if the overtime effort fails, then you shou...
This highlight has been truncated due to consecutive passage length restrictions.
42%
Flag icon
It is unprofessional to remain stuck when help is easily accessible.
42%
Flag icon
programmers tend to be arrogant, self-absorbed introverts.
42%
Flag icon
But the reality is that programmers do not tend to be collaborators.6 And yet collaboration is critical to effective programming.
42%
Flag icon
Nothing can bring a young software developer to high performance quicker than his own drive, and effective mentoring by his seniors.
43%
Flag icon
The bottom line is that TDD works, and everybody needs to get over it.