A Programmer's Oath - Part 03 - My experience with oaths


Programming, as a profession, is of great importance to society. Other professions with similar importance have oaths and codes of conduct to guide the professionals in their field, like M.D’s and lawyers. This has benefited their professions in many ways, like taking the lead in the creation of legislature.”

(Read my extended summary of Uncle Bob’s presentation).


Inspired by Uncle Bob I'm taking a glance at an oath for programmers. Why is it important? How can we build on the experience in other professions? What role could an oath play?

In a profession long ago..

In a galaxy long, long ago (2014), I worked as a licensed an in-house insurance agent. A year later I started as an independent financial advisor. While I worked in the financial sector, the lack of trust in the sector was… noticeable.

And yes the sector deserves it. The global financial crisis of 2008 is just one of its sins. Some people experience the fallout even today. Just think of the people that bought a house at the top of the market in 2008. Some are still trapped in their houses, not being able to bear the loss of selling their house even today. Let’s not get me started on the damage to pensions and life savings.

After many mishaps, the Dutch government was fed up with the financial sector. Widespread conflicts of interest and cowboy behavior were not to be tolerated any longer. And the financial sector became strictly regulated.

Neglect has consequences

In many ways the level of access to information I had as a financial advisor and are granted to a software developer is about the same. I had access to the full financial profile and relevant identification data of many, many individuals. And I had specialist knowledge of what I could do with that information within financial and government systems.

So in many ways I understand the concerns of Uncle Bob. There's a high potential for errors and even abuse by software developers. It's just a game of chance before governments are fed up with our mishaps as developers.

Most patrons of software developers do not have the skill and knowledge to judge our work. Generally we are the only ones to judge the quality of our work. That reeks of a conflict of interest.

The (low) quality of some of our work can have many unforeseen consequences. The reputation damage of a company after leaking passwords and usernames be damned. Imagine a malicious actor that maxes out credit cards or empties bank-accounts of an unsuspecting victim with these credentials. The consequences can suddenly have life altering consequences. Not even accounting for the thousands of other systems in plains, healthcare and nuclear power plants.

I agree with Uncle Bob that it wouldn’t be strange for blame after digital mishaps to slowly be shifted to software developers, network specialists, database administrators and/or all the other techies involved. Popular opinion could just state that they’d neglected their due diligence.

Every action has.... counter reaction

When I started working in the financial sector, I wasn't even aware of this history. But in hindsight blame was certainly overdue for the financial sector in the Netherlands. From simple bank attendants to private bankers, the problems were systemic. Thus regulations ensued, as Uncle Bob is afraid will happen to our profession. 

Licensing exams were introduced with an obligation to keep apprised of current developments of regulations within the monetary system. Easily accessible arbitrage courts were introduced for civilians to address mishaps. Bank commissions were forbidden and oaths were to be sworn. Conflicts of interest were to be reduced in a major way.

As a result of all the measures, both the financial service profession and the service to customers improved. About 1/3rd of the existing advisors didn’t manage to get licensed. Some companies even went bankrupt, because they couldn't make a successful switch to the direct fee business model.

In practice this meant that I had to study for quite a few license exams. I had a subscription to keep myself apprised of the latest developments in financial regulations. This ensured that my knowledge was always relevant and up to scratch. Customers were always handed a service agreement with instructions on the complain procedure within the industry. And most importantly, I worked directly for the customer through a direct fee structure.

To top it all off, I pledged a bankers oath that highlighted the importance of ethics within the financial sector (https://www.nvb.nl/media/1755/000736_bankers-oath.pdf). I had to perform the bankers oath two times, because it has to be renewed for each employer. Both times it ended up being a slightly awkward recording session of me reciting the pledge from paper and signing it. A banker always wants to keep a record of everything.

In our great hall

Now this definitely points to some improvements. First of all some practice on my side, an oath should be pledged by heart and with conviction. The recital should be done in a great guild hall, witnessed by many fellow peers. And many beers are needed to celebrate the joining of a new guild member. A simple programmer can but dream....

Comments

Popular posts from this blog

Thinking about tech: Technological Determinism

Deep fakes, fake news, it's old news!

Software development as a growing profession - Present