
The Myth of Architect as Chess Master - yarapavan
http://www.bennorthrop.com/Essays/2020/myth-of-software-architect-as-chess-master.php
======
EL_Loco
Off topic, but you know the person doesn't play chess when (this is very
common) they think that a chess master can spot a mate-in-1 and nobody else
can. Mate in 1s are fairly easy to spot if you've been playing chess for,
let's say, 2 years. In reality, a chess master would spot something like
"bishop to queen whatever, rook takes bishop, pawn to whatever, rook takes
pawn, queen to whatever and then you have mate in 2" I'm only whining about
this because it's too common a cliché in popular culture.

~~~
billforsternz
Yes, yes a thousand times yes. In fact just the fact that mate is invariably
imminent in movies and TV is annoying. Also the board seems to have the wrong
orientation _more than 50% of the time_ which basically violates not only
statistics and probability basics but fundamental principles of the universe.

~~~
bluGill
You would think there wasn't chess clubs all over the world where you can walk
in and find people who know something about chess and copy their game. Just
copy a game two ~1700s play in a friendly match and have your characters play
that exact game - you will have your choice of games so you can choose who
wins. Get the best player in the club to advise you if you want the characters
to talk about something - it isn't hard to get this right with a little expert
help.

~~~
mercer
<cue two investigators working at the same keyboard to do things twice as
fast>

------
phlakaton
Let me tell you about the time I was called in as an architect to a technical
meeting. Two teams were baffled why their systems weren't integrating
properly, and each was heatedly pointing the finger at the other.

Annoyed, I pulled up the code for the system call that was failing, and within
a few minutes I found an int64 that was getting truncated incorrectly.

I pointed it out to the team in the room. The shouting match suddenly grew
very quiet, and I strolled out the door in satisfaction.

Sometimes, on rare occasions, it _is_ a mate-in-one.

~~~
rjzzleep
I had something similar but unlike you I was freshly in the company and it was
a room full of people close to retirement.

When I saw the suspected error before the meeting I spoke to one of the guys.
He said I absolutely cannot mention the issue right away. He helped me workout
a couple of questions I could ask to nudge them in the right direction.

When the meeting started the Director of Infrastructure, some people of the
accounting department and a couple of the IT people supporting them were
shouting at each other and trying to find the one responsible for the
fault(this bug actually cost them a couple of millions).

I interrupted them by saying I don't care who's responsible and asking the
questions I rehearsed. The director of infrastructure who was supporting the
accounting people then found the issue(he retired a year later and yes weird
structures in that company).

Anyway, the guy was really proud and the accounting department was praising
him and the blame each other games stopped until ...

... I had my 1on1 a while later and the CIO told me that he heard I was
yelling at people in that meeting.

~~~
kragen
Sometimes you can achieve a lot if you don't care about getting any credit.

~~~
rjzzleep
Yeah, but sometimes it gets you fired. Different company, different situation.
Careful with this kind of advice.

People like to think that the world is this magical place where in the end you
get what you deserve when you collect enough good karma and do the right
thing, but it isn't really the case.

~~~
tartoran
If you do get fired for that you don’t really want to work there anyway

~~~
kamarg
Maybe but most people also don't want to not be working involuntarily with no
notice.

~~~
tartoran
I would not either and never happened to me to date, but if it did, I wouldn’t
sweat it and would not put undue pressure on myself.

------
cmhnn
If the argument the blog is trying to make is Architects can't know everything
then it's a bad article to submit.

On the other hand, if the argument is a boss should not expect someone called
Architect or senior engineer etc. to be able to troubleshoot based on
experience I have a problem with that.

If someone can't be air dropped and they have a title that is intended by the
business as code for _a senior level software person who can think of how to
build systems and can also build them themselves_ , then I am not sure what
they bring to the table.

~~~
loopz
This is the problem with development for, forever. Most of the time, people
are tasked with: Here's the spec/user story/loose idea/unrealistic wishlist,
and can you be done before this weekend at least?

