
The master, the expert, the programmer – Zed Shaw - de_Selby
http://zedshaw.com/archive/the-master-the-expert-the-programmer/
======
dwd
Anytime you don't write code to solve a problem you are showing masterful
traits.

More code is often not the best answer, but if you sell yourself as a
programmer rather than a problem solver then refactoring an inefficient
process rather than writing software to support it doesn't make you money.

Be a domain expert, even an old-school systems analyst and use your brain
first and programming chops as one of your tools. The masters are already
among us but you won't identify them by using the amount of code they produce
as a measure.

------
jbandela1
In reference to Zed Shaw's comment about the simplified red-black tree and
300% performance boost, you can often get that by using a sorted array. As
dynamic arrays and sort algorithms are pretty much universally available in
the standard libraries, you could easily have a much simpler implementation
compared to a red-black tree, and if you are searching more than you are
inserting, potentially an order of magnitude better performance.

------
brudgers
Correct Title: _The Master, The Expert, The Programmer_

As posted, it could be read as a claim by Shaw. I'd hate to read the comments
on that thread.

~~~
autoreleasepool
Zed may be a divisive character, but he's a net-good for the larger
programming community as far as I'm concerned.

Very few people take the time and resources to put out that much free content
and supplementary learning material. While I personally didn't learn anything
the hard way, I kno a few people who wouldn't have been able to "get it" if it
wasn't for one of Zed's books.

So even though I disagree with a lot of his opinions (especially about OOP),
it's cool to see that Zed Shaw still doing his thing in 2016.

------
kordless
"Keep your systems simple." \- Gregory Bateson

------
rhaps0dy
That's my linked list my son.

------
SFjulie1
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.

