Monday, March 19, 2007

Dilbertization of IT !

Information Technology (IT) over the years has been a sought after industry where creative juices kept flowing. Every bright high school student wanted to get into IT because it paid well, allowed innovation and creativity and made workplace fun. IT began in garages, small units that targeted a specific area and allowed its employees to turn in new and innovative inventions and work on interesting projects.

Talk to someone who has worked in IT for decades and more often than not, they'll regale you with stories of the "good old days," when the workplace was lively and creative juices flowed.

Nowadays it's a different story, they usually say, and place their blame along any number of lines: outsourcing, off-shoring, cost-cutting, IT commoditization, reactivity where there was once pro-activity, not to mention the shoddy desks in their office in dusty room at the end of the hall with pre 1990 IBM desktops that stay there because the company has a contract with the supplier.

In the simplest terms: too many IT workplaces have become Dilbertized - micromanaged, bureaucratic and stifled creatively. It's become an environment where busy work is praised and morale is low.

IT isn't fun anymore, and while a lack of fun at work may not seem worth stopping the presses over, the long-term effects of depriving a field of appealing work may very likely look like this: Students are turning away from computer science at an alarming rate. There's a huge talent shortage across the entire field, and, in confidence, enterprise IT workers say they'd probably choose a different career path if they could go back and start over again.

Yet not as many people are speaking about how to fight this, to adapt to the market and bring value back to IT that simply can't be sent elsewhere when cost-saving impulses set in.

To blame outsourcing, off-shoring and the dot com bust is to miss the point. If you know the value chain is changing, and you continue to teach people to do things that are quickly becoming commoditized, you are doing them a disservice. It's better to figure out where the value is being added for employers, and focus on this.

When IT stops interacting with the rest of the company, stops exerting influence by no longer offering innovative technology solutions for business problems, it packages itself in an easily shipped box.

"Outsourcing is a symptom, not the problem. Outsourcing has become such an important factor because when you turn IT into a commodity, it becomes about where you can get it at the lowest cost. It's what we've done to IT that is the problem, which is taking away its chance to influence business."

Let IT be more than firefighters

IT professionals that have worked in the field for a long time often speak about a shift in their work where they have gone from tossing ideas back and forth to make for better technology solutions to fighting fires all day.

There's less emphasis on creativity, and more on maintenance. Tweak this, work on this… In being reactive not proactive, everything is a crisis. Something has to be done right now, putting out fire after fire, going a long way to making IT a less pleasant environment.

Beyond making for an unpleasant work environment for the techies already in-house, this firefighting serves as a warning to potential recruits: "You will not like this job."

The best minds are not making it into the field. To some CIOs, it is a concern; to others it is not. They're losing out on the bright young people coming into the pipeline because people have an impression that if they work in IT, they'll just be fixing passwords all day.

IT needs to get back to showing people how work can be made better through technology, and how technology can be more effective, IT professionals said.

"IT is behind the wall, and business is outside the wall, and trying to exchange ideas across the wall is nearly impossible. We've stopped asking what computers can do for us."

Better managers get better results

Although establishing guidelines and defining expectations is straight out of Management 101, many enterprise IT professionals don't know what is expected of them. Often, they only find out after they've missed a deadline or made a mistake.

People perform best when they have a clear understanding of what is expected of them and how their performance will be measured. Many high performance organizations provide their team members with written expectations and accountabilities. It takes time to write and discuss expectations and accountabilities, but it is time well spent.

People want to work some place they can be creative, have opinions, where they can make their ideas work and where the rules aren't so rigid and they won't be nailed to the wall every time there is a mistake. People will perform better if they're given some flexibility, and the opportunity to make an impact.

An essential part of making people feel better about their work is to give continuous feedback, not just waiting until a scheduled salary or performance review. You have to make people feel good about what they're doing. You don't feel good about going to the dark room at the end of the hall, chained to the help desk phone until the time you go home.

This is not about becoming more civilized; it's about how the IT career is shifting from a creative, motivating path to a bureaucratic one. Of course there is room for creativity, new ideas and concepts are popping up in a daily basis and they are making things better and easier for everyone.

AJAX, BitTorrent, none of that existed some years ago and is a part of life of millions today. The problem is that most companies nowadays see programmers as commodities, creativity as risk, planning and careful deployment of systems as expenses.

They have managers that don't know anything about technology, deadlines impossible to meet, no recognition for merit and talent. The consequence is that systems crash all the time, "workarounds" are the rule and the good professionals are overloaded with work to make up for all that people that work with them that don't have a clue.

With such perspective ahead, it will be no wonder if in a near future the best brains will go to finance, law or any other profession that may offer what IT used to do.

The problem is that IT has been taken over by
Business School products. They have no grasp of science, no feel for aesthetics, they only have feel for next quarter numbers and covering their @$$. This is what Business School teaches. One needn't know anything about an industry in order to manage it, Business Schools build this into their Product. They will never ever learn a new skill unless it is something useful for climbing the corporate ladder. The best thing IT can learn is to weed Business School product out. Dilbert's boss is hiding in every last one of them.

What can be done to make IT a better proposition

IT needs to be separated into distinct engineering and operations groups.

IT engineering is what the OP obviously favors. Designing new technologies, building better solutions to existing problems, and increasing productivity through these incredible meta-tools we call computers. IT Operations is about taking these technologies, cataloging their shortcomings, and doing what is necessary to implement them and keep them implemented. Engineering is about the introduction of new ideas; Operations is about the constant war to keep those ideas safe from entropy.

Often, these goals are in direct conflict. It is only natural for a solution developer to recognize the shortcomings in their product and want to fix it. It is in the best interests of operations that a stable server not be changed unless absolutely necessary, and then only when the changes have been thoroughly tested, put through miles of red tape and human business process, and signed off on by people whose jobs are on the line if the application goes down.

The idea that you can write a program and be the person who runs it most effectively is a false one in any mission critical application. When there's money on the line, red tape and paperwork is the only way to make sure that it keeps flowing.

So to be successful in IT, we on the one hand need developers who are free to try radical new ideas in an environment that rewards creative solutions to entrenched problems, and on the other hand we need a static environment ruled by business process and red tape, which stifles unproven concepts and chokes creativity. The only solution to this is to separate these groups completely, and have development treat operations as a very stodgy customer.

Too many companies don't realize that this split is necessary to maintain their financial longevity, and have the same people who develop their applications responsible for their day-to-day operations. This situation not only leads to frustrated development staff who feel creatively stifled, it is also in the long term project suicide. In-house developers should not only be relieved of the responsibility for running their code, they should in fact not even have logins to the servers on which their code is running.

Professional standards of code release need apply, too. It's not enough to release code to production via CVS checkout; you need to write an installer with an uninstaller and an upgrade path, just like you would for commercial software. It's not enough to run an ant build on your server via an NFS mount back to the depository, you need to compile a .war or .ear file just like you would for any other customer. As a developer, operations should be your only customer, and your relationship with them should be the same as the relationship you would maintain with your most valuable and critical customer.

But one person wearing the development and operations hat? That leads to nothing but frustration, burnout, entropy, and failure.

Cynical view of IT

However, there is a cynical view of how IT works. Some people are convinced that IT is beyond repair and is becoming commoditized like Manufacturing, where employees are treated as “resources”, head count for a project is the only criteria for setting deadlines and firefighting is the only recognizable form of good work. Bad applications that require firefighting often are created, the people responsible for the bad design that caused the fire fight it out (coz they screwed it in the first place) and end up being appreciated/rewarded because they were swift in fighting the fire.

Dilbertization is INEVITABLE in any hierarchical organization. There's nothing whatsoever you can do about it.

Its causes are ultimately all within human nature. Starting with the technologists themselves, they're all in competition with one another. Each wants to be recognized as the alpha geek. Furthermore, some are lazy and some are energetic. The lazy ones hate the energetic ones because they make them look bad. The energetic ones hate the lazy ones because they're not carrying their weight. Finally, the TALENTED technologists are repulsed by the thought of being promoted into management, but the inept ones love the idea, as do the closet fascists.

The professional managers, middle-managers, "project managers" (ha!) and other undead minions of all standard IT organizations are just as dysfunctional. Secretaries are sullen, convinced that everyone thinks they're stupid (in some cases, this is astute on their part). Project managers, like the fawning little lap-dogs they are, tell management whatever they want to hear, often totally screwing over their staff by agreeing to ridiculous deadlines that cannot be met.

"Middle managers often know nothing whatsoever about technology and run their areas according to whatever management theory is currently in vogue". Worse, they often rate employees by how well they schmooze, not how well they code. Nepotism is rampant. Other minions, like managers selected to represent users in design meetings, often are in way over their heads and only want to cover their asses and contribute enough to meetings to LOOK as though they've got things under control.

The whole system is completely, hopelessly, irreparably FUBAR. It's a clusterfuck of legendary proportions. The only way to survive within it is to make yourself invisible and get your work done as efficiently as you can, while not getting drawn into any politics, never suggesting anything, and never volunteering for anything.

Personally, the biggest gripe I have with IT is this "Dysfunctional middle management".

My biggest headache at work is the nontechnical people who are mid level managers in the IT department. Some of them come from Finance, others from other non-technical departments in the company.

So what do they do? Instead of running a team like most normal managers they have to meddle to prove their worth and validate their existence. So they do dumb stuff like randomly reassign staff, change priorities every two months, and other PHB-style behaviors. They have no technical competency so they can't help out in the work, so they overcompensate and do dumb stuff.

We work exclusively on CRT monitors at workplace (ugh ! I know it's from the previous millennia) and I wanted to convince a middle manager who takes IT decisions to provide flat screens for all developers. He starts off like this "Hmm why do you guys need LCD's, what is wrong with CRT's". I try and give a detailed "technical" explanation of the advantages that a LCD display has, only to hear the usual FUBAR about lack of "funds". The biggest irony is this guy works exclusively on a nice 19' LCD display.

I would have hoped that these types of people would have filtered out of the IT department by natural attrition (new companies, etc), but they haven't and it bothers me endlessly. Most companies have a fairly well equipped top management consisting of people who have been in the trenches, who have coded stuff somewhere in the past. The biggest problem is, when these guys become C*O's (CEO, CIO, COO etc), they tend to have a disconnect from the lower echelons of the organization, where most of the useful work gets done.

Till top management starts understanding the problems faced by developers who sweat it out day after day and put in a sincere effort to improve the situation, things are going to be "status quo ante". A well equipped top management that is techie makes workplace so much better, stellar examples being Larry and Sergey and the way they run Google. I am sure Larry is not going to question the need for flat displays or any other tools of the trade that help developers turn out better work.

P.S. Google employees generally have dual 21' displays and two workstations to play with, budget is the least limiting factor for procuring and making available any developer tool or toy and developers are pampered with a host of on-site facilities and sops that make them stick to their workplaces longer and turn out better work because they generally love what they are doing. Any Google employee can rise to the position of a VP purely on technical accomplishments without getting into the willy nillies of managing a team. No wonder Google is a sought after destination for every IT guy worth his salt.

No comments:

Post a Comment