james.shade.org
Notebook

Software Professionalism

Posted in Hiring, Professionalism, Software Development by James on the May 3rd, 2007

The BCS is currently pushing the concept of professionalism in the IT industry. This is an attempt to move the industry a step closer to being one of the recognised “professions” – like accountancy, medicine or the legal profession.

This is to be encouraged and should be welcomed by software professionals everywhere.

A couple of weeks ago I was watching one of BBC Four’s documentaries about Edwardians. It discussed how in that period, the middle classes started joining professional bodies in great numbers – particularly engineers, whose various industries had boomed over the previous century (although the the Edwardian link is tenuous – at least the Institution of Civil Engineers was nearly 100 years old by then).

One of the main reasons for the rise of the professions was to protect standards. “Professional” engineers wanted to recognise those people in the industry who had training in mathematics and physics and engineering principles, who had served their apprenticeships, did proper calculations before building things and worked to a high standard.

The professional bodies had barriers to entry based on knowledge and experience, with a disciplinary procedure if you breached good practice, with the possibility of expulsion if you really messed up. Clients could choose to use unchartered engineers at their own risk, but if you wanted quality work, with escalation procedures if problems occurred, then you would use a chartered engineer. Eventually such bodies were recognised in law, and chartered engineers became viewed alongside the other professions.

Software is new. There are many discussions around what analogies are appropriate (see the recent debate at Code Craft for a start), but ultimately it’s new and there are no complete analogies – it’s not engineering, it’s not science, building software is not like planting a garden or building a house. It’s new. But there are many parallels to the existing professions.

Software is complex, to do it you need training and education, you need to be well read; to do it well you need to have served an apprenticeship, the subject is constantly changing and growing and you need to constantly learn. It’s as much a professional activity as law or accountancy or engineering or medicine – or at least, it should be.

When you go to a hospital you are treated by doctors regulated by a professional body, in a building designed by architects and engineers who are regulated by professional bodies. You are then hooked up to machinery using software written by… well, if the software fails (and you survive) you may have some comeback on the company that supplied it; but the people that wrote the code – they may just have been some Summer students or contractors whose names are long forgotten. I’m sure there are many checks in place to make sure this doesn’t happen, there may even be laws around it, but ultimately nobody is regulating the practitioners.

Sure, 99% of software isn’t about life and death. But it is complex, expensive and its failure can cause frustration and financial damage, lost time, lost data, lost business, legal problems – and sometimes worse.

So I applaud the BCS Professionalism in IT programme. There’s work to do – perhaps “IT” is too broad and non-specific; eventually I would expect the barriers to entry to be raised; the grievance procedures need to be tested; etc.

But eventually students graduating in Computer Science will strive to enter companies where perhaps they can serve their apprenticeships and achieve chartered status in a few years after passing professional exams (as is the approach in the legal and accountancy professions). And chartered status would be recognised by employers and buyers of software services, and afforded the same respect as that associated to the existing professions.

Ultimately it will mean greater and more general respect for reliable software practictioners; greater governance over the industry, and greater respect for software practitioners within their companies – where often technically skilled practitioners are treated as the equivalent to production line employees, inferior to those who (for example) may be in non-technical managerial positions. I suspect such issues do not arise in legal practices, and software practitioners need to raise the bar of professionalism to take control of their own industry.

2 Responses to 'Software Professionalism'

Subscribe to comments with RSS

  1. Stephen Tjasink said, on May 30th, 2007 at 15:26

    This is a very important and complex topic. The term “IT” is very broad, but ultimately everyone who is involved should be “brought into the fold” to some degree. If project managers, account managers, line managers, helpdesk staff, etc, all have instilled in them a certain degree of professionalism and knowledge of the industry, then it makes it easier for software practitioners themselves.

    And as to how we, as software practitioners, take control of our own industry, that is a difficult question. When engineers “professionalised” their profession, were they working for companies who had salesmen that went out and sold projects that they were then expected to deliver ASAP without going over a very tight budget and not being allowed much thought towards the future? These are things that impact professionalism in software development and can restrict activities that we would see as furthering professionalism.

    It’s going to be a tough struggle because of the nature of the modern commercial landscape. We should not let that discourage us though and we should attempt to make useful gains wherever we can.

  2. Alastair Revell said, on November 1st, 2008 at 10:27

    This post echoes a lot of my own thinking, which I partially wrote about recently in my article “Do Young IT Professionals Deserve a Career Track?“.

    I would urge those with sufficient qualifications to apply for Chartered IT Professional status with The British Computer Society and those who may need more experience to seek professional membership to show they are committed to the ideals you raise in your post.

    Alastair Revell
    Managing Consultant
    Revell Research Systems