Posted on 4 Comments

A Software Development Profession

Creative, artful thinking and craftsmanship are ESSENTIAL QUALITIES for any software developer. But shouldn’t software development be about more than an act of art, a craft in best case? Isn’t there a need to add professionalism to it? Shouldn’t software development be a profession?

It is tempting to believe that software development already is a profession. After all, many people are employed in developing software, making a living out of creating and sustaining the working code of software products and services, as a team or as individuals. Many more are employed in and make a living out of all the side-activities in the wider software development industry; like funding, exploiting, selling, promoting software products and services. This however is not sufficient to state that software development already is a profession.

Some take their dreams for real and call software development a profession. For others it is more a matter of pride, status or ego to say they are part of a profession, instead of an artisan discipline. That still is not enough to state that software development already is a profession.

A profession has regulations, codes, expectations and rules, all building upon a recognized body of knowledge. A profession sets explicit expectations on ethics, conduct and behavior to be demonstrated by any member of the profession. Official exams are in place for members to demonstrate a level of required skills and knowledge before receiving an attestation, and the permission to bear an official title that is protected and reserved. A healthy profession’s regulations and standards have a purpose, a purpose that goes beyond self-serving the profession and the profession’s institute. All regulations and standards should serve to assure the best possible execution of work in order to protect the people and organizations taking part in or being subject to the profession’s activities and its outcomes, and the decisions taken as part of it.

It is difficult to predict if and when software development might transform into a profession. It seems unlikely in a short term. There is the gigantic amount of software development work, there are the endless variations of what might be considered ‚software development,’ the absence of a widely accepted definition and understanding of ‚software development,‘ disagreement over the work activities that should or should not be part of the profession.

Reasonable doubts may be expressed on whether being a profession will augment the quality of service, avoid charlatanism, etc.

Furthermore a variety of people and instances may have personal, political, career, financial or other interests in software development, possibly even outside of the activity itself. Such people and instances might see regulation as a threat to their interests. Or might see it just as a limitation to their artistic freedom. Not to speak of the difficulty in growing a body, ethics, assessments, instructional guidelines and a code of conduct that would be widely accepted within the industry.

Where there are many elements that probably impede software development from growing into a regulated profession, there are also very valid reasons why software development would be better off if it transformed into a profession.

Not the least reason is the overwhelming and crucial presence of software in society and our daily lives. Software has become increasingly vital to society. A major shift is happening. Software products and software services are at the front and at the back of many public, industrial and consumer services and facilities. Software no longer is a ‚nice to have,’ for amusement purposes only. Software is at the heart of the economy. Software is core to many, often even critical, services in the private and in the public domain; financial services, taxes, energy, retail, health care, education, defense, telecommunication, transport, the automotive industry, just to name a few. Numerous organizations thrive on software. Even when they are not software companies, their services largely depend on software.

The omnipresence of software leads to a huge demand for talented and skilled software development people. The demand for professionalism that goes beyond talent and skills is less acknowledged but equally important in the light of the crucial functions of software in society. It would be comforting to know that the level of professionalism shown in the industry grew at the same rate as the growth of presence and criticality of software products and services itself, although even a higher rate is required.

Software development deserves professionalism in doing and in managing it. Such professionalism would benefit much from being structured in a profession.

This post is one of the inquiries I have planned into the values of professionalism in software development and the potential of the scrum framework to induce the formation of a software development profession. A matter of incremental writing. I hope you enjoy it, and the future follow-ups and iterations.

4 thoughts on “A Software Development Profession

  1. For myself, professionalism means simply the right knowledge, skills, and attitude for the job. These are taught by universities, colleges, and Scrum organisations. They can also be learned by simply doing, inspecting, and adapting. A software developer’s BOK or Ethics could be interesting and even helpful to “raise the bar”. Just be careful not to limit Professionalism to your own definition.

    1. Thank you, Lare. I agree that professionalism starts at an individual’s level. It is almost part of one’s personality. And, as you say, we might want to look into ways to raise the bar. I wanted to take it to an extreme, and explore some ideas on a formal profession. I have some follow-up thoughts about the meaning and the how of ‘professionalism’.

  2. It seems to be implied that an artisan is not a professional, that regulations and certifications are what make a profession a profession and a professional professional. I do not believe this is a helpful distinction. To me this is about continuous professional growth, not about passing a quality gate that moves you from ‘nope’ to ‘yes, you may practice software engineering’ (like passing the bar as a lawyer). It seems procedural to me, counter to the continuous people centered adaption we should strive for.

    Robert Martin has a lot of good stuff to say about this topic of professionalism in his book The Clean Coder. He calls it craftsmanship though..

    1. Thanks for your thoughts, Wim. I do agree, craftmanship should be at the heart of professionalism. But is it enough, or just a start? In my text I wanted to take it to the extreme of a formal profession. And as you’ve read, I tried to explore the idea of it, not provide a definite answer or even call it a ‘must’.

Leave a Reply