Over the past 24 hours, two of my articles, Why Your Programmer Just Wants To Code and A Wake-Up Call For Tech Managers, received over 96,000 reads on Medium and over 900 Reddit comments.
It appears we have a bigger problem than I thought.
Yes, we have some bad managers at tech companies. And yes I was hard on them, placing the blame for programmer apathy directly in their lap.
But I want to help programmers who feel frustrated, disenfranchised, or shut-down. It was you who posted the vast majority of comments, describing terrible conditions and awful management. You raised your hand to say, “I’m tired of this.”
We, as programmers, have accepted this behavior.
We teach managers how to treat us by what we tolerate.
Let’s get real. We can’t change everything alone, but we have more power than we think.
Here are some actionable ways you can radically change your work environment.
Chances are good your boss used to be an engineer, just like you. Tech companies embrace the Peter Principle, and they promote people to the level where they begin to fail.
It doesn’t help that your manager probably received less training than your barista. (76% received less than 8-hours of training for their role!)
No one is born knowing how to manage or lead. The phrase “natural-born leader” is crap.
Many tech managers wonder if they are “cut out” for their job. Honestly, most of them wish they were still programming!
The transition from Programmer to Manager is hard, so let’s start by giving them a break. Yes, they need to change. But who doesn’t? No one is perfect.
Let’s find ways to change the environment so we can improve, together.
Both you and your boss are part of an environment with problems. Chances are, they didn’t create the environment. In fact, they feel as victimized by bad environments as you do.
The company, culture and environment usually dictates those things, and it frustrates the hell out of your boss.
You and your manager are the victim of a third thing: a bad environment. Bad environments have smells, just like bad code has smells.
I’ve worked in oppressive environments; and it’s stifling. It feels like you can’t breathe, and it leaves you frustrated and angry.
Think about the folks you side-by-side with for a moment. Are their any that you’d describe as an unappointed, informal leader? (Companies appoint Managers, but leaders seem to pop-up everywhere.)
Watch them closely. What do they do differently? Why do suppose they are doing it? How do others respond to them?
At my first job, I noticed that a co-worker, Milind, acted a bit differently than others. He was an informal leader on the team, even though I didn’t realize it at first.
Milind changed our environment by his actions, and he certainly changed my view of “Software Engineering.” He even changed how our boss acted!
He showed me that I had much more power than I thought; if I would only stop expecting to be spoon-fed everything.
His actions showed me that true leadership isn’t granted, it’s grasped.
With time I changed my behavior, and others did as well. So can you.
Most of teams discuss their agile process. What worked, what didn’t, how can things improve. That’s what an agile retrospective is for. The best teams regularly talk about it, and even make changes to improve things.
Great teams also talk about their environment.
Begin to make your environment a topic of discussion, and you may well see things change.
You don’t have to get approval from anyone for this. Don’t expect your boss to hold a meeting entitled How To Improve The Software Development Environment. Don’t propose it for the next team meeting.
Just start talking about it.
Start questioning assumptions, bringing up environmental topics in your retrospectives. The more you talk about it, the more others will too.
If you don’t have a regular one-on-one with your boss, ask for one. You don’t have to wait for them to initiate it. Most people feel awkward doing this, but every time I’ve done it my manager was thrilled I asked.
See, most managers see value in one-on-ones, but they suspect you don’t. Asking for one changes the dynamic completely.
Send a brief agenda in advance, and come prepared. (Unsure what to talk about? Grab a copy of the One-on-One Framework for some ideas.)
In your one-on-one, consider telling your boss that you’re working to change yourself, and the environment. That you want to be a more effective engineer, and create a more effective team environment. That you know tech skills are only a part of what makes a good engineer, and you want to improve your leadership skills.
They won’t feel threatened. You aren’t trying to take their job, but about doing your job better.
Every manager wants self-lead programmers, and self-managed teams. That’s the promise of agile, right? Your efforts will make their life easier.
Give this a try, and let me know how it goes.
Post a comment or reach me at [email protected].