Tuesday, October 18, 2005

Software, what's so hard about that, then?

One of my great bugbears in my professional career is that everyone thinks they can design software systems.

Why is this?

The profession is held in very low esteem. Despite IT professionals holding the efficiency of an organisation in their hands, the IT professional is often seen as a geek who adds no real value.

Most IT managers do not differentiate between the tech who comes and fixes their monitor and the system architect who designs their corporate IT systems. How often have we heard our spouses or family members say when asked what we do for a living :-

'Oh, Something to do with computers'

The ease of use of modern computers in some way has had a detrimental effect on the common perception. Microsoft XP and Word are easy to use, so they must be easy to develop, right?
Indeed as anyone in the industry knows the reverse is often the case!

In truth, as IT professionals we do not help ourselves. We have no real professional bodies of any significance, in that it matters not a jot whether one is in the BCS, ACM or IEE to ones employment potential, indeed in some cases it can hinder as the members of these groups can be seen as a little too 'beardy' or academic.

I was once conducting an interview that I thought went rather well, and that the candidate was suitable for the role. The Project manager however thought that the candidate was 'too academic' and the 'just because he knows the theory doesn't mean that he can do it in practice'. To which I retorted 'yes, but if he doesn't know the theory then he has no chance of doing it in practice'. I think however the point was lost on her.

And this, I think, Is the point. IT professionals are seen as technicians or tradesman whereas they should viewed as engineers or architects. Iain Duncan Smith in his short reign as the Conservative Party leader made a speech where he said that the country needs less people to go to University and more people to take up trades like 'Plumbing, Carpentry and Computer Programming'.

This betrays a total lack of appreciation of the field.

Computer Science is an intellectual disciplines requiring as much theory and study as physics or biology. Software engineering is the application of this theory in the field, requiring an understanding of computer science as well as sound methodology and discipline.

The industry does not help itself, how often have you come across large IT projects where the software engineers are graduates from some other field ( English or Economics typically) who have been on a couple of weeks in house training at one of the big 4. The same would just not be the case if the project was building a bridge. To push the bridge analogy, I have heard it said that if software engineers were to build a bridge, they would build it drive a tank across it and see if it fell over. Sadly I think this is often the case.

0 Comments:

Post a Comment

<< Home