What's the problem again? The facilitation of foundational discussions and
exploration is seen as waste. So the business spends X months building the
wrong idea, without any feedback and adjustments along the way whatsoever
instead.

To air-drop someone senior to set things straight. What a great way to
sabotage organisational learning and simplification. Not that anybody gives a
rats ass about eachother anyways, right?

~~~
cmhnn
There are a lot of problems in the industry but the experienced helping the
inexperienced on demand in response to a crisis doesn't seem like one that is
nearly as serious as others.

I am old enough to have been on XP teams and to have become a certified scrum
master in its first few years. It's gotten out of hand. Being agile and
blasting to an MVP is fine for people who think Netflix or sending dick picks
is mission critical but with IOT and AI scenarios emerging that allow all the
little software napoleans to fuck up something serious or inadvertently create
a universal spying machine it might be time to put the breaks on for at least
a class of problems.

No industry hates old people as much as tech and that industry has people all
over it like an idiot on another thread who clearly had no idea who Brian
Kernighan was when they wrote their post. Young programmers have always been
arrogant idiots. I was one myself. But it astounds me that _many_ programmers
today don't even know a ton of stuff that would make their job easier since it
is shit that is already figured out or is shit the science says can't be
figured out.

I hate people that wallow in history as much as the next person with an ounce
of inclination to independent thought but for fucks sake learn some basics
before applying that code golf to 20,000 cores because that shit costs money
you free food demanding little jack ass.

As for building what the customers need or want? The more time I spend around
programmers the less inclined I am to want them deciding anything for anyone
in terms of features.

If you're blessed enough to be great at programming and picking things people
actually want or need then you'll be too rich soon to bother with stuff like
being told to help a team fix their shit anyways.

~~~
loopz
I don't know about hate, but each man an island was the tone set by top owners
and executives since 1999.

Dev is hard enough, but the demands of divisive process micromanagement just
creates heroes and firefighters, and sets up org for continual failure.

While endless backlogs and mitigations documents processes, creative
collaborative progress nosedives.

Majority of devs need facilitation though. No history of otherwise, but
perhaps a silo issue.

Drop-ins can be natural, but not so much as upfront restrictions-planning
outside teams.

~~~
cmhnn
I think you are saying you want the industry to be better. I support that. But
until we get there, the need for people who can airdrop is going to be there.
Sometimes you may be dealing with a fortune 50 like customer with lots of $$$
in play or a smaller customer who needs to get something running or they are
in deep trouble of going under. It's not so much about looking inwards
sometimes as it is about helping customers who depend on the crap that was
built to get past the bugfest the industry seems comfortable selling all to
often.

------
Ididntdothis
I know people who are good at architecture but I always get skeptical when
people have the title “architect”. If they don’t keep working in the weeds I
feel they often get out of touch soon. They may be good at doing nice
presentations but their designs become more and more unrealistic.

~~~
cmhnn
Any software "Architect" who can't build what they say to build should have to
get a new job.

Any programmer of less experience who continues to argue with the "Architect"
after they have met the challenge of proving their ideas can be done should
also have to get a new job.

Many less senior programmers are better at the every day idioms of a given
language or tools used in daily programming. Many senior people have to do
more than just code. But most senior people who can still practice if called
upon are much better problem solvers in part because they have already failed
so many times and each new batch of programmers keep re-inventing the same
mistakes.

~~~
Ill_ban_myself
What toxic pit do you work in where junior programmers are ARGUING with senior
architects and the senior devs aren’t mentoring, reviewing and empowered to
make key decisions in another room before junior developers ever see a spec?
And how do I avoid working there?

~~~
nitrogen
I've seen this in a couple of places. Junior dev assigned to design new
system. Senior dev assigned to mentor junior dev. Senior dev encourages junior
dev based on experience. Junior dev ignores everything senior dev says.
Manager listens to whatever junior dev says and sidelines senior dev. Senior
dev goes on vacation. System explodes.

