Is coding the new grail or only smoke and mirrors ?

Is the learning of code by everyone what will – as we often read – make businesses successful in the digital economy ? Will it be a necessary skill for the future (and event current) generations to avoid downgrade ?

We’re told more and more than coding must become a basic skill anyone should learn at school like reading, writing or counting. For some it’s the first – and even only – “foreign language” one should learn since in a close future machines will perform live translation – written or spoken – between two people not speaking the same language.

Coding is the new DIY

It’s nearly obvious that coding will become more and more important in our personal lives, not to mention our professional ones. As digital takes a growing part in our lives, in how we interact with others, in our day to day lives through connected objets and the services they bring, it’s going to be more and more difficult to live without knowing how to code.

I’m not talking of being a professional coder or developer but, basically, to know just enough to : fix a function that’s not working, adapt a service to one’s own needs, add a functionality, improve the services delivered by a connected object. As more and more things will rely on exchanges between services and between services and objects, we’ll need to learn how to “craft” them to our needs, fix them, improve them, to put our hands into APIs without asking a professional.

That said, we need to debunk the myth. If I had to make a comparison I’ll compare this evolution to DIY. Today we’re all capable of doing simple things at home like changing a light bulb, a tap, put a curtain rod, put up shelves or change tires. In this perspective coding will be nothing more than the new DIY, what anyone needs to maintain and customize his own environment at lower cost. I’ve been thinking for a long time about writing a post titled “Tomorrow we’ll all be CIOs” to show that we’ll all need some basic skills to manage our own personal information system, both on the software, hardware and network side. That’s exactly the same.

Like for these works, we’ll see two levels of practice. As we have professionals (plumbers, electricians) and handymen we’ll have professional coders and amateur coders.

Businesses need coders, but for how long ?

There’s also an economic purpose behind the “all coders” trend : provide businesses with the workforce and skills they need in the digital age. In fact there are two points here.

The first is about the workforce. We need people knowing code to sustain the growth of digital economy businesses but also to help legacy businesses to transform since the economy is neither “brick and mortar” nor “digital” but both at the same time. Whatever the industry, there will be no success without digital skills.

The second is about entrepreneurship. We expect a “culture of code” to stimulate the creation of ne businesses in the digital economy. Rightly or wrongly ? From my perspective there’s no need to know how to code to have an idea, start a business and hire the right people de develop a product. However, thinking that it will be easier for someone with such skills to understand what’s possible, understand and make other people work, make a minimum viable product on one’s own before going to the next step makes sense. Bill Gates, Steve Jobs or Marc Zuckerberg are not know for being word-class coders but they knew enough to start something and, then, make professionals work.

That said there are two reasons to raise armies of coders : both support businesses and drive the young toward markets where there are jobs (at least today). Seeing the employment in some countries and the number of developer jobs available, the equation seems obvious.

But is it the promised land ?

Coders are the new craftmen, the new factory workers

We should not believe that this field is the new highways to sustainable and fulfilling careers. What can already be seen today should make us be more cautious.

Until a not that far time, developer used to rhyme with engineer, at least with a certain degree level. People started as developers, hoping to become manager, product managers etc. This will still be possible from people with a high education level for whom development will be nothing but a step towards something else , like in other industries people start pushing products in supermarkets before to – quickly – get a comfortable desk at the headquarters.

Today, like computing in general, coding and development aren’t the prerogative of specialized professional anymore but a basic skill. And basic skill means basic work and career (what’s better than no work at all and that’s, in fact, a part of the issue). The coders needed today are coders knowing to code and only to code. By paying for a skill surplus since those who are supposed to climb the ladder will be hired from other sources. Undisputable economical logic.

Coding will be the entry point to lots of jobs but not the entry path to a career the way we used to know it. Like in the factories in the beginning of the previous century where there were workers on a side and foremen and engineering managers on the other with few chances to evolve from one to the other. As computing and digital are becoming more and more common, we’re witnessing the dawn of a digital working class. I have nothing against it provided we don’t oversell that. “Mc Jobs”, poorly perennial, high turnover, few evolution expectancy with a huge pressure from young coders that will join the workforce every year.

Is coding a necessity ? Without any doubt. A future ? A short term one yes. Let’s wait to see if it works on long term.

I started my career as a programmer. I learned a bit at the University of Michigan and then worked for the university a few years while finishing my degrees. My first job after graduation was for an automobile company. Working there I had an interesting ‘customer’. He was unable to understand my estimate for a simple change in the code for ‘his’ application.

He explained that he had just finished an ‘executive’ course to introduce managers to computers. He proudly bragged that he had written, complied and run a real computer program! And, thought it should only take a short while to change his application.

I explained to him how I had to check his application out of its library and create the environment for testing. Then, design and make the changes, run all the regression tests. And finally, back up the production databases, check the application back in and move it to production.

He thought programming was coding. That is like thinking driving is starting the engine. People that know just a little bit about coding are dangerous. Especially, given dominion over professionals.