How IT fails at being professional and how to solve it

Have you seen an addicted gambler?

The mechanism of gambling addiction has much more odds to happen to people who first won a lot of money.

Human brain is bad at groking statistical laws. I experienced first hand with a known Quality engineer at a famous corp not able to understand why you cannot conclude from one "defective" sample on a lane of production from a brand that the whole production is defective and even extrapolate to the whole brand.

I am not an engineer. But I can say it is not because I was mugged once or twice by a colored person that it means all colored person are thieves. I have been statistically also in situation of physical aggression or of being mugged with an equal representation by all culture and colour of skins.
Live with it. One fortune or misfortune happening randomly should not be extrapolated as an iron rule of the universe. (I of course was not always thinking like that, but well I matured I guess). 

Entrepreneurship is about risks management and a proper remuneration of the risks. And risk is at the opposite of what you perceive (the danger) that can be measured.

Some says that clear success of IT is a proof that IT by itself should be granted more investments and that everything we do is justified by our past successes. Like a typical future gambler. Blinded by accidental money gain, losing rationality and taking absurd decisions without control.

I have a concern that our profession is going into hybris. The only sin of greek civilization; the excessive pride / euphoria that make heroes do stupid things. Odysseus, Herakles, Zeus, Appolo, Narcisse, Achileus, Orpheus; Paris all the heroes of great greek tragedies either died or met horrible destinies for negating the Gods/the odds.

All people -Appolo included- that tried to cheat destiny learned with a dear price that they were not bad persons nor did wrong things.

Not all went for humility. The obvious sin of Odysseus was to try to save his mates that were condemned by eating the sacred oxen of Zeus that were destined to appease the Gods.

He fought hard for what he though was just: saving men that were just starving and coming back from a decade long war. He is my favorite one flirting dangerously with hybris himself.

I am not saying trying having faith in progress is a bad thing I actually have faith too. I just say there are signs of blindness in our decisions and I strongly disagree with 99% of the crap on the internet about the actual best practice that matters in IT.

What concerns me is the focus on tools and creativity.  L'art et la manière.
We have been reducing our job to how we do things.

A carpenter build houses with a field of specialization in wood. The mason is specialized in bâtis. The electrician in electricity.

Their profession is not only about HOW to use your tools and to be innovative, it is always in the context of building houses. In conformity of delays, prices and regulation and expectations.

What defines a profession is its capacity not to use tools, but to make something that is conform to an expected result in the constraint of the real world.

In the real world, bank notes do not grow on trees. Investment normally requires risk managements, provision, qualifying and planning the returns over investments and benefits. With a seasonal variation of activity or costs that cannot be forecast. We have to objectively negate the odds to win.

One of the expected benefit of automation should normally be to alleviate the work of human with a clear decrease in costs and eventually without harming the ecosystem.

For this there should be evidence it works. The most basic way of ensuring this is scientifically simple.

Do a precise analysis of costs (investments and operational expense) of before the product exists and re-evaluate after  and add the first and n-th order costs. And reproduce in other contexts trying to control stuff with known techniques to asses if it worked (first invented by brewers than perfected by armies often known as QA)

You seen what bugs me in IT? I see people coding business automation refusing to learn the business. The same way a carpenter or a mason or an electrician would refuse to learn about houses and regulations. The uncertainties are almost never taken into account.

I do not want to convince people already involved in IT. They have no interest to change the absolute nirvana in which they live. They maybe stolen a lot from their value and they may have stressful work conditions, but on the other hand their wages and work conditions are still better than most other employees. And they have no liabilities. If they had liabilities (legal or commercial one) they would also be granted authorities. Like refusing to put code in production if it would result in a greater harm. The same way an electrician is legally liable if malfunctioning causes deaths and thus can be in deep shit for accepting a work that does not respect the regulation. Resulting in business bankrupting by lack of provision or the boss ending in jail.

The problem is for the rest of the economy. Money are resources. Inefficient money flow is directly influencing our future locally and globally.  The global crap is not the topic at hand here.

Contractually IT has some serious flaw in its profession : we cannot predict how fruitful our investments will be for the customers over time. But the problem is not in the IT.

