Organizational Practices of an IT Department?
fbg111 asks: "I've recently joined a company, a regional airline, with an IT department that has grown organically (ie in response to immediate, rapid-growth-driven need, rather than according to any organizational plan). In the past five years the company has come to rely on IT, specifically the web team, for about 3/4's of its revenue. However, this unstructured growth has caused some problems, like this one: the lack of defined career paths and clear promotion 'triggers' makes techs feel 'stuck' in dead-end situations, and we tend to lose good people who find more transparent advancement opportunities elsewhere. I've recently joined the new CIO's task force for putting together a plan that addresses the immediate problem of defining career advancement paths and payscales. Does Slashdot have any ideas on this subject?"
"I'm particularly interested in industry best practices that cover providing breadth and depth of experience and training, dual (or more) career tracks that allow techs to go the management route or the technical guru route, and aligning promotion triggers and career paths with IT department & corporate goals, and anything else relevant to the matter. Do any of you have anything in particular to recommend?"
This ilk of article is a tired saw, but its frequent appearance here at slashdot may be a sign of the times, i.e., the problem may be getting worse (I doubt it's getting better).
The bottom line is you, as an individual, fend for yourself first and foremost. If IT is messed up, management doesn't seem to care, or know how to do their job(s) that's not something you can fix. Decide what you want and need, weigh those criteria against what you experience in your job and management. If it's bad, it's unlikely to improve (much).
You, as an employee, owe the company little other than doing the work expected of you. (I used to be much more gung ho pro-company... but that's another and long story.) Businesses today don't view employees as valuable resources, nor do they care what upheaval they toss employees' ways. If you want something from your job and they say okay, get it in writing. Be suspicious. Be paranoia. The next visit to your desk from your manager may be a stroll to the front door.
Most companies aren't interested in grooming, triggers, etc., they're interested in their bottom line. Unfortunately they don't (typically) associate healthy career paths and directions with business performance. That you've been "tasked" (hate that word) by joining the CIOs task force is scant evidence of addressing the problem (I know, people will ask "what else do you expect them to do?"). But a company that doesn't "get it" isn't going to "get it" by organizing some CIO appointed task force.
As I mentioned, I used to have more faith in business and companies. Under the auspices of cutting costs, improving the bottom line, "right-sizing", (and very little mention of better customer service), articles are popping up almost every day about companies "making adjustments", but if you read a bit closer and between some of the lines, there are a whole lot of bent-over employees being victimized in these scenarios.
I'd be inclined to be more sympathetic and say "business is business" and companies have to make hard decisions, but when a recent article showed the average ratio of pay for CEOs compared to their employees increased to 431 times (did you hear that?, 431 times!) the pay of their employees it started to feel wrong (actually it'd started to feel wrong quite a while ago). When CEOs are getting this disproportianately higher compensation than their employees, I expect better performance numbers from businesses. I haven't seen that. Aside: Heads up, since you've joined an airline... make sure you keep the jackscrews lubed!)
Well how to feel like you not in a dead end job.
If you do good work you get better pay, also the longer you work the better you should get paid. This way we keep the most salt of the earth of the workers, if they can get better pay elsewhere then they will go there.
Titles and advantages to the titles. If the person doesn't want to go into management positions they still should get titles that represent their status. Sr. Programmer or whatever. Besides just giving the name there should be some benefits of earning the title, other then pay, they should have higher priority on what projects they want to do, depending on their status. If they have 10 years of experience and have done a good job for you in the past they should get earlier pick on the more fun jobs and leave the more mundane to the less experience people who need experience (But depending on the person you may be surprised what jobs are quickly taken up early)
Say in policy as people advance they say in company IT policy should have more weight.
Job Security, the higher position the more secure you job should be from layoffs.
Improved Benefits, Like allowing to work at home during normal hours, Flex Hours, More vacation time. With ¾ of the business they should also get some commission on their work.
Constant training, allow them if they choose to keep their skills up with modern technology, that way you are not stuck with software on a dead platform with a near dead language and IT staff who is afraid of changing because they don't have training on newer tech.
The main trick is to figure out what do you want in a job and break it into priorities and the higher you are the more you get.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
The first thing is to definite what jobs you have there. Web designer vs network engineer vs help desk level 2 or whatever you have. List out their responsibilities and required skills. Do this like HR, but make it seem important, don't over do it It's important to define the role as best you can and identify if the job that person is either completely unique or can be taken over by someone else. For example, if you have one DBA who manages the database for your system, and no one else really has his responsibilities or his skills then that's a specific job. If some guy is responsible for keeping an eye the email server but 5 other guys could do it, then his role is more broad, that of a generic IT tech.
Once you have a definition of their jobs, then create levels. Four levels is typical. Each position has levels for which for which the level gets both more responsibilities and more pay. First level is entry level. Second level is "certified" in that they've proven themselves over months or even up to a year as being good employee. 3rd level is senior in that they know the processes well, are fairly independent, and have high quality of work. 4th level are those few shining examples of great employees who do outstanding work on many different levels and would be very hard to replace.
Create paths to different groups to. For example, in a lot of IT departments, the path from a department that helps with desktop leads to network or server support as advancement.
Create requirements for each level to move from level 1 to 2. Some people use written tests to grade someone skills, others simply use management review. Some require a specific certification in a computer technology.
Finally, make sure everyone in IT starts out as level 1 and create a short term plan to have everyone move through the levels. This will help you figure out who's worth holding onto, and reward them appropriately. Be Prepared for a little backlash from those who don't warrant promotion, but if they don't warrant it, you have documentation as to why not.
And make sure you have guidelines for how managers should document everyone under their pervue so that they have a more standardized way of grading people and don't go off doing their own thing. When one manager grades easy and one grades hard, the people under the harsh manager feel left out while the easy guys get the money.
"All great wisdom is contained in .signature files"