views:

430

answers:

7

I have an issue at my day job where management decided long ago that they wouldn't hire dedicated IT personnel. All duties of an IT person is done by my programming staff no matter how small (changing printer toner for example) or how busy the programming team is with client work.

I've tried all sorts of tactics to convince them this is a really, REALLY, bad idea. I've started requiring additional time on all projects, no matter how small, and adding additional time onto projects when IT work takes away from progress. I've tried explaining, point blank, how these are two different disciplines, and that they aren't interchangeable without obscene penalties.

For some reason, management is cool with this.

I've heard all sorts of excuses about why we have to work like this but I have yet to hear a reason that makes sense.

What I'm looking for are some good arguments I can present to my bosses that will help them see the error of their ways.

A little background: I started at the job as a programmer and was promoted a couple years ago to the head of the department. I love where I work and am not looking to just quit but I'm getting pretty frustrated with the lack of quality I get out of a programmer doing IT work.

Thanks!

+13  A: 

Most managers understand money. Not to understate the importance of IT personnel but generally, developers cost more. If you can present an average month of activity and break out the IT tasks from programming tasks and show the costs compared to having a specialized IT person, it should become clear.

This may not be enough. If the salary of the required IT personnel are not sufficiently different to justify getting some IT people hired, make sure your presentation includes the cost in time/money of task switching. When a programmer has to stop a task and reload paper in a printer, he will likely require 20 minutes or more to get back to the 'zone' he/she was in. This can definitely get expensive.

Arnold Spence
Great idea talking about context switch cost. Hopefully management will be able to appreciate the complexity that devs have to load into their brain.
rob_g
I've used that one too capar though probably not as eloquently as I should have. I'm going to work on that. Thanks!
Eric Lamb
It might sound like throwing your people in front of the train, but you can also talk in terms of problems that could have been avoided. Developers don't normally have the same skills as sysadmins and are more likely to make mistakes. This costs time and money for everyone involved.
Dana the Sane
@Dana the Sane: Especially when it comes to network security, this is something that definitely requires dedicated personnel.
Arnold Spence
Well said @Capar!
Dhana
+2  A: 

Try pointing out that TechEd runs a Developer stream and an IT Pro stream for a reason. That reason being they are two different tracks, with different skill sets. Maybe throwing Microsoft's name around will be enough to convince the IT dilettantes in management that developers are not the right people to be changing printer cartridges, or configuring AD domains and routers.

Perhaps you can also start petitioning for another "Developer" on your team. Then if and when granted, give that person the IT Pro role.

Yes it is annoying so many people associate "working with computers" to mean you can and should do everything related to computers.

rob_g
This will be totally lost on management and making this argument could further marginalize OP's already tenuous position, for the same reason why people who protest something every weekend marginalize their own causes.
John Dibling
+7  A: 

You need to speak in terms that management understands. If you try to speak geek to them, it will be as lost on them, and they will disregard it as much as you currently disregard their arguments for not having IT personnel.

One approach is to make them understand that so long as there is no director of IT, there is no one person ultimately in charge. the way they have things working now, everybody is responsible for IT at your shop. As long as everyone is responsible, nobody truly is.

The need for this is never as clear as when there is a crisis; for example, when the network goes down or you lose a support contract for something. These things happen when nobody is in charge.

John Dibling
+1, That's a good point.
Arnold Spence
John, that's the frustrating part actually. I am the IT director, in title only it seems, and I've actually had to pull programmers off client work because of server crashes. One time we had a devastating crash and lost 2 servers and all their data. No client work was finished on time, my team was too burned out to care after too long and even after losing the contract management still didn't see the light.
Eric Lamb
Eric: Desperate times call for desperate measures. Sometimes it is easier to ask for forgiveness than permission. Consider hiring your own IT staff. There will certainly be hell to pay when your boss learns that you went behind his back and now there's little he can do, but compare that to the hell it sounds like you are going through now.Another option is to quit and find a more reasonable place to work.
John Dibling
John; I hadn't thought of it that way; you may be right. In fact, the more I think about it, the more it makes sense to just hire someone. You're right; there's nothing they can do about it once it's done :) Wish I could vote you up twice. Thanks!
Eric Lamb
John Dibling
+3  A: 

I suspect you won't be able to convince management that programmers such at IT because in general they don't and if they did they would probably suck at programming as well. The greater the general knowledge of a programmer the better their code will be. In addition a lot of programmers will have performed a variety of different IT roles before settling down into programming, I know I did.

What you probably want is to convince management that your company's programming resources are being distracted by non-programming tasks. If the cost of that distraction is more than the cost of a junior sys admin/support person then management should be more than happy to create such a position, although there's always the risk management suck. If the cost of the distraction doesn't add up to employing a junior then as much as I feel your pain with having to change printer cartridges in the middle of a coding task your management have got it right from the business' point of view.

sipwiz
+1  A: 

Contrary to what is stated, IT Operations cost as much as programmers and sometimes more than some junior sql and php developers.

You may have to win over your management slowly.

The best argument can be when you go the management and ask for more budget for development. When they inquire about the reasons, simply tell them that your programmers are doing other jobs and you need one or two more. Once they see the cost involved, they would probably agree to hire that additional support person to maintain the I.T and eventually he can be part of your team.

CodeToGlory
For my own answer, I was trying to step carefully when claiming that developers cost more than IT. There are certainly instances where it is not true.
Arnold Spence
+3  A: 

Comment 3 is good. Also extend this to tell them - what if the company decides not to use any secretary. All executives are required to do their own secretarial work by themselves. It is not that the executives are not capable of doing his secretarial work - instead it is better use of their time and hence the company's resources to be more productive.

+3  A: 

Programmers aren't typically concerned with organized infrastructure deployment. I am IT and work alongside dozens of developers from Microsoft, Symantec, IBM, etc. They ignore all security policies and can be seen scanning the parking lot for flash drives. They "architect" networks that are little more than pictures of nodes with no understanding of interconnection. They routinely purchase racks full of equipment until they realize the real estate and network infrastructure doesn't exist to accomodate the gear. They dramatically oversize servers without considering thermals or footprint. They compromise the company's position by installing pirated software after kicking and screaming for admin rights. They throw ethernet cables over cubicles and plugin access points instead of asking IT for resources. Their managers sign off on security measures and immediately find a way to circumvent them. Their managers kick around buzzwords and purchase technologies no one is trained on. They run 100K systems on cardboard boxes in the hallway because they couldn't conceptualize that the equipment had to actually "go somewhere." I've seen "network engineers" complain that our multi-wing, multi-floor, multi-site networks were subnetted because their application cannot route between subnets. The programmer's main concern is the application they are tasked with and nothing beyond that. This all being said, they do not make a good, responsible point of contact for reliable, legally compliant infrastructures.