A Culture of Incompetence - Part 2

This is the second part in this series of blog posts. Like last time, I’m sorting through the things I’ve learned, what worked, what didn’t work. One thing that surprised me about working in this industry was how not just things like out of touch policies, but the lack of a basic understanding of what goes into software engineering and development that undermined the company’s goals.

Things like meeting etiquette, dropping by one another’s desks unexpected, volume in the office, even archaic dress code make time in the office uncomfortable, difficult, and something to be avoided. The culture often seems to reward the worst offenders: That person who interrupts you all day long? They’ve gone home hours before you’re packing up

I know what you’re saying - “Patrick, you have to be vocal about these problems. You have to tell people so they can resolve these problems allowing you to get back to maximum efficiency.” Guess what? I did. Over and over. In person, through email, I even used social media.


There’s no question that interruptions and context switching will slaughter productivity for engineers and any type of thought worker. For some people that “5 minute” unexpected chat could drain an hour of effective productivity, in some people I’ve seen them get thrown off track for the rest of the afternoon when that happens. On top of getting out of rhythm these conversations often require context switching, cognitive load, or negative reinforcement.

Fixing What’s Broken

That tweet is only mostly true. The whole truth is that they have totally accepted their inability to deliver a high quality product on-time and on-budget. They have convinced themselves that this is simply the nature of doing business in this business - it’s actually impossible to do things on-time or on-budget.

Tantek’s excellent communication protocol

  1. Coding Horror - The Multi-Tasking Myth