While I don’t like to call myself a manager, I have spent a great deal of time managing people over the years. This has almost always been in a non-profit capacity, though it’s not always simply been about managing volunteers. Whilst working at a computer recycling center, we hired ex-cons and ex-meth addicts, typically with little to no work experience.
It was a great government-funded program to get these folks back to work, and it definitely succeeded for those who wanted to make a go of it. The workers who simply didn’t want to work, however, were always a challenge.
And yet, the ex-cons and drug addicts were, generally, easier to manage than many of the nerds I’ve dealt with over the years. When someone understands that they don’t know the business, nor how it’s run, they tend to listen a bit more. When someone thinks they’re the expert in a subject (yet they really are not), management can be very tricky.
(Related: Five rules for software project management)
That’s why I’m offering up five simple New Years Resolutions you can make as a manager that might have an impact in helping you deal with your problem children.
1: Save some budget for the troops by next holiday. You can’t let the higher-ups claw back any of your budget, right? When the end of the year comes, you’re probably scrambling to make purchase orders and blow that extra cash so your manager doesn’t think he or she can cut your budget next year.
But this year, you should plan ahead. Set aside some of that extra cash in a thoughtful fashion. When you’re cutting something out of the budget, try as hard as possible to find a way to get that remainder into the hands of your employees. Whether that means an end-of-year all-team bonus, or it means more catered lunches, better chairs and more team outings over the course of the year, troops love being taken care of.
2: If possible, manage less. We’ve all had to deal with that Needy Ned: the new guy who needs complete hand-holding. “OK, Ned, click that button, now drag those files into that window, open the issue tracker… the issue tracker… Click that link…”
But for those on your team who don’t need to be ridden like a racehorse, you can bet that seeing your face less often is going to be a good thing. This is not because they don’t like you, but rather because software developers work their very best when completely left alone. It’s counterintuitive, and you likely know that you have a few folks on your team who cannot be left to their own devices.
The team’s real leaders, however, should be as hands-off as possible. That doesn’t mean you don’t talk to them, it just means you don’t stop by the cube to check up. If you’re unsure about a worker’s ability to perform without being constantly managed, maybe this is the easiest way to give ‘em enough rope… This resolution also dovetails nicely with…
3: Hold fewer meetings. This is getting harder and harder in a microservices world. Constant data migrations, new deployments, and a proliferation of interconnected services means everyone has to be on the same page at all times. Steve can’t run off to build whatever he wants without telling Sarah, or else the interfaces won’t work correctly.
And yet, you are still probably having too many meetings. Tools like JIRA, Slack and Git can all be used to omit a great number of meetings. There is still always a need to get everyone into the same room and hash things out, and no one is suggesting the elimination of SCRUM meetings. But there should be a way in your organization for developers to say, “Hey, I can’t get to that meeting because I am cranking out code right now” and not get in trouble.
One tactic I enjoy and have found to work is the White Flag. Take a piece of white paper and tape it to your door or the outside of the cube wall. When the White Flag is up, you do not, under any circumstances, disturb the flagger.
4: Be more amenable to working from home. If you open your mind to the possibilities of working from home, you can instantly increase your ability to hire by an exponential factor. I could tell you a dozen stories about amazing developers working for next to nothing and meeting every target, and yet they’ve never once met their bosses in person.
One example I cite frequently is a gentleman in rural Poland. While he performs the work of a senior developer, and is responsible for the code behind many crucial systems, he lives in a remote farmhouse and makes the equivalent of US$35,000 per year.
His U.S. equivalents started at $70,000.
The trick to making working from home succeed lies entirely in the hands of the manager. If an employee is working from home, and slacking off and not contributing, the manager should know this immediately. If the manager cannot know this, the manager does not have good dashboards!
Just because some people cannot handle working from home does not mean nobody can. For software developers, working from home is like a drug: They’re rarely interrupted. They don’t need to deal with other humans in person. They don’t need to get dressed or worry about hygiene.
While it’s certainly a stereotype that developers lack social skills and good hygiene, there is no doubt that social interaction and the niceties of office life detract from the concentration one needs to crank out software.
This worked, in a different way, for Amiga. When RJ Mical was writing the original operating system for the Amiga, his commute time began eating into the project’s deadline goals, even months away from the ship date. The team rented a hotel room, and RJ began rolling out of bed and sitting at his computer immediately, every morning, for almost six months. While this is an extreme case, it is absolutely certain that, had RJ had to go into the office and attended meetings, the Amiga would never have shipped on time.
5: Fire the jerk. This is something I have learned time and time again in my non-profit life. When you have volunteers, you may feel that you cannot fire them. This is entirely untrue.
Your main job as a manager is to keep jerks out of your team. Even if the jerk is your absolute best developer, no one is worth the pain and suffering they can cause your employees.
You know who this person is. They’re the one on your team you sit up at night worrying about. The one that’s running off to HR every time a team member sneezes. Or arguing you into the conference table over insignificant technical details. The one who’s never happy.
If you’re sitting up at night worrying about this person’s behavior, you can bet your team is complaining about them at the bar after work every day. Even if that one person is the only one in the organization who understands crucial apps X, Y and Z, they’re not worth the headache.
I have had to fire a number of very talented jerks in my day. Allow me to assure you that, no matter how much extra work it makes, you will immediately feel better, and your team will immediately feel better. You will literally feel a sense of dread lift from the office.
When in doubt, err on the side of firing the jerk. And if they have a 20-year pension behind them and a bloody trail of quitting coworkers littering that trail, your decision is already made. Maybe they should try working from home for a while…