In the wider world of software development, supporting software is seen as the lowest form of employment in that field. I have to say that I totally disagree, working as a support developer needs quick thinking and expertise on every subject that might come up plus a whole raft of complimentary skills to understand how different users and environments can affect the outcome. The exception to this is first-line support, which is a different job altogether. Here are my thoughts on what the differences are, and why first-line support can be demoralising for a developer.
Different Levels of Support
First-line support is the initial point of contact for a user. This person usually knows what questions to ask to narrow down the likely cause of the problem, and can deal with common queries about functionality. They usually have access to a knowledgebase so that they can research simple problems and help the users. The first-line support person may also do some basic investigation into a fault, for example replicating the problem and investigating obvious causes. A good first-line support person is organised so that they can keep track of lots of calls/users/faults/tasks, and has good communication skills for dealing with non-technical users over the telephone or by email and for conveying information about technical problems to the next level of support as needed.
Second- and third-line support tends to have less clear boundaries. Usually second-line support is a skilled developer who will develop a solution to the problem, whereas a third-line support person might be a more senior person who designed that part of the system in the first place. Sometimes the distinction is not made at all. These developers will be looking at existing problems which have been verified and they will then apply their technical abilities to correcting the problem. Often they will have only limited contact with the user; their solution may be conveyed via the first-line support people.
Support as a Route Into IT
Having worked as a support developer I have to say its a great place to start in an organisation. You get an overview of every part of every version of every product and come into contact with large portions of the organisation itself and its user base – or at least that’s my experience from working in an ISV. As experience is accrued you can take on more and more difficult faults to fix and can also start to specialise in areas that you are now knowledgeable about. If there is a structure to move from first-line into second-line support, I think an intelligent person with an enquiring mind and a good attitude can thrive.
I could write at length about this, but I’ll save it for a(nother) rainy day.
Asking Experienced Developers to Work First-Line
If, as a manager, you ask developers who report to you to do support, you’ll normally get grumbles. Ask them to do exclusively first-line support and you’ll get a revolt (there’s a joke in there somewhere, about revolting developers, but I can’t quite form it). It might seem to you that they are lazy, don’t want to use the phone, or would rather surf with their headphones in all day like they do now when they’re supposed to be developing, but (for me anyway) there’s more to it than that.
I can’t speak for everyone but personally I find second-line support invigorating and rewarding. Users present problems or other unexpected experiences, and I’m able to make their lives a bit better by using my skills to help. I feel helpful and its rewarding – even if the users aren’t actually very grateful! First-line support is chaotic, my secretarial skills are good but its really hard to ignore the fact that you could probably untangle this user’s problem because you have to get them off the line and talk to the next one. The whole thing becomes a fog of error messages and phone numbers! Personally I’ve worked in first-line support before and my organisational skills are well up to the task – I’d even say that I’m good at it. But “invigorating and rewarding”?
Not at all. A bit like doing a good job when working in MacDonalds wouldn’t be invigorating and rewarding![1]
1 Actually I’m not sure that really conveys the depth of difference between an ordinary development role, even one which is mostly maintenance, and the front line of support. Any better metaphors are gratefully received!