Don't do it culture

Imagine you have an engineer who reaches out to you in the dying days of her sprint with this words: "I have an idea about how we can make some procedure better and I am done with my tasks. I'd like to do it". What will be your response? You may not notice it, but it is a defining moment for you company's culture.

Do you say "We have a task for that in the backlog"? If so, engineer will hear "Don't do it, it will be assigned to you in the future". Even though other priorities may prevent this from actually happening.

Do you say "Bob was doing that. I do not know where he is, you should check with him first"? If so, engineer will hear "Don't do it, it is the Bob's task". Even though Bob may be overloaded with other work and this one is on the bottom of his list.

Do you say "We need to do a risk analysis, write a wiki page with the detailed proposal and get Architecture team to approve it"? If so, engineer will hear "Don't do it, it is a huge process that does not fit in the couple days you have".

Do you say "Great, let's call a meeting with Alice, Bob and Charlie because their teams may be using this library"? If so, engineer will hear "Don't do it, or you'll hate your life". Engineers hate meetings. You just suggested an engineer to drag three more engineers into one and start it with "you are all here because I had an idea". That is a nightmare material.

Do you say "It is a legacy system, not much value improving it"? If so, engineer will hear "Don't do it, it is a waste of time". Even though she will be stuck with the "legacy" system for years and that system may very well outlive Engineer's term with the company.

What if engineer does it anyway and causes a problem in prod. What do you say in the incident's post mortem? Do you joke "That's the first strike"? Do you ask with the straight face "What should we do to ensure this never happens again"? Is it a meeting with 25 other engineers dragged out of their projects? If so, engineer hears "Don't do it ever again no matter what".

The "Don't do it" culture grows faster then you can imagine. Next time engineer has an idea, another thought would also enter her mind. One of those:

  • Bob was doing something around Database. This one is something about Database. I will not do it.

  • I do not know who uses it and how. It is too hard to find out. I will not do it.

  • It is all legacy, nobody cares. I will not do it.

And before you know it, you have a team of smart engineers, with all the right ideas, and whenever somebody brings up a big-change-idea you hear "we'd love to have that", "that was out intention from the beginning". And yet your code stinks and technical dept is piled sky high. And you wonder, how come we have a team of smart people, best of the best, and our codebase is not the best?

If that sounds familiar, then you have a "Don't do it" culture.

All it took to not get there, was to say to those proactive engineers "Just do it". Pad it with "do it in a branch" or "write plenty of unit tests" or "roll this out slowly" or whatever is that you could think of to lower the risk of braking production. Chances are, couple of days is not enough for Engineer to complete it and she will put it on hold till better time anyway. But the right culture will grow.

"Just do it" is a hard sentence to say. But any alternative is the eternal gloom.

Posted On

Category:

Tags: /