Great work, good money, and time to play with the kids (or friends, or your band, etc).  These things are important at a personal level.

And so is dignity.

We need to work at it to preserve it.

This is a slightly edited version of an internal document.  We wanted to share it to illustrate another aspect of our culture and to encourage others to take an explicit stand on [email protected]

Stop Trying!

Mom pulling on child that's holding on to door frame

Source: Childwise Chat

If anybody in the team, including “los del otro lado,” wants us to do something unproductive we push back.  We don’t just say “OK” and then “try” our best.  We point out that “this is not going to work” or “there are easier ways to do this, if we change it a bit” or whatever.  We don’t just acquiesce to “not make waves.”  That’s only an excuse for not taking a stand.

“Trying” knowing that it is not going to work robs you of your dignity.  You are not going to feel very good about “trying” by the end of the day.   In the end no value is created for you, your team, or the client.

“I could have told’em it wasn’t going to work.”  Those are the words of a broken spirit trying to push away the pain and shame of having given up from the start.  If there’s something to be said, say it.  You’ll feel much better about it and will create more value for everybody involved.

Commitment to success requires that, right from the start you push back on any requirement that does not make sense.  It means pulling the team back from taking the wrong path even if it means a fight.  Better to fight the good fight now, when there is still a chance of avoiding the problems you foresee.

For our business, pushing back is money in the bank, so to speak.  It differentiates us from the countless body shops out there that sell obedience at cheap rates.  “Push back” and contribution beyond “cranking out code” is why our clients choose to work with us instead of going to body shops in far away places.

We all put a lot of effort into hiring people who can contribute beyond their technical skills.  The fact that you are reading this is proof that you can do more than mere techie stuff.  Our clients value and expect your full contribution—they expect you to lead.  “We need people who can push back and gives us alternatives if we are asking for the wrong things.”

It Must Be My English

If a request is not clear, ask for clarification.  And keep asking until you are certain that you understand what’s required and why.  “This is what I want you to do” is only half a request.  We are professionals, we need to understand more than the how of a request.  We need to knowwhy.  And you won’t find out unless you ask.

If anybody is upset by your questions, then better to upset her now than when you deliver the wrong thing later.   Because you didn’t ask.  Because you didn’t insist  on understanding the what, how, and why of the request.

The smart thing to do is to learn to ignore the little voice in your head that says, “oh, it must be my English–I’ll ask the others later.”  If you don’t understand something, it doesn’t matter why.  Even if it is because of your English, it is still your responsibility to get to the bottom of it.  Otherwise you are going to get the wrong thing done.

Don’t worry, if it really is your English and everybody else in the room does know, they’ll let you know.  And they’ll do it in no uncertain way.  “Yes, we understand what’s needed here, we’ll explain it in a bit.”

What happens most often is that everybody in the team is listening to the same “voice” in their heads and at the end of the discussion nobody can explain the requirements.

“I think she meant to say …” or “I didn’t get that part, but I think …”  Don’t put yourself in this situation, ask on the spot, or call back and ask for clarification.  You are responsible for knowing, not guessing.

Better Not to Say Anything

If anybody behaves unprofessionally, we push back and deal with it on the spot.  “Better not to say anything” is the worst thing you can do, for yourself for your team, and for the client.  Object to it on the spot and if need be, escalate it, too.

If anybody in the team, particularly any “authority” on the client side, ever “yells” at you or any of your teammates, calmly ask them to lower their voice and behave reasonably.  Don’t drop down to their level and start yelling yourself, but don’t let them get away with that kind of behavior.  Deal with it on the spot and escalate as necessary.   Ditto for foul language.

This Should Take You Three Days to Complete

If anybody tells you how long it is going to take you to do something, push back.  Make your own estimates and explain why it is going to take you however long you estimate that is going to take you.  If the person pushes back with, “well I can do it in half the time,” then they should do it.  It’d be more efficient all around, right?

I Didn’t Say Anything Not to Lose the Client

That is not a good reason for giving up your dignity.  Actually, that is not a good reason for anything. As a company we are ready to fire a client if they don’t know how to or refuse to behave professionally.  We have done so in the past and we’ll do it again if need be.  If our only value is to take abuse from a client, then that’s not a client we want to work with.

We are “the marrying kind” and cherish all our long-term relationship.  But they have to be good relationships.  It has to work for everybody in a healthy way, not a sadomasochistic way.

The Client Told Me to Work this Weekend

Or work all night.  Or cancel my vacation.  Whatever.  These are out of line and it is inappropriate for the client or anybody else to tell you to do any of these things.

We’ve had teams that have signed up to work in shifts around the clock at the time of a major (major) release of their product.

Other times, people have rushed to the office during the weekend to take care of a problem that rendered their product inoperable.  Even though they didn’t create the problem.

In many cases, people have work long hours to clean up their own messes.

All of these are different than having somebody telling you to do one thing or another simply because they say so, end of discussion.  This situation is very likely a sign of a broken relationship.  So let’s try to fix the real problem, but not by simply by going along “to not make waves.”

Just like anybody else, sometimes clients get themselves in a pickle, panic, and overreact.  You’ll know when this is the case since you’ve been working with this person day in and day out for a while.  In this case, the best you can do is to help the client calm down, consider all the options, and arrive at a temporary fix or some other solution to the situation.  It may even involve working over the weekend, if that’s what you both decide.

And that’s the key: a consensual decision given the facts, rather than one person making unreasonable demands of another.

Our Team, Their Team

That’s nonsensical.  There’s only one development team.  If that is not happening, bring it up and fix it.  You owe it to your teammates, all your teammates.

Teamwork means celebrating our diversity and how it binds us together.  We don’t let a little bit of geography get in the way.

Our Chatrooms?

Interact with your whole team in chat rooms early and often.

Interact with your whole team in chat rooms early and often.

Interact with your whole team in chat rooms early and often.

Notice that it doesn’t say to interact with “our” team or any such.  Work with your whole team.  Otherwise, we end up with two separate teams.  And that’s not valuable to anybody.

Don’t Mute the Mic

Never, ever mute the speakerphone’s mic when having a meeting with your team, no matter who is at the other end.  If they are part of your team, the mic must be on all the time.  You have to assume that they want to participate fully in the meeting.  Cutting off the mic is just rude and a reminder of the physical separation.

If you were all physically in the same room, you would not send some of your teammates out of the room to have a “private” conversation.  And you would not have a separate conversation while somebody else is talking.

If you need to translate something, or clarify something in Spanish, or whatever, do it but leave the mic on.  Think of it as everybody’s chance to learn some Spanish.