~~~
Ididntdothis
At my company management often gives new stuff to interns while senior people
are stuck with maintenance work. It’s really weird.

~~~
cbm-vic-20
I've been at a mega-corp that let newly hired developers to build new stuff
while senior devs are busy putting out customer fires that in many cases, were
caused by those junior devs in the first place. "We want to make sure the
junior devs have interesting things to work on so they stick around."

------
loopz
Architects have two primary purposes (not roles):

1) Facilitate that architecture and design happens in teams (dev or not)

2) Ensure coherency of architecture

That's it folks!

~~~
tyingq
That seems right. City planner seems more apt than chess master.

~~~
jaggederest
I used to joke that the term "business-to-engineering psychologist" was more
descriptive than "software architect". You had to know how to get people to
agree a lot more than how to get technology to work together, especially in
"larger organizations". It's politics, pure and simple - most of the conflict
isn't technical.

~~~
mehh
damn right!

------
teambob
Being an architect is like training a bag of cats. You are also in the bag

------
rehasu
And then you go another level deeper and see everything is actually just
different ways of doing the same old Linux and/or Java. I feel especially in
Ops people can see that all the time. For instance just today I saw someone
debug a NO_PROXY topic in Kubernetes. Kubernetes is super cool and works
different than the old LAMP stacks or even Openstack. But still they deal with
NO_PROXY not being standardized problems. Also shows that the same, actually
hard problems (like standardizing something that is "out there" for more than
a decade already) are never really solved. Each shiny new tool comes with its
own way of doing things, but what they do with your input is in the end always
the same. Mounting, multiprocessing, sockets, string parsing, memory
management, log searching, etc.

So yes, I think there's a way to become a chess master. You just need to go
one level deeper and accept that there might be multiple topics that each will
need half a decade to learn good enough to be useful.

------
ryanthedev
I enjoy this line of thinking, having domain knowledge is always critical to
success. Being invested is always ideal.

I would like to counter with the delivery transformations I have been apart
of, the role of the architect has dried up.

I do predict for most large enterprises the role of a manager will start to
become more full stack and becoming that invested visionary technical leader
and mentor. At least that's what I hope for...

------
have_faith
The interesting thing about grandmasters is their ability to recognise a
winning position regardless of working out the moves yet, something AlphaZero
(chess engine) seems to take to the extreme of recognising winning patterns
that it can intuit will lead to winning games without hard calculation.

Maybe the architect equivalent is someone explaining the structure of a system
and instantly knowing roughly where the problems are before inspecting the
individual parts. Like the grandmaster the architect will intuit better than
most where the problems likely are given a high level overview.

------
eternalban
The fact is that the architectural mindset is a very distinct and recognizable
mentality and most certainly not the byproduct of a "process".

I suggest one first try their hand at defining what is "architecture" and if
one has trouble with that, suggestion is to not venture to the subsequent
topic of "what is an architect and how does one recognize this rare [1]
animal?"

[1]: it is definitively a talent and a rare one at that.

~~~
karatestomp
I've long had the notion that _taste_ is secretly the most important quality
of a good developer or worker in computing technology more generally, and we
only pretend other things matter so much because taste is hard to measure in
an interview, difficult to quantify, and no-one knows how to teach it
reliably.

~~~
The_rationalist
What do you mean by taste?

~~~
tydok
Taste and Aesthetics
[https://www.artima.com/intv/taste.html](https://www.artima.com/intv/taste.html)

Taste for Makers
[http://www.paulgraham.com/taste.html](http://www.paulgraham.com/taste.html)

------
thanatropism
I wonder if the analogy "software architect" isn't being stretched too thin.

What are the essential or characteristic traits of the architect as a
professional and of architecture as an enterprise that translate or have
direct equivalents in the software world? Are trained architects expected to
be better sofware-architects than trained physicists or... chess masters?