You would be scandalized to invest 1M$ for a house breaking in 4 years or requiring to constantly have reparation for 100k$ per year. Your intuition of what you should expect from construction is set to high standards.

That is what it is right now. Customers are not having expectations anymore. They accepted what none of their own customers would accept. C'est pour le business, tu comprends. IT investment are a necessity.

Customers are blinded by a jargon, discourse of expertise looking savant that is no more than travesting science.

Having a lot of money by making a business cheating on regulations does not make you a guru.

It makes you a good leader, able to serve well its own interests. It is something I respect too, like the Borgia and other romantic stories.

We all can see problems that we pretend to solve since 40 years are still there:
- the (in)famous calendar and resource sharing app (for cars, rooms...) (outlook, IMAP, lotus notes);
- the automatic dictating machine (vaporware since 1942 IBM powa);
- the Türk Machine also called I.A (yes big blue won, but they kind of cheated by putting a lot of human intelligence in the mechanic);
- mistakes originating from human operators (like typing last name ; we introduced some mistakes  by removing accents that are making collisions that overwhise would not be there);
- embezzlement (SQL was supposed to make accounting related operation so clear auditing would not require knowledge of computers);
- trust : blockchains/GPG are sensitive to majority attack that require just small cheap distributed local temporal majority attacks repeatedly to win, and central authority that are all the more corruptible there are incentives to betray. The more we use crypto the more we asymmetrically favors the attack of the people with the biggest budgets;
- systematic 60% delays/cost in delivery.
-  non predictable costs : and that is the worse.

The constant flow of new technology creating obsolescence in computer science is around 10 years and getting shorter. Real industries may invest in appliance that might require to be able to stand 40 or 60 years.

Nuclear plants were made in the 1970's and they still function thanks to the professionalism of our senior engineers.

But, some people's job and safety relies on investments that ought to last them 40 years. The cycle in modern IT is to fast for most activities and exceed most investment capacities of small to medium businesses.

If a good mechanical automata can be amortized on 40 years the industrial can spend more money on the juicy part of the automata : what it does. No more floppy disks are produced for 40 yo automata/robots, and some automata that can work perfectly for decades still needs them.

Think of automatas using Z80 or 6502 still used for signaling in railroads/metropolitan transports. Think of mechanical robot to knit clothes with instructions that feats on a floppy disk that requires a DOS format.

Do you really think having to change signals every 5 years to update hardware, software, transport a good idea? It is really a good investment? Is 99.9% SLA acceptable for a peacemaker? Are the investment worthy over time?

You know this is business. And it reminds me of one NASA exceptionally good idea.

Yes NASA can be smart.

They noticed there was an asymmetry in knowledge. It is easier to train Phd in physics to have elite military aircraft piloting skills than the opposite.

Why? How is it possible?

Since appolo 13 risk management is top of NASA's concerns.

So they actually want people to NOT die piloting aircrafts. So obviously what they do, seems totally counter-intuitive. Favoring non-piloting skills to improve the survival of people that are going to pilot planes.

Is NASA crazy? (Yes mainly, but) What is special about NASA's piloting?

Well, shit happens. And for this the pilot must have a good intuition of his context. The physical context. Decision taking for such important and costly missions implies that pilot themselves can adapt and take decisions faster and autonomously because a lot of worst case require reaction below the time of speaking with experts just to say help.

Basically NASA pilot not only have a skill of the tools, but they have an as good as the designer intuition of the plane. It also helps communications and fluidifies coordination that is critical. Being Empowered is not only about having more knowledge and patted on the shoulder it is also being given life threatening authority and responsibility.

This is what I think is the biggest change that have to happen. A virtuosity with tools in an non liable autistic way does not produce anything great. Context matters more than tools.

Industries for which IT is a cost center should experiment replacing their IT specialists by professional to whom they give IT formations. And workers and boss should work hand in hand to define their objectives in terms of investments and objective.  With their shared common knowledge of seasonality of activities, regulations, costing, planning.

A secured 400$/month websites with social blabla for a restaurant maybe top of the art for SEO. But it may not be as valuable as a 400$ direction sign on the road clearly stating that there is a restaurant at this place. Sometimes not using IT is the right IT answer. Information is the keyword. It does not always have to be on the internet to be information. And there are other metrics than media exposition for effective information strategies. Like how much added customers made their way to the service since changes occurred.

Human Resources should consider focusing on people knowing the business over tools. For the same reason important function in the enterprise are paid well developers, project managers ... designers should be liable. It should be as a developer a pride to encourage his boss having his or her code audited by an independent team so that you know your boss is vigilant and controlling. All workers have interest in their boss making money and being in charge. And if computer development is that strategic, there should be a code of the profession defining the rules for liabilities.

The right to be protected by law if we are forced into doing illegal according to our knowledge. This is required for being trusted to make software that can conform to the laws of the people. We act as a man in the middle. We should make sure people can trust us. It gives us more value, it gives users more confidence thus more value to our businesses. Business is all about trust.

The acceptation of liability on delay as long as domain and business requirements are clearly stated in its business/contractual expression and that budget is accepted.

The right to not pay to much for the investment in our time for learning new skills that profits a private interests (and that can lock us in and make us bribed).

The possibility to refuse jobs on the markets that are not conforming to the basics of business and regulations.

Defining a profession is about trading comfort for recognition. It is also ensuring the mean for the like of us to work in better conditions where we can achieve better with less frictions. Frictions often comes from misunderstanding.  

In the history of professions, the practice always created the profession. No government, no investors, no merchants, no teachers, no academy or landlords ever defined a profession. It has to be internal.

Profession has always emerged from legitimate practice and the need to resolve emerging conflicts raising from the disruptive nature of change. It is only the one who do that can enlighten businesses and regulators.

At one point, profession becomes evident.

It is what makes us proud of our skills and how we know it works and how we believe in our usefulness.  It is defining a formal set of rules to begin enforce the positive element of our work culture and also what could be corrected. It is creating a virtuous circle. It is also about taking part in the education of future professional workers. Not doing it, but taking part in it. Without transmission of culture there is no culture.

When actual practices, economical incentives and regulations needs to be changed, historically it has been the one who heralded for progress that won. Because every one prefer to have hope and feel okay with people claiming not for a bigger share of the profits, but for a better share of the profits. If we do not change our jobs may stay and probably worsen, but above all our profession might disappear.

I am like Odysseus. I don't care of the difficulties or the Gods.

I am to alive to give up on dreaming yet.  I still profoundly reject the actual state of coding as heralded in most magazine, by my coworkers, blogs, startups, OS/coding meetups, companies and conferences. 
But, the surprise of the future is that you never know where your steps will lead you. And there is nothing wrong in having hope.

I see some of you smiling behind a grey veil of fatigue. That is the spirit. We can transmit our knowledge and help people. The old men (according to the standards of the modern corporations) can still make a difference and bring value to our society.

By staying humble but proud in an era of hubris that clearly is resulting in a financial bubble we can prepare ourselves to save the day when it will matter. Let's prepare before it is a total mess.

It is when people will wake up from the hangover of QE / 2007 /2000 crisis that they will understand they truly need professionals thinking in terms of business value with an ethic due to the awareness of their responsibility. Broken young professional will be left un-adpated on the business market. Both a threat for them and their future companies. All will need help not judgement.

Silver bullets (Agile included) must die and must be replace by a clearer contractualization of the profession where the business perimeter of our function is clearly defined with responsibilities and authorities. A definition that will stand time.

And since Computer Science means nothing I prefer to define my profession like Practicien Informatique (Craftsman in the automation of the flow of information) when I operate, and ingénieur informaticien when I model, design, plan the costs and price, validate the contractual terms, plan prototyping, do the risk assessment. I could even apply my knowledge to mechanical based automata for irrigation requiring a screw driver to be set. Tools do not matter. Data is what I treat, Information is what the business see, and in the middle I am a proxy doing my best to conform to the business.

I do no more no less.  I am focused on costs, prices, the best practices and ethics related to be entrusted personal and business data and staying informed on the evolution of risks. I minimize your risks therefore I am. I am here to make you objectively able to achieve your objective in your given constraints. That is the profession I will now try to define and build in my future. The one I wish to see.

All the rests angular, agile, TDD, languages, frameworks, web technologies, crypto,  the cloud are important but not a primary concern in my practice.  They are just the moving part of my job.  The stuff that represent more of a distraction because they can break or change than an asset.

No comments: