Friday, December 22, 2006

I Hate the Term "IT Professional"

These days almost everyone who is paid to work with computers is referred to as an IT professional. I find that terminology very confusing.

So what is an IT professional? There are many occupations involved with computing: for example, Computer Scientist, Information Systems Professional, Software Engineer (all three of which are accredited professions; their educational programs are accredited by ABET, the Accreditation Board of Engineering and Technology), System Support Person, Database Administrator, Network Administrator, Project Manager, Web Designer, Help Desk Person, etc. People working in each of those occupations have different skills and the abilities to accomplish different kinds of tasks. Calling them all IT professionals blurs these differences and can cause serious problems.

As an example outside of the computing field consider airplanes. We do not call all the people who are paid to work with airplanes APs (Airplane Professionals). We call those people who design airplanes, Aeronautical Engineers; those who service them, Airplane Mechanics; those who fly them, Pilots. We might also talk about Stewardesses, Baggage Handlers, Ticket Agents, etc.

Continuing with the airplane example, if American Airlines wanted a new airplane built, they would not think of asking the airplane mechanics who service their planes to design the new plane; they would, for example, ask the aeronautical engineers who work for Boeing. And Boeing would not think of designing and building that plane without using engineers from accredited engineering programs.

But in the computing field, we do that kind of thing all the time. Since we call everyone in the field an IT professional, people often assume that all IT professionals have the same skills. Companies who want a new software system built often ask the “IT professionals” on their system support staff, who might have excellent skills in maintaining their existing system, to design and build their new system. That often leads to projects that are later cancelled, or, if they are completed, are late, over-budget, incorrect, unreliable, insecure, hard to use, etc. Supporting a large heterogeneous system is a difficult skill, but it is a very different skill than specifying, designing, and building a high quality system, which is also a difficult skill.

Even asking the system support staff to oversee a project performed by outside consultants can be a problem, because the skills required to oversee such a project (as well as to evaluate the abilities of proposed consultants) are surprisingly difficult and again different from those required to support and maintain systems.

The same kind of reasoning often occurs when companies select project managers for their software projects. Many people think that software project managers do not need professional skills in software design, in addition to the obviously-needed skills in project management. However, no one would think that the manager of an airplane design project does not need such skills. Not long ago, I copied the qualifications for a particular project manager position from the Boeing Job Search Web site:

Bachelor’s degree in a technical field with thirteen years experience in an engineering classification. Master’s degree desirable. Training in systems engineering and project management.

No one can even apply for this job without a technical degree and at least thirteen years of engineering experience. Compare that with the current practice in the software area. No wonder so many software projects fail while so many airplane design projects are successful.

Many books and papers have been written on the subject of why so many software projects fail. (Some people would say it is because software design and implementation is so complicated, but few would argue that it is more complicated that airplane design and implementation.) Whenever anyone asks me why software projects fail, I always give the same answer: “incompetent project manager.” I firmly believe in the statement “The buck stops here.” If the software project succeeds, give the project manager a raise; if it fails, fire him.

At a still higher level, many companies have a CFO (Chief Financial Officer) with a professional accounting degree and a CTO (Chief Technical Officer) with some professional technical degree, but the CIOs (Chief Information Officers) of most companies do not have any professional degree in the computing field. The companies would say that it is more important that a CIO understand the business needs of the company than that he have technical skills in the IT area. If that is true, which is doubtful, then why do they insist that their CTO have a professional degree in some technical field? Why is it not more important that the CTO understand the business needs of the company than that he have technical skills. One reason the companies believe that their CIO does not need to have a technical degree is that by calling everyone an IT professional, we have deemphasized the importance of professional degrees in the computing field.

Another related issue is outsourcing. The statement that “X hundred thousand IT jobs have been outsourced” is very confusing, particularly to potential students. Again this is partly the fault of the words “IT professional.” Since we have blurred the distinctions between the various jobs within IT, it is not usually made clear which kinds of IT jobs are being outsourced and which are likely to remain. Thus many potential students have been scared away from Computer Science programs. (See my post dated 12/07/06, Will My Computer Science Job Be Outsourced?)

One source of confusion is that many of the jobs that are called professional within the IT community are not really professions in the usual sense of the word. For example, someone who has a Computer Science degree is obviously a professional, but do we want to use that term to refer to someone who has a Cisco CCNP (Cisco Certified Network Professional) certification? How about someone who has Help Desk Professionals certification? Calling all of these people IT professionals diminishes the reputation of the real professions within the IT community and confuses the companies for which they work and the public in general.

To summarize, the title IT professional can be very confusing at a number of levels. Different people working in the computing field have very different skills. Giving the same title to all of those people, many of whom are not professionals in the usual sense of the word, is a source of confusion and often a recipe for serious failure.

0 Comments:

Post a Comment

<< Home