The last week has certainly been interesting in the debate about where innovation is happening, whether it is a build or buy decision, and what it takes to succeed. I want to take this one step further and make the case for actively breeding a generation of professionally qualified developers. In this context my chief intellectual adversary is Vijay Vijayasankar, widely regarded as a thought-provoking and super smart IBM'er.
In the last few days, Vijay and I got into a veritable Twitter exchange about the topic of professionally qualified developers. I sense that we are largely arguing the same thing albeit from different perspectives. But that's not quite how it appears on its face.
Here’s my problem - in most professions you have to prove ability through well recognised certification: bar exam, CPA, dentist, surgeon etc etc. For which you do indentured training etc. S/W dev is the Wild West.
— ⒹⒺⓃ•Ⓗ ㋡ (@dahowlett) July 9, 2019
Vijay was arguing that modern software development is more art than science and while I have no real argument with that - heck I admire the imagination of great developers way more than I probably let on - I maintain that the lack of professionally recognized, universal qualifications makes for a Wild West culture.
I'll kick off with some of my perspectives and then pose Vijay's points.
History - the great teacher
Until the mid-nineteenth century the role of accountants in England and Wales was restricted to that of bookkeepers in that accountants merely maintained records of what other business people had purchased and sold. However, with the growth of the limited liability company and large scale manufacturing and logistic in Victorian Britain a demand was created for more technically proficient accountants to deal with the increasing complexity of accounting transactions dealing with depreciation of assets, inventory valuation and the Companies legislation being introduced.
To improve their status and combat criticism of low standards, accountants in the cities of Britain formed professional bodies. The ICAEW was formed from the five of these associations that existed in England prior to its establishment by Royal Charter in May 1880.
(My emphasis added.)
While I didn't pursue that particular line of argument in the Tweetstream, I would add that the 21st Century enterprise software landscape is comparably complex to the Britsh Victorian era. If you agree with that statement then it behooves anyone considering this topic to also consider the implied parallels.
The methods by which accountants are trained is not universal but across the world, there is a universally understood framework in place that starts with a thorough understanding of the tried and true double-entry book-keeping system invented some 700 years ago by Luca Pacioli.
As such, qualifications such as CPA, ICAEW, ICMA, ACCA etc are globally recognized as representing much more than the ability to pass exams. Those same qualifications are not wholly interchangeable. But just as developers who are skilled in particular programming languages quickly learn variants, accountants trained in one country can quickly adapt to other locales in all but the deepest technical skills associated with tax compliance.
Vijay's argument about art goes like this and is in direct response to my Tweet above:
SW Dev is practiced more as an art than as a science . Pretty much the reason it doesn’t conform to logical expectations
— Vijay Vijayasankar (@vijayasankarv) July 9, 2019
Art and failure
That may well be true but it avoids the discussion around the need for professionally recognized qualifications. In that regard, both Vijay and I have the benefit of the failed experience of attempting to bring this to the world of SAP via the work done by the Certification Five in 2010.
In a nutshell, we argued that SAP's certification methodology was (and remains) fundamentally flawed. In our view, SAP certification is something that SAP could own as a best practice to ensure that the (claimed) one million ABAP developers are trained to a consistent standard. We recommended both Advanced and Master level qualifications that test experience - rejected.
However, like Vijay, Jon Reed (one of the original C5 co-authors) and I know, SAP has not had the appetite to 'own' this important area of software development, leading to predictable results in terms of failed projects, cost over-runs, and ongoing customer complaints. Or, as I explained and on which Vijay elaborated, it meant that in the early days of building simple finance, SAP could not build a product that passed the basic sniff test of producing a balanced trial balance. A very basic requirement.
That specific situation had two basic issues - a lack of understanding and respect for ABAP by a generation of HANA peeps assigned to modernize finance module , and a lack of understanding of Accounting basics . Perfect storm caused by “speed of HANA is everything” thinking .
— Vijay Vijayasankar (@vijayasankarv) July 9, 2019
As regards the 'art' argument, I suggested to Vijay that parallels could perhaps be drawn with architects and civil engineers. Each profession requires a deep understanding of physics. I remember for instance learning how single span warehouses are built according to 'bending moment' calculations. Yet the art involved in creating beautiful structures is undeniably art driven.
My point is not whether there is more art than science but that you cannot have deliverable art without science. I hold that the same is true in the world of software development which starts with excellent math skills, re-imagined into code.
Art for arts sake?
In an excellent read about the difficulties faced by modern development shops Vijay argued - among other things that:
Software development is not traditional engineering – developers are more artisans than engineers. On the good side, you will have plenty to choose from their creativity. On the not so good side – only a handful of engineering managers can balance it and eventually ship on schedule. Every good engineering team loves to create and evangelize their frameworks – and what they probably love even more is tearing down everyone else’s frameworks. I am as guilty of this as the next guy or gal.
The battle of frameworks goes like this typically – a new manager notices his teams are using 4 different frameworks . He brings them together and after a lot of debate they agree on a common framework . A few PIs later they find that they now have 5 different frameworks.
Needless to say – you need strong engineering managers, and ideally they are not repurposed from another function to fill a role.
The question in my mind is whether this is a symptom of the current developer landscape or a causal problem? I suspect it is much more the former because, in this discussion, Vijay is talking about cultural change as a pre-requisite for success. I'm sure the Victorian accounting nerds felt the same way.
In his arguments, Vijay keeps coming back to the 'real world' which, as we all know, is beset with talent acquisition problems. I get that - I really do. I'm sure the Victorians faced similar difficulties at a time when commerce was exploding.
But the crucial difference is that the Victorian professionals themselves realized there was a problem and worked hard to solve it. Will software developers be prepared to do the same? Who will take the lead? Is it time for an IBM, SAP, Accenture, Oracle, Google, Apple, AWS or whomever to step up and/or come together in their mutual interest, effectively creating an open source environment where training and qualifications are consistent but still capable of the need for specialists? It worked for Victorian accountants and is a proven way of demonstrating professional credibility across multiple domains.
Software developers and the customers they serve deserve far better than the Wild West that exists today. The creation of professional qualifications that carry genuine gravitas is now.