Fire Your IT Boss
theodp writes "Instead of laying off techies who directly help users, Robert X. Cringely argues that the best place to cut IT organizations is at the top. One of the great problems in IT management, Cringely says, is that the big bosses typically haven't a clue what is happening, what needs to happen, and what it all should cost. He issues the following challenge: 'If you are managing an IT shop and can't write the code to render "hello world" in C, HTML, PHP, and pull "hello world" from a MySQL database using a perl script, then you are in the wrong job.' Even with help from Google, Cringely believes many technical managers would fail this test and should get the boot as a result — you can't manage what you don't understand."
I think having the manager understand the technical nature of whats going on is certainly an asset.. but ultimately I don't know if it's a necessity.
Point is, managers manage people. You are there to code.. not them. The only technical details they need to do their job is: how long it will take, how many people can work on it efficiantly, what tasks are dependant on it, risks, and benifits.. and you are there to provide them with that info.
Managers are about the big picture, not the fine details. In fact.. a micro-managing manager can be a bad thing.
I think we've all been there... the guy who is directing the circus has no clue about whats involved in it's component parts and you wonder how he ever got the job...
When you really look at what he spends the day doing though.. you realize the majority of his job revolves around the non-technical things that you probably don't want to have anything to do with (timing, resource allocation, cost, etc..)
I don't have a lot of experience in the industry, but the one software company I have worked for (albeit a small one) has a programmer in charge... really, you can't expect to manage an IT staff properly if you don't have a basic knowledge of what's involved in the job.
As usual, Cringely is right. The fat floats to the top.
I'm an IT project manager. If one of my peeps bailed and I couldn't step right in and fill their spot and train their replacement myself I would consider myself a failure. It's all about the customer and if we fail to meet the customer's needs because of this everybody involved has failed.
I had this conversation recently: "Can you replace X?" Answer: "Of course. If I couldn't, we both need replacing."
I've got people both under and over me. I fully expect both the unders and the overs to be able to step in and catch the load if I step in front of a bus. I don't want to catch a bus, and I don't want my unders and overs to do so either. But I'm prepared for either event and you should be too because if you can't you're neither responsible nor capable of advancement and that's a sad place to be.
That said, most days my role is reduced to catering. I let my peeps do their gig and I get stuff out of their way. Only the newbs need direction and they get over it right away.
As soon as they're oriented:
I'm only an IT project manager until my bosses find someone better. My techs only work for me until I find someone better. That's the way it is and that's the way it should be.
Help stamp out iliturcy.
A manager manages PEOPLE and not C/HTML/PHP code.
I love the smell of lithium in the morning
I would like to see you back up your implication that those two skill sets are mutually exclusive.
you're reading slashdot and expect to see a better example of the exclusivity of those 2 skill sets?!
The article seems to more say that the IT manager needs to understand the underlings jobs and be able to describe the job. Not that the manager has to understand everything the underling must do to complete the job. The summary seems a little slanted.
The absolute best IT managers I've had were more than willing to state when they didn't understand the technical details. In the cases where they had to explain something in detail they did what a good manager would do; they'd ask the individual who DOES understand it better than they come and explain when that level of detail is needed. Those same IT managers not only understood enough of my job to outline what they'd like accomplished and stepped back to let me accomplish it in the most technically correct way possible, they shielded me from those above and outside the department so that I could do that job.
The last thing I want is to be managed by someone who thinks they are more an expert on the intricacies of what I'm working on. Either they are going to micromanage the individuals on their team or they aren't ever going to be satisfied with the work that is produced.
Maybe the poster would be happier if they were called IT Personnel Managers?
Are you kidding me?
As long as my I.T. boss shields me from the dipshits and the politics at levels above themselves, I don't honestly care what they can or can't program.
They're worth more to me as a human filter than a fellow developer. Christ. Let me actually fix things - they can go off and interface.
With a division of labor, the idea of the manager is to strictly keep to "managing people", right? What does that actually mean in real practice? If the techies are the ones with all the actual skill to implement technology, what happens when techs have a technological debate? If a team is designing a complex system and there is a difference of opinion between two or more choices with subtle but far-reaching consequences, in the real world, is the manager going to be hands-off and stick with the "people side" only?
I don't know about anyone else, but that's not how I've ever seen it happen. The manager must make a decision about the design of the technology. How is he/she to decide? Based on which developer is a snappier dresser, or which one kisses ass more? :-) The business world needs to get rid of this obsolete idea of a "manager" who mechanistically manages human "resources". We need to be more honest about human interaction. What most businesses need are LEADERS. You can't lead if you're not in front. You want quality code from your employees? Then can YOU recognize the difference between bad and good code? In practice, good managers in IT are technically proficient AND have people skills. It's out of necessity, businesses really don't have a choice unless they want to keep burying their heads in the sand and sticking with merely "managing" their employees who they have no idea what those employees actually do.
As an IT manager who has commit privileges to the core Python repository, and can write hello world in half a dozen languages, I'd like to chime in...
IT management almost certainly isn't about doing the work. That's why it's management and not technical work. Management is about helping other people do things.
For example, technical people are notorious for being not very good with people. Having someone helping them interface with the rest of the company, get funding, run interference for projects and decisions, all of this is very important to getting coding done, and does not require an ability to code or even an understanding of what is going on with the people doing the coding.
Having a die-hard techie in a management position may not be as valuable as having a die-hard manager there. Because if the manager just really wants to be doing the techie work, that's really where his passion is, then he probably is in the wrong job. Just as if the person in the techie job's passion lies elsewhere...
If you have someone in the organization, management or not, that isn't pulling their own weight, then definitely look at what you can do to remedy the situation. But whether a manager can write main() { printf("hello world\n"); } is almost certainly the wrong test to be using.
Would you fire the techie who can't come up with $50,000 in funding for new workstations and servers?
But, I guess the "re-purpose people who aren't pulling their weight" headline isn't as easy to get on slashdot as "fire your IT boss". :-)
Sean
I know we're all colored by our personal experiences - but, based on my own, I think the problem is exactly the opposite. A lot of IT managers think they are technically savvy, because they've managed to get some sort of certification at one point or another in their lives (or maybe they were rather knowledgeable at one point, years ago, but have not kept up simply because of the other demands that come with management).
THANK YOU.
My current boss fits that most exactly. To judge from his behavior, he used to be a hotshot coder at some point, but to further that judgement from his actual knowledge of coding, that era is long past.
When he gets news from us that he doesn't like, he insists on debugging the issue with us. I don't mind extra eyes on a problem... I frequently bounce problems off my teammates to see what other angles they might come up with... but in my boss' case, it's worse than useless. It's rehashing of ideas we've already long since canned. The guy's just not a coder any more, and fueling his ego as a still-savvy techie just slows us all down.
They pay us to be experts at what we do. I wish to hell he'd trust us to be what he pays us for and stick to what they pay him for. We've delivered time and again. The results would be better if we didn't have to babysit him, and morale would be far better.
Most developers, myself included, don't have the skills to run their own company. We're as out of place in the business world as Donald Trump would be with a C++ compiler.
Worse, those developers who do have the skills to run their own company, if they do so, will eventually be viewed by those working for them just as they used to view their bosses. Or they'll just go bankrupt. There's a reason it's the same thing everywhere you go, and that's because that's what works in the business world.
Wish I had mod points. Instead, I'll use my low-low ID to say that you're absolutely correct.
[...] you can't manage what you don't understand.
ITs are suffering from generic problem. (Correction: users are suffering, it is of course not IT's concern.) It's not that they do not understand what they are managing.
The problem goes much deeper: IT never really knows what for and how IT resources are really used by people who actually do work.
IT always concentrates on its end of job.
Results are obvious: horrifying end user stories about lost data, lost hours of work and IT which simply can't give any sensible response in emergencies.
Problem as I see it: whatever company is, IT is always way too far from real work: real work company is doing and earning money with.
My idea was always that IT has to be not department, but people spread all over the company. You need about 1 dedicated guy to be responsible for communication with suppliers (or probably somebody from Purchases can handle it - they handle it (monetarily) anyway). Rest has to be managed by teams themselves. They can have a dedicated guy(s) for the IT needs. Or one/more people on team can handle as part-time job the problems and etc.
As R&D guy, I yet to see a competent IT guy who can competently set up *nix server which after reboot is ready to work. Piles of certificates from lengthy trainings do not help them in real life. Outside of checking cables and phoning suppliers - I've seen no use to IT. And phoning/checking I can do myself. No big deal.
But probably that's only me who is that unlucky.
All hope abandon ye who enter here.
There have been a lot of comments about how your manager doesn't need to know the technical aspects of what you do.
Let's just extend that with your Ford analogy.
The CEO doesn't know what a carburetor is. ...
So he hires person A to handle that.
But person A does not know, either.
So person A hires person B to handle that.
But person B does not know, either.
So person B hires person C to handle that.
Eventually you end up with the situation where you have layers and layers of "middle management" that do nothing other than move reports around and attend meetings.
And that's why you're probably driving an import today.
And 100% agreement on HP and Carly. I have no respect for HP now. The person at the top is paid a LOT of money ... supposedly because she has a LOT of knowledge and expertise and skill. Arguing that knowledge is not needed ... well, people always disparage what they do not have.
For quite a long time now, the CEOs of American auto makers have typically come from the sales or finance organizations. I'd like to see them go back to being run by a "car guy."
I assume by "car guy" you mean someone with an engineering background. There are reasons that relatively few engineers end up in management. Managing a business, particularly a large one, requires a STRONG understanding of accounting and finance. A manager who doesn't understand accounting is like an engineer who doesn't understand math. Additionally managing is about people and, let's be frank, engineers tend to be rather bad with people on the whole. There are notable exceptions but we're not a demographic noted for being overly social - at least not in ways that aid in rising to the top of Fortune 500 companies.
It's NOT that engineers can't handle it (they definitely have the brainpower) but they tend not to seek it out accounting and finance training. One hypothesis is that management requires making decisions under uncertainty which doesn't appeal to the mindset of many engineers. Perhaps some of that is cultural as well. Look at how many snide "MBAs are idiots" comments you see here on slashdot. As someone who is both an engineer and an accountant I tend to laugh at those comments because most of them are absurd rants against The Man.
Of course it seems to make sense, lead from the front, don't ask others to do what you won't/can't do you yourself.
But it is wrong. A manager has the task of managing, that is hard enough in itself. More importantly, it is a skill in itself. Make a programmer a manager and you most likely find yourself with a programmer who wasn't to good in the first place and a lousy manager partly because that was not what he was trained for but also because he will forever be stuck in the mindset 'in my day we did that...'
I have had plenty of bad managers who once wrote a little DB app or a VB script who somehow thought that made them experts on backoffice systems or server security. ARGH! It is as bad as letting the guy who put Apache on his desktop be in charge of the servers.
The best manager I ever had knew very little about any of the jobs he was managing, it was a web department for a large company but thanks to the company not thinking the web was going to worth anything (yes it was a telecom) the department was entirely seperate. He didn't know art, yet managed the artists, he didn't know servers, yet he managed the server guy, he didn't know coding, yet he managed me, he didn't know support, advertising etc etc. Yet he managed us all AND did a HELL of job. We sold more mobile phones then ALL other outlets combined.
So they ruined it, brought us in and clipped him and it all went to hell.
What the guy did was not so much manage as stand in the middle and direct all the traffic around him, giving each of us the resources we needed and distrubuting us to those who needed it.
If you needed input from someone, you got it. If you needed time, you got it. Because you could count on him, everyone used realistic estimates. No need to pad your estimates, because he already worked them in and if trouble happened, he managed it.
To this day I don't fully understand how he did it and haven't seen anything like him. In web development a lot of stuff is simple, but takes a long time to get everything together, an app might only take a couple of hours of development but a week for it all to happen in. Not with him. Marketing came up with an idea, quick meeting in the morning to check if it was possible, meet over lunch to check progress, end of the day, the page was up and running. Sure, simple things, rotationg banner, poll, lottery draw, product page. Nothing complex, but on the internet speed counts, if you can have that new phone promo ready before anyone else, it is your company that sells the most.
So please, don't give me a manager who ten years ago put together a 'hello world' program and thinks he can do my job. Give me a manager who can manage and then his job will be to trust me to code and my job to code and trust him to manage.
Like a F1 team. Michael Schumacher isn't a techie, he doesn't have to be, he doesn't have to know how to exchange a wheel or put petrol in a car. For that matter a F1 team manager doesn't have to have a driving license. Everyone their job and managing is a job. To bad so many such at it.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
"If the rest of the company is using PHP and you're using Java, that's a problem for management to solve."
Look at the parent poster again. He was told "to go redo the website using whatever technology and features I thought I needed to make it excellent". Then about 50% of the time spent, he was told otherwise.
Certainly a company using PHP and one project using Java could be a "management problem". When management is not able to properly define the problem's realm and its constraints and properly communicate them to their "doers", then it's not a "management problem" but "management is the problem".