Something has been kind of nagging at me lately. Why it is that in the IT world, the task of “support” is held in such low esteem?
You know what I’m talking about. I spend time with a lot of organizations, and rarely do I see support people treated the same way as, say, developers. In fact, support people tend to be the most overworked and the least appreciated technical people in most companies, and I’m not sure why.
Of course, I have some ideas.
Prior to open source, software support was a cost center. The company made money on selling software licenses and to a large extent support contracts, but the best they could hope for was that the clients would buy the software and never use it. When they actually had to provide the support they sold, it would eat away at the bottom line.
With the rise in services-based business models, services and support can represent the majority of a company’s revenue. But even in those companies it is rare that a top support person will be paid as much or have as much chance for advancement as a top coder.
The OpenNMS Group makes most of its money through support, and everyone in the company can be considered part of the support team. We’re small enough that each and every support ticket is sent to the whole company. As we are growing, I’m trying to find people who get into support as much as I do, and it’s hard.
I love support. Well, to be honest, I love support most days. It’s a huge challenge, and I think its fun to try and figure out why systems aren’t behaving the way they should. Is it a bug? A misconfiguration? A problem with the operating system? Loose nut on the keyboard?
My first real support job was with a division of Harris called Harris Digital Telephone Systems (HDTS – no longer around). When you joined up, they put you through several weeks of support training. I really took to their product, so the veterans who were training me took special joy in trying to make the classes challenging. At one point we had to configure a telephone switch, and then they would go in and muck with it. We had to correct the problems they introduced. But for me they added a twist: I had to do it over the phone from the next room.
It’s one thing to be able to fix a problem on a system you have direct access to, but it is a lot harder to figure it out strictly from what the person is telling you on the phone. This is one reason we got a WebEx account to enable an easy way to get connected to a client’s OpenNMS install. The hardest thing to deal with is a client who knows just enough to be dangerous. In my years of support I have learned that there are times with the client will lie to you. They don’t do it maliciously, but they know enough to make some assumptions that aren’t always safe. To many it can be frustrating, but to me it just adds to the challenge.
Yes, I’m weird. But as I go looking to hire some more people for support roles I’m finding that it is hard to find someone who feels the same way as I do about the job. I have had a number of people approach me about a position as a developer. I need to hire one of those in the next couple of months, but to be honest we have a pretty solid development community as it is. I’ve had a couple of people who want to come on and do “business development”. While we could do a better job at sales, quite frankly we have about as much on our plate at the moment as we can handle.
So why am I not overwhelmed with people wanting support jobs?
1) Support is Hard
Not to knock developers, but writing code is much less stressful than handling support. There are pressures to be sure, but the number of unknown variables to be managed in a coding project is less than those in the average support issue. I constantly face support issues that could be due to configuration issues, the customer’s network, the server, the operating system, or bugs. Last week alone I dealt with one client who was having issues because they used Solaris tar versus GNU tar on a build (Solaris tar tends to truncate long file names) and another client who had bad memory in the server (which resulted in a number of crazy symptoms). Those aren’t easy to catch.
Add to that the fact that you are interacting directly with the client, and there is a lot of pressure to perform.
2) Support Gets No Respect
Before you jump on me for this one, think of all of the stereotypes of bad support. The overseas help desk. The recent story about Apple Geniuses not being able to figure out that the ringer on an iPhone was turned off. Everyone who has owned a computer can provide at least one support horror story, or they haven’t really used a computer.
Part of the reason is that employers don’t treat the support role the way they should. They think that grabbing someone off the street and sending them to a class is sufficient. I was talking with the CEO of a small software company a few months ago, and I asked him about his support team, and he pointed to the two interns in the corner. This is a guy who spent hundreds of thousands of dollars on his developers, but thought nothing of hiring the cheapest labor out there for support.
One sign of respect in this business is salary, and support positions tend to pay the least in a number of IT fields. Many people only accept the job in order to get their foot in the door to move up to a consulting or coding position, which brings me to …
3) No Advancement
How does one advance within a support organization, yet still do support? There’s always management, I guess. Within development you can always aspire to increase your responsibilities for given projects, but within support the only real upward movement is from first level to second, and from second to third.
In thinking about it, this isn’t really a fair observation. When I was at Northern Telecom there were about 13 “Salary Bands” yet it was extremely hard to get above a Band 7 unless you wanted to manage people. But I still think that there is more room for growth in areas such as programming versus support.
I don’t have any answers to these problems, but I’m working on ’em. The first step is to find a core group of people who really get into support, and then to refine the process for taking inexperienced yet motivated people and turning them into support gurus. I can see the ads now: It’s Like Sudoku on Steriods!
Second is to pay good support people well.
As far as advancement is concerned, I like to take support folks and make sure they do some on-site consulting with clients as well. It is real important to get face time with the people using your product, as well as to step back from the ticket queue and focus on one client and their problems for a change. Plus we get to travel to some neat places and work on some of the world’s coolest networks.
But none of this works without respect. At OpenNMS the support role is held in the highest regard, but I am as guilty as the next person when using the support services of other vendors. I’m going to make a point of giving some “props” to the next good support person I deal with. They deserve it.