Culture

1. Culture

Businesses make a huge deal about their culture. They want you to read their culture page (spoiler, it looks the same as every other one) and they list “great culture” as a benefit on their careers page.

It’s all a lie. Because culture is NOT what you say it is. Culture is what you do every single day. No amount of platitudes will change that. In fact some of the places I have worked that had the WORST culture were the most vocal about the imaginary one.

There’s an oft-repeated quote on the internet: “When someone shows you who they are, believe them the first time.” - Maya Angelou1

This applies to companies as well. No amount of “we’re like a family” will ever change the fact that this is a transactional relationship. I am here to trade you irreplaceable hours of my life spent doing tasks for you. In return, you will provide compensation. Maybe your family works like this as well, but I’m betting most don’t.

Anyone that has ever been laid off should know exactly how quick the “family” is to show members to the door as soon as it is economically advantageous. And I’m betting most of you also know how quickly you are forgotten by the majority of your “work friends” when that happens as well.

2. Loyalty

Companies today bemoan the lack of loyalty in their workforce. They conveniently forget that loyalty is a two-way street. Once upon a time, I’m told, you would work for the same company your whole career. You’d work your way up from the “mail room” to being some sort of manager, and then retire with a nice pension and a watch. I’m unsure if this was ever actually the “normal” for most people, or if it has always been pleasant fiction. I could probably find out with an afternoon of research, but I don’t care.

What I do know is that it’s no longer true. Companies have become focused on only one thing, this quarter’s profits and the report they will file at the end of it. Large scale layoffs are no longer viewed as a shameful failure to manage your business, they are expected, praised, and rewarded. Why would I care to be “loyal” to that sort of organization? Why would anyone?

I believe that the rise of all of this “culture” nonsense is tied to this fact. There is a certain type of person, the kind that believes if you say a thing often enough it becomes true, and this sort of creature seems to inhabit HR teams and middle management. The same sort of places where “pizza party” level ideas emerge. This sort of creature has been working overtime in every single place I have worked to try to convince all of us worker bees that they have an “amazing culture” despite all evidence to the contrary.

These creatures love to say “we have a games room!” as though the existence of a ping pong table that I will never use (I’m here to work) will somehow change the fact that my day-to-day existence involves fighting red tape and the sort of office drone that has obediently conformed to the “(ass + seat) * hours = productivity” mindset.

I have worked a LOT of places that had game rooms. I have never used one.

3. Culture Training

I have been subjected to an awful lot of fucking nonsense in my career. Self-styled “motivational” speakers, flown great distances to read me powerpoints that other people wrote rank high on my list of time-wasting nonsense. All of this is usually in the name of “culture” or “alignment”, both of which are words that make my blood instantly start to boil.

The most recent version of this that I had to endure was a two-day course complete with a workbook, “taught” by someone who had clearly never produced anything of actual value in their career. Clearly whoever was in charge of this idiotic idea had somehow convinced themselves that two days of wishing hard enough and beige corporate niceties could undo a decade or more of being a dickhead in anyone who attended.

I don’t think it’s a coincidence that the number of dickheads in that company was among the highest I had ever seen. It was also the kind of place that was too cool for an HR department, instead having cutesy names about teams and culture and people. It changed at least two or three times while I worked there, everyone mostly called them HR anyway. They didn’t like that much.

The true culture of this place was a grindfest with crunch periods masquerading as “feature freeze”, testing treated as an afterthought, regular rounds of drop everything and deliver an unplanned feature because sales promised it to someone, endless meetings, planning weeks, and other forms of Scrumgile theater. Teams would routinely throw huge changes over the wall right before feature freeze and anything they happened to break in your area of responsibility was mostly on you to figure out.

Of course the result was that you often found yourself scrambling to try and put things right before release. It’s no surprise that we had entire major versions that were nearly unusable roll through the doors while I was there.

4 So, What Do?

Ultimately, if I had a magic solution that would solve all of this I’d probably be delivering this post as a keynote speech. It would probably be extremely expensive too! But I think most of us have an intuitive grasp of how to build a good culture. It probably looks a lot like building the environment that we actually want to work in every day. I’m torn on whether this is as easy as it sounds, or if there are confounding factors I’m not considering, but we can certainly address a few high level pain points as a start.

I was once told by a senior QA dude that you had to be careful when raising bugs because you were calling a developers baby ugly. I hated that, a lot. As a developer when someone raises a bug I go in fully prepared to discover that my baby is indeed ugly. When you take that possibility seriously, and address the issue, people know that you care. They aren’t afraid to bring issues to you in the future, and respond positively when you ask for more/better information on what’s actually happening. I have worked with a few people like this, and remember the experience favorably, let’s try to encourage more of this.

There are good arguments for bringing the developers closer to the user so that they better understand the problems, there are good arguments for developers to be more involved in the testing of their own code. These arguments should not be used to eliminate roles such as QA and support, or relegate them to second class team members. The support and QA team should be treated as different, but equally valuable. I have worked both of those roles, and we were treated as annoyances to be overcome in both cases. I think there are a lot of smart people that are trying to work their way through support that we can support by doing them the courtesy of taking their input seriously. A good support team is a goldmine of knowledge, imagine what we might know if anyone but bothered to ask them “where are the pain points?”

For developers, I think I would advocate primarily for recruiting people that are genuinely likeable and have a positive attitude. Secondary to that I’d look for people that believe in testing, their own fallibility, and have a tendency to take ownership quickly when an issue arises. Issues will arise, calm action should be the norm when they do. I can hear you becoming uncomfortable because there has been little mention of hard skills so far. I have a strong hunch that this sort of personality will also become very good at actually coding, with or without your help. Entirely too much weight is placed on specific experience these days.

Speaking of specific experience, that brings me to my next point. You must recruit less experienced people. You must also provide a path for these people to move within your organization. “X is a good support person” should never be the reason that someone is not able to move to another role. You need to be actively nurturing your pipeline of up-and-coming employees. Some will leave, taking that experience with them. That’s no reason to skimp on investing in your people. Let them go and wish them well. I’m almost certain that the entire industry will improve if we all do this.

This theoretical place we are building is also not a Scrumgile shop. This is a place where we trust that the very smart and generally likeable people with a bias towards ownership that we have hired will seek clarification from individuals or the group if they are blocked on a task without prompting or the need for a professional meeting scheduler. I’m not entirely sold on the need for PM/PO roles in this place either. Putting some “product minded” engineers in the driver’s seat and letting them work with actual users would be my knee-jerk solution.

I’m probably missing some things, but I think that would be a very good start towards a good place to work. It’s very simple, and that’s a feature not a bug. I think if you could build a foundation like this you would naturally cultivate a good “culture.” I’ve enjoyed some elements of these basic guidelines at places I have worked before, and we got an awful lot of stuff done to boot. Culture became almost effortless in these environments.

And, if we’re honest, isn’t that the point? All of this corporate productivity theater focused on trying to artificially create the side effects of a healthy and productive environment in order to somehow manifest the existence of that environment. I suspect that, as with most things, the corporate clowns have it backwards because they never understood the assignment in the first place.


  1. Don’t get too excited about this, I’ve never read anything she’s written. I’ve only seen the quote online. ↩︎