Sometimes it seems as if every tech pro has a story about a boss who insisted that debugging code could be done in an hour, or that fixing a certain error wouldn’t result in five new ones. This guy didn’t have any sort of technical background, but he nonetheless knew how tech pros should do their jobs.
To call such situations “frustrating” is an understatement. But sometimes we forget that our boss has a different set of skills than we do. They also have different agendas and even conflicting views about what constitutes “success.” We want tightly written code. They want code that’s produced fast, and they don’t particularly care if it’s messy.
If you haven’t run into this kind of boss, consider yourself lucky. But given the way business works today—with developers embedded in marketing departments, for instance—don’t assume your luck will hold. If your boss is constantly pressuring you to meet unrealistic deadlines or perform impossible tasks, here’s how to handle the situation.
This is critical, suggests Alice Ain Rich, a career coach in Newton, Mass., who’s worked for tech firms such as Kronos, Bitstream and Dragon Systems: “Articulate what you need to get your job done, so when your boss goes to talk to people on the next level, he can understand what’s important to you.” Remember, your manager may not have your background or experience, so you’ll have to explain things clearly and concisely. Your aim isn’t to teach them about the intricacies of code, but to give them an idea of software development’s realities.
“You have to be understanding and empathetic, and set aside your bias or frustration,” added MJ Shoer, chief technology officer of Internet & Telephone, LLC, a managed services provider based in Methuen, Mass. “Tech people often forget that things can be overwhelming to non-tech people. When you’re dealing with your boss, you have to think about their goals and mission” and put your work in that context.
Of course, some bosses are more open than others. In many cases, you may have to play a longer-term game by building trust. You do that “by being right,” Rich said. “You have to do what you say you’re going to do” and you have to do it consistently. It also helps if you can make your boss look good along the way.
Building trust requires more than keeping promises. Often, it means pushing back—in a professional manner, of course—if someone tries to force on you an unrealistic schedule, budget or feature set. Though holding your ground can be uncomfortable sometimes, it also demonstrates that you know what you’re doing. That’s another way of building trust.
“If you solve their problems, they’re going to trust you,” Rich said. “The best way to manage the relationship is to do a really good job so they’ll give you the freedom to do what you need to do.”
This is similar to the concept of pushing back when you have to. As your relationship develops, educate your boss in a way that lets you set boundaries as to what you can or can’t accomplish during a project’s timeline. “Remember, they don’t understand the time it takes to produce good software,” Rich said. “Explain to them how bugs need to be resolved before an application is delivered to the customer—and that that takes time.”
Put Things in Writing
Of course, you’re not going to win every battle. One project manager (who asked to stay anonymous for this article) recalls how a client refused to adjust their schedule when an application’s development lagged, and insisted that the team skip QA in order to meet the delivery date. In response, the project manager wrote a memo detailing the dangers of forgoing QA, concluding by sketching out possible worst-case scenarios. When the application was delivered, it didn’t work for the great majority of users.
But as unhappy as the client was (and he was very unhappy), he couldn’t point his finger at the project manager.
All of the above tips require a good deal of communications skills. “Tech people aren’t hired for their ability to pitch,” as Rich put it. “As you mature, you can have effective and confident conversations to communicate what you know to be true.”
And remember, there can be advantages to having a non-technical boss. “A lot of times, they can better represent the customer’s or user’s point of view,” Shoer said. When everyone’s working to deliver a quality product, that viewpoint can be a good thing.