Mastery could be developed if tools and techniques were not imposed by the will of business for a cheap army of monkey coders. I agree with the thesis, I reject the conclusion.

I used to do savate. No master. It is just about winning a dirty fight in the street in 1vsN and french boxing (the sportive side) being able to practice without breaking your weapon (body) while improving. Fast to learn and use.

The high points of this martial art are : fewers moves, good direct and peripheral vision in case another opponents appears, and efficiency to be able to take on the next opponent fast.

For me programming nowadays is like a bad martial art.

Before you even can fight your problems you are given the wrong assumptions and weapons about fighting.

1) real life street fight is not 1v1 fight. The same can be said about people learning to write and not maintain code.

2) real life practicing and hard work are necessary much more than theorical crap. CS studies are like learning dogmatic theories from people who never where on the streets.

3) Apprenticeship is way to low. You cannot self teach you the good move. You need real fighters to learn. Cops where doing savate as much as thugs, they are very good teachers. Knowledge backed by practices that works worth more than academic knowledge. (the french federation sux though)

4) MMA/UFC bullshit: the arena given to coder for their work is organized by companies wishing an army of cheap interchangeable monkey competitive coders pouring blood. The "preset" of the ring for coding of companies is ridiculous. A good fighter would strive at not putting himself in useless danger and taking the risk of breaking himself. Winning one fight and taking the risk of breaking yourself on the long run is stupid. And sometimes not fighting is the good way to not loose (numerical inferiority)

5) Incorrect priorities. Street fight is not in kimono and bare foot with nice "ready to fight" signals. It requires a shot of adrenaline and learning to become violent in one instant. Companies wants submissions and standardisation to lower the costs of hiring. Good programmers are versatile and like creativity they are unpredictable & strong willed by nature of the job.

6) the weapon' choice. Savate defense learn you to turn common objects like every day jackets, keys, U lock into weapons to face versatile situation. Modern computing requires framework that are as convenient and common as agrar tools from the middle age, or using a trebuchet.

7) respect diversity. Men are powerful, women are flexible. Savate embraces the difference and gives path for anyone to develop efficiency through their own strength. There is no other "one best way" than the one that proves to fit your quality and make you win through constant practice and learning in respect of YOUR style. There are as many boxes as there are boxers. Conventions sux.

8) it is not always about kicking. Coding has become the central activity of coders. Feints, moving, observations, tricks are important too. Nowadays coders are blinded from observing the business context in which they must code, putting them in a position of blindness where they must program defensively without having specifications that match the real problem. Try to fight deaf and blind. They are just punching in the dark believing they can fight.

9) constant adaptation. Once hired coders are not encourage to continue their practice and keep a good hygiene. They are in constant fights without places for evolving. Also they are not trained to deal with the versatility of situations and encourage to cooperate. Thanks to the HR. They loose their skills fast.

I do agree that mastership should appear one day. I disagree given the unfair competition between small businesses and big businesses imposing wrong views on what coding is that there is a solution in corporate business.

I used to believe in free software until corporate interests pushed wrong stuff like systemd into the system.

The conditions are purposefully maintained because companies and academics don't want masters to spread disruptive knowledge that could make them lose their dominant position.

If coding is martial art, than you have to look at the conflict here to understand.

It is an economical conflicts between the bosses that have the money and the coders that have the creativity. And the purpose of companies is to avoid that coders can master their art. Doxa vs praxein.

And when you see sillicon valley no poaching agreement, you can see the fight is rigged.

However botnets, cyber criminality is proving that the even a script kiddies can be dangerously efficient once they are freed from organizational rigged conditions.

And that is why criminality beats our actual corporations.

It is because I did not liked to be beaten by thugs I learned to fight. But nowadays, I also fear the cops.

The first thing in a combat is to analyse the situation and identify correctly people really ill intentioned towards you and not care about their look or talk.