Corporate culture is often full of bureaucracy and mismanagement. This is an underpinning theme in mainstream media; from TV shows like The Office to movies like Office Space to comic strips like Dilbert. The incompetence of managers is also a recurring sentiment expressed in the chatter on tech news sites like Slashdot, Ars Technica and Reddit again and again and again. This makes for great comedy and fodder for ranting, but it's also a pretty sad reality for far too many people. Bad management is an issue in every profession, but it seems to be a particularly acute problem in the field of software development.
I'm going to attempt to outline the characteristics an ideal manager. These characteristics should be universally applicable, regardless of your field. My focus for identifying these traits, however, will come from a software engineering perspective. If you're currently employed, these characteristics should serve as a quick and easy scoring system for your boss. If they earn a failing grade, please stop wasting your time and go work on your résumé right now. For those who are currently the boss, I hope these characteristics can serve as a self-assessment test of sorts as well as a benchmark for anyone on your team who manages others. What I really want to focus on though, is how to avoid working for a mediocre manager in the first place by making the most of your job interview.
I've conducted A LOT of interviews and I'm consistently surprised at how few thought provoking questions candidates pose. The interview is a two way street and if you're good at what you do and confident in your abilities, you must recognize that you have a great deal of control over the structure of an interview and ought be doing your damnedest to influence the subject matter, cadence and tone. This prospective employer should be challenged with proving themselves to you, just as you must prove yourself to them. Your career is important, isn't it? You can't afford to waste precious time reporting to someone who isn't capable of helping you strive to be better at what you do! The trick then, is to devise a way to test for these qualities over the course of an interview. This is no small feat and I won't pretend to know all the answers. I will just offer up some guidance based on my experience and hope that others will find it useful.
When looking for your next boss, I think you should be looking for someone who exemplifies seven easy to define but difficult to master qualities. I'm going to dub this archetypal manager EVOLVED. The seven qualities are:
- Hands On
Now let's dissect each of these qualities with an eye towards an interview setting.
Bruce Eckel has a great blog post that defines two kinds of management - Guidance & Inspiration vs. Directing & Controlling. Along a similar vein, Martin Fowler has discussed the two kinds of software development attitudes - Directing Attitude vs. Enabling Attitude. It should come as no surprise that they are both promoting the guidance / inspiration / enabling side of the coin. Enablers know to trust their people and avoid micromanagement. I believe that some of this is dictated by the person's personality and natural tendencies but experience also plays heavily on a manager's ability to enable others. Skillful managers that I've encountered surround themselves with talented people and know how to trust their team and focus on setting the proper context so their team is poised for success.
This is a great characteristic to try to identify first since it may be discernible in natural interview conversation. If you need to dig deeper, you get to kick things off with some classic interviewee questions in an effort to find out more and morph the interview session into a more conversational format. Asking "What is your management style?" is a great open ended question to start off with since it allows the interviewer to talk about themselves a bit and it will allow you to pick up on what traits this person thinks is important in a manager. His or her answer will likely set the stage for a smooth segue into questions about the other characteristics I'll be discussing. Be on the lookout for red flags right out of the gate that warrant ad hoc follow up questions.
From there, I like to ask "How are priorities managed for people on your team?" That question tends to highlight a lot about their style and the dynamics of the team. Lastly, I'd suggest a question along the lines of "How do you disseminate information to your team?" Does this person conduct staff meetings? 1 on 1's? Daily stand-ups? Other interesting communication tools? If they do staff meetings, I'd encourage you to ask "How do you prepare for them?" You're trying to get a sense of how important they feel it is to communicate well with their team. A great manager who strives to enable their team will treat communication (whether it's top-down, inter-team or intra-team) as something that requires conscious and consistent attention.
The Savvy Politician
Politics is generally a dirty word in the work place. This is especially true of engineers who tend to regard politics and red tape as a waste of everyone's fucking time and a massive impediment to actually getting anything accomplished. I appreciate that sentiment but what I've found is that politics plays a big role in every company setting, big or small. It's an unavoidable component of human nature that is to be ignored at your own peril. What you can do though, is ensure that you're shielded from as much of the politics as you'd like. This can only happen if your manager has the chops to navigate the political mine fields that exist in an organization.
This is one of the tougher characteristics to judge from conversation alone. One great way to gain some insight is to find out if the person has ever participated in layoffs. Given the Dot Com Bust and the Great Recession of 2009, this is something that a lot of managers in the field of software development have exposure to. There are very few universally applicable corporate processes that are as politically explosive as layoffs. Ask your prospective manager "Have you ever participated in layoffs?" If they have, follow up with "How was your team was affected?" You want to know that the person did all they could for their team. You want to know that they were well plugged in and knew what was happening before it happened. Better still, you'd like to hear that they anticipated what was to come and shaped their superior's thinking about the composition of the reorganization early and often. Managing during good times is easy. Managing a team when shit is hitting the fan is a different matter entirely.
If you come up empty asking about reorgs, another approach I like to take is to try to tease out signs of political savvy by asking, "How do you influence decision making and prioritization at your company?" or "Are their any areas where you and your peers have overlapping responsibility?" and "How do you deal with sharing those responsibilities?" You're looking for someone who portrays an ability to create consensus. The consummate politician knows how to establish and nurture trust within their organization. He or she can push their agenda one moment and keep evil turf mongers at bay the next.
One thing to be wary of is the manager who is detached from reality and thinks they are actually very good at navigating corporate politics - only they aren't. I haven't devised a clever gambit to detect this form of delusion in an interview, but have noticed that such managers tend to not only be ineffective, they actually inspire others to work against them!
The Hands On Coder
This one is incredibly important. Our industry seems to lend itself to people in high-ranking positions that can't write a line of code. The tech manager may be a brilliant meeting general, communicator or "people person", but in my not so humble opinion, if they can't prove a degree of hands on competency, you don't want to work for them. I'm talking about every technical position of authority all the way up the hierarchy. The possible tittles are numerous; Manager, Director, VP, CTO, CIO, Architect, Scientist. What's important as that this person really does have the capacity to do hands on work. Do I expect the CTO to be writing code on projects? Unless it's a small start up, of course not! But every good manager I've been around, at every level, has had the desire to tinker and has found ways to stay hands on without committing to time sensitive project work. Maybe they write small applications or scripts on the side for personal use. Or maybe they write utilities that help enable their employees to be more effective. If they've made a conscious choice to let their technical skills evaporate, you should be alarmed.
Luckily, you can often determine a person's technical aptitude by doing some investigative work before you even meet them. Does the person have a blog? Do they have a decent profile on LinkedIn? Are they on Twitter? Are they published? Maybe they have a public github or bitbucket repository? The tiny amount of time spent scouring the web to see what this manager is all about before your interview is invaluable.
During the interview, please don't presume that the person is technical just because they ask you a few technical questions - unless of course they happen to be really insightful questions that spark good conversation. You'll want to attempt to turn the tables a bit to garner some information. One of my favorite tactics is to get my interviewer onto a computer. It's rare for an interview to take place in a room with no computer. If you're lucky enough to be talking in the person's office, you're really well positioned to get a glimpse into this person's natural habitat. Can you get them to show you the code base? Or maybe demo an application that is being worked on? Anything you can dream up to get them navigating on a computer will suffice. Take the opportunity to observe them. Do they maneuver around their machine effortlessly? How many monitors do they have? What OS are they running? Do they have an IDE installed? If all I see is evidence of Excel and PowerPoint, I'm worried.
Every technologist I know is really passionate about their working environment and will happily go off on a tangent talking about their favorite tools for getting stuff done. If all else fails or you're running low on time, there's no shame in asking straight up, "How do you stay hands on?" and see what they say.
The optimal boss is someone who knows how to motivate and empower a team. A leader knows how to earn and more importantly, deserve the respect of their team. Leadership extends far beyond spreadsheets and pivot tables to manage your people, budgets, vacation schedules and other typical HR tasks.
I've had great success gauging potential suitors by asking them "Why do the members of your team love working for you?" and "How do you keep your team motivated?" There are many good answers to these sorts of questions, so I'll just rattle off a few of the things I'm listening for. A leader knows how to mix in social interactions to alleviate tension within a stressed out team working on a tough project. They know how to inspire camaraderie in the trenches through clearly articulated goals and meaningful public praise. They know how to eliminate obstacles. They know how to provide tools to make people more productive. They go out of their way to shield folks from distractions. They recognize that the people on their team are trying to create great software and that their time is an invaluable resource that shouldn't be wasted in nonessential meetings. They know how to earn the respect of their peers and others within their organization over whom they have no positional authority. They are the type of person for whom you'd fall all over yourself to accommodate a requested favor.
A CTO I met with some time ago still stands out in my mind for providing the best answer to my question on keeping a team motivated. He compared his role to that of a trainer at a gym. He was there to be your "spotter". He was going to put as much weight on the bar as possible and make sure the weights didn't fall on you while also convincing you to push out those extra repetitions that you didn't think you had in you. That's exactly the type of leader I want to work for.
Vision comes in many shapes and forms. Any manager worth working for has it. Those who are lacking a vision of something better are either completely uninspiring or their modus operandi is to jump from one messy adrenaline rush to the next. The ideal manager should be a bit cliché in that they should be able to see the forest from the trees.
Ask a question along the lines of "What are your goals for your team in the next year?" Perhaps they're looking to change the world with their product? Or open source some great software they've built? Maybe they're looking to eliminate waste and evolve their development processes towards something more mature? The possible answers here are endless. Your best bet is to come up with follow up questions on the fly after you ask about their goals.
Whatever the plans are, you want to identify original thought. You want to know that the person is sharing his or her own vision rather than regurgitating that of someone else.
Does this person love the shit out of what he or she does day in and day out? If they don't, you don't want to work for them. Period. I love to ask questions like, "How did you end up working on xyz technology?" and "How did you come to work at xyz company?" I'm testing the person to make sure that he or she isn't just doing something that they fell into out of convenience or happenstance. One of my favorite questions is to ask the person "What technologies are you most excited about right now?" You want to steer them towards talking about interests that go beyond what they use in their day-to-day work, even if they're working on bleeding edge technologies.
The best managers I've worked with have been really well rounded and read incessantly. Their passion for their profession has lead them to acquire working knowledge of a wide variety of subjects. In software engineering I have found that this manifests itself in specific technologies as well as various processes. Maybe the person knows all the ins and outs of the various Agile movements; from XP to Scrum to Kanban, etc. A vanilla question like "What is your development methodology and why?" can be quite illuminating.
Managers who are passionate about what they do are a huge asset to their organization. That passion is infectious and offers a team plenty of opportunity to rally together towards common goals. People who are passionate about what they do with have no trouble talking about these things. You're biggest danger would be spending too much interview time talking about their passions before you assess the other 6 characteristics.
A common problem I've noticed amongst some of the better managers I've been around is that they're often just too damned nice for their own good. This manifests itself in many ways but there are two things that really irk me. One is subjecting me to coworkers who aren't exceptional at their job. The other is working for someone who is uncomfortable being the "bad cop" when the situation demands it.
I want to know that my future boss will hold their team members accountable. They also need to be capable of questioning authority if need be. I've had some success by asking questions like "What's an example of something your manager or executive management team asked you to do that you disagreed with and what did you do about it?" I'm looking to ensure that they are neither overly deferential nor overly combative. Another question I've had good success with since I'm focused on web development is "Tell me about your last production outage and what was done about it?" I want to get a sense that there's no ambiguity when such situations arise. I want to know there are consequences for repeat offenders. And I want to know that they drive actions to prevent recurrence. I'm also paying close attention for signs of a reliance on just a few heroes. Detecting that the manager demands accountability can be tough, but it's a really important benchmark.
Luckily, identifying a decisive manager with that killer instinct is much easier on the staffing front. Hiring is hard. I don't take that for granted at all. But I sure as hell expect a manager to remedy the situation as fast as humanly possible when a hiring mistake is made. I was really inspired by the Netflix presentation that was making the rounds earlier this summer. Treating your business like a pro sports team is a brilliant metaphor that almost no company I've seen attempts to adhere to. We live in a pretty litigious society, so I'm curious how Netflix is able to purge so freely but I love the sentiment. I was also really inspired by this segment on This American Life about bad apples, which asserts that a team is only as strong as its weakest member. Please ask your potential boss, "What was your best and worst hire?" and follow up by asking, "What did you do about your worst hire?" I really want to know that this person is decisive and knows how to cut bait. Managers that turn every bad employee into a "fix it" project are trouble. Managers who are oblivious to their own hiring mistakes and can't cite examples of bad hires are even worse.
I would encourage you to actually put the questions that resonate with you on paper and use them as a guide when interviewing. Very few people who I've interviewed actually take notes during the interview. Fewer still show up with a concrete list of questions they want answered. I don't understand this phenomenon at all. Interviews are highly subject to tangents so a good script can only help you stay on track and ensure that you get the answers you need. And it'll even make you seem really prepared for the interview, which can only help your cause. Best of all, the preparation work I'm suggesting is entirely reusable from interview to interview. You'll find that you hone your queries over time and develop a knack for selecting the right mix of things to ask in the time allotted for an interview.
Finding a great manager to work for is no easy feat but I hope that I've inspired you to insist that your next manager is EVOLVED. Who you report to is the most important ingredient for job happiness. I'm confident that if you can identify a manager who meets these criteria, you will have found an ideal place to work. What's more, I firmly believe that these characteristics will help you find a boss who is destined for future success. They are the perfect person to report to because as they succeed and advance their career, more opportunities for success will open up for you as well.