My research on soft skills in software engineering has brought me to many shady places so far. These places are dark, murky, and carry the rotten smell of mold. Welcome to the wonderful world of “you’re doing it wrong": professional competence frameworks. To add more strength to my point, the header image of this article is a generic one, grabbed from Pexels, using the search term “corporate”. Can it be any more enterprise-y? Right, Chandler? By taking a closer look at what some of these frameworks are trying to accomplish, we can identify what it is doing well - and what it is doing wrong.
Efforts to create a Professionalism Framework
- IT Professionalism framework in Europe.
The more I try to learn about these frameworks, the more my headache - gets - worse. The final report on “Development and implementation of a European framework for IT Professionalism” is 207 pages long. That’s longer than most doctoral dissertations… Close your eyes for dubious company logo’s spread throughout the document.
If we fail to take steps to mature the IT profession, it is likely that the risks to society from IT will grow to unacceptable levels.
Throughout the document, emphasis is put on creating (or losing) economical value. Is it time to read Piketty again? The gap between industry requirements (in terms of workforce, or what they dare to call it, “resources”, and in terms of required knowledge and skills) and the available labor market, delivered by learning institutes, is not denied. In fact, it’s expressed in a loss of millions of dollars within a few years because companies cannot grow without filling these vacancies.
And so this initiative reveals its actual goals. Even if they claim to synthesize the lessons learned from the experiences in the IT domain, I cannot see nor smell anything that points towards that direction. Can it be used for practitioners in any way? To “orient and support IT practitioners throughout the professional life cycle”? I doubt it. Oh, and the word “certification” is another common occurrence.
Efforts to categorize IT Competences
- CEPIS e-Competence bank (Council of European Professional Informatics Societies)
Most of these initiatives mean you fill in a lot of questions divided into different categories, and the end result is a near-perfect match with an IT profile, such as “test specialist” or “enterprise architect”. There are a couple of reasons why this does not work.
First of all, non-technical abilities are completely ignored. The CEPIS survey asks me to answer questions within the plan, build, run, enable and manage categories. Where is empathy, self-efficacy, engagement and motivation? Where are the virtues and vices?
Second, context is missing. What’s an enterprise architect? Does this mean I get to play with toys? Each profile is carefully defined to be applicable for any large company, but yet generic enough to be completely useless.
Third, thinking inside the box instead of outside hurts creativity enormously. If I’m a test specialist, why wouldn’t I be able to do certain tasks of an enterprise architect? These frameworks are still thinking in terms of functions, not roles. In your daily work as a software developer, you’re the architect one day and the tester the next. Or even in a shorter timespan. Yet you never adhere to the rules of a carefully described competence profile. It’s simply worthless.
- fBOK (Foundational IT Body of Knowledge)
- SWEBOK (Software Engineering Body of Knowledge).
- SWEBOS (Software Engineering Body of Skills)
“Bridge the gap between college and industry”
There are hoards of IEEE standards out there that are routinely ignored by anyone doing commercial software development. Mostly they were written by academics and those engaged in large government projects. Business people don’t consider government as a synonym for efficiency.
Recently I’m also part of this academic world. Based on the amount of closed-access papers I have read as part of my research (
+100), I’m very sad to say that he is absolutely right. But that does not mean academics should not do research in this area at all. Rather, it means that a big, rigid framework like this, is not something companies are waiting for. Instead, we (the academics) should focus on how to improve education in conjunction with experts from the field. Theoretical models are here to stay though: they provide a useful foundation for further discuss the work, but shouldn’t be commercialized in the form of a (competence) framework.
Another problem is - again - the lack of non-technical abilities. This is mitigated in “SWEBOS”, an academic “approach of further development and sustainable improvement of software engineering (higher) education” (source). The identification of these skills instead of knowledges has been based on job vacancy keyword analysis, combined with focus groups. The result is promising, but still too vague.
Efforts to reinvent Software Engineering
Don’t be fooled by the
.org domain name: you are still heavily encouraged to participate in one of the many workshops about this new method and theory. This initiative comes from, among others, the creator of the Scaled Agile Framework safE and it is even trademarked. These beasts are used to tame and encourage investment banks to spend money towards agile translations. Yup, certification is available. For only
£2395, you’ll be awarded with the “Safe Program Consultant” certificate. Don’t forget to renew your training every few years! Sutherland’s “Certified Scrum Master” programs also come with a limited use-by date - a lucrative profit model, but hardly an educational sound basis. I used to be one of the poor consultants that got “certified up” by its company, in order to increase my daily rate, of which I of course never saw anything myself.
- Software Craftsmanship manifesto
Is programming a craft? Is it a proper profession? Dan North says it isn’t:
It would be great if programming were a proper profession, but it isn’t. A profession has a structured model for advancing through levels of skill and ability, be it studying for a law degree and articles (working for a legal practice) or the years of undergraduate and medical training a doctor undertakes before specializing. The latter has clearly-delineated ranks, from junior doctor, via a brutal regime of 80-hour weeks, to constant.
Conversely there is no minimum entry requirement for programming. Some people naturally have a flair for it (two of the best programmers I know never went to college), some teach themselves out of books, others just tinker until they get something working. A programmer’s skill and ability is only as good as their personal reputation: there isn’t an accepted, transferable ranking like there is in a “proper” profession.
It’s a heated debate, joined by many well-known technological experts out there. Melissa McEwen goes so far as to call it the product of a 10-year-old development manifesto. The problems exposed by each of these articles has been tried to mitigate in SEMAT, resulting in something completely different, with it’s own set of misery. As Dan said it, these attempts are at risk of letting programmers’ egos run riot - and I’ve seen that happen all too often when still working in the industry.
So… Useful or not?
Yes and no.
- Creates a high-level profile list, too see what the possibilities are
- Creates a common model to talk about
- Somewhat useful as an economic forecast
- Brings the skills gap to attention of (international) politics
- Creates a too bland, too high-level model that does not say anything at all
- Completely ignores important non-technical skills
- Lags behind important technical skills because it takes years to develop
- Involves an unbalanced group of stakeholders
For those reasons, it is not usable by educators. For those reasons, it is not workable for my research topic. At least now I know what to add to the “not-to-focus-on” list. In my opinion, these professionalism frameworks are a waste of money and talent. To think what could be improved in education with that much time and resources…