I just finished reading "Staff Engineer" book [1] and it listed "Architect" as one of four archetypes. The architect there is very different from the one in this article, and I'll support the book than this article.
Simply put, the architect in this article is probably too micro-managing and tyrannic. Although that isn't stated explicitly, the lack of arrows across devs is symbolic, as well as the "surgeon" metaphor.
The team I'd like to be in is more loosely coupled and less hierarchical, and I'd love an architect to be more ambient than opinionated.
Many architects would disagree and that's fine. I just want to drop my 2c here.
Pop psych structures and archetypes are sometimes useful for thinking about ourselves, our relationships with others, and our orgs.
I think they can be overwrought, though, and used precisely when they're supposed to be a "if you squint you might see these things around you" way.
I'm rather a fan of the Biblical "raise a child in the way they should go and they won't depart from it"; train someone with the essentials of the their job, reinforce the good habits, and (if they take ownership) they will continue to do those things they were taught even when they are no longer closely managed.
The above presumes "close management" at the beginning of the "life" of someone new to the job, and then as they age in the organization "distant management", and eventually leadership.
close management != micro management, consider close management to be the same kind of process a child goes through when learning. First we show them, then we explain to them what we did, then they try it with supervision (this is where most of my learning occurs), then we let them do it without supervision.
You could think of this in terms of how big a learner's feedback loop from others is: at the start their feedback loop from "engineer dad" is tight; they get feedback very often, correction and discipline where necessary. As they learn, the feedback loop loosens and they have a chance to move into their "engineering teens". Eventually the feedback loop is loosely coupled; "engineer dad" now advises infrequently and offers guidance and advice when requested.
;) My little framework is as useful as any other pop-psych, you just have to squint at your org/experiences to see it.
Is it really? What about the expert, critical yet friendly review from other colleagues/competitors; the MDT meeting; the ward round? Most surgical patients have an incentive to never see the surgeon again, and the surgeon is strongly incentiveised to avoid having to see them again in the immediate future (i.e. to fix a postoperative bleed, etc). Is the same thing true of corporate programmers?
All metaphors are wrong. Some are useful. Is this one?
> First we show them, then we explain to them what we did, then they try it with supervision (this is where most of my learning occurs), then we let them do it without supervision.
It strikes me as coming close to the TWI job instruction training method [1] the US developed in the 40’s to train workers for war production.
I think in our industry this is normally called CPT (Chief Programmer Team)
I have worked in teams like that and the idea is the Chief and developers do the development - though normally individuals can have multiple roles in smaller teams.
The chief Programmer is a hands on role as I see it.
With the Right Team its great - developers that obsess about leetcode scores arenot going to be a good fit
I disagree in the sense the architect should be hands off and a source of good practice, recommendations, and an all round enabler. But the dev at the coalface? They own the solution.
Office suites and email clients don't handle correspondence or finish documents. Stack Overflow and Google only propose changes when people know what to ask. Static analyzers don't replace knowing the language and libraries in depth. Good requirements need tight cooperation.
This kind of content is good food for thought, but it always makes me think back to an article that I read 15 years ago (and cannot find again), that said in short, "Tech teams are full of smart people that will self-organize. They will ignore your org charts and team visions, and fall in line into the best working team they can, based on their own evaluations of each others skills and knowledge.... so long as you just leave them alone to do it."
And my best teams have been the ones where the leadership let us do exactly that. They might talk to us about their ideas of how we should do things and how we should organize ourselves, but ultimately they did what most good leaders do, which is to hire smart people, task them with what needs done, and then leave them alone.
Of course the best teams ended up like this - it means there were many many different explicit negotiations that didn't need to happen.
I think the harder problem to solve is mediocre teams, and mediocre management - all well meaning folks. I'd really like to see programming succeed with a mediocre team.
This only up to a point. The way responsibility is formally divided is extremely important. Noone will self-organize to an extent that makes them looks non-essential, not productive, distracted, etc
Surgical teams work under very specific constraints such as a tight time limit, mostly repetitive/practiced tasks, limited concurrent work (only so many hands can fit inside a patient), team size limited by physical constraints of operating room, etc. Trying to apply this approach to other domains with different constraints, even if only philosophically, seems inherently an ill fitting idea.
Most every methodology when applied properly to a well functioning organization will work better than a methodology applied to a random company. Which says less about the methodology and more about how most companies are dysfunctional and no methodology will magically make them better. So comparing average X to optimal Y isn't I feel a fair comparison.
It's just a memorable metaphor. Brooks advocated a small team of specialists and assistants supporting a hands on lead because it's a good way to develop software. Not because it's good for surgery.
Mythical Man-Month isn't trying to say "surgical teams work well - let's apply that approach to software". Instead, it's an analogy to explore Fred Brook's thoughts on 10x programmers and "building systems with as few minds as possible". Brook's attributes the idea to Harlan Mill's paper "Chief programmer teams, principles, and procedures" - which I can't find online, but I'd be curious how Mills treats the analogy.
It’s metaphor illustrating the difference between a surgical team and a hog butchering team i.e. instead of everyone cutting away at the problem, just one person does the cutting while the others support him.
The surgical team has limited size because of physical constraints - the software team does not have such a strict size limit. But we have seen that bigger teams get very very slow so we want small teams - so we look for ways to make the team smaller. It is useful to copy ideas from one domain to another one - it is called advanced analog field. For example the ABS system in breaks was developed for aircraft - but later someone observed that it would also be useful in cars even though they don't have the same operating constraints. http://web.mit.edu/evhippel/www/books/DI/Chapter10.pdf
Proponents of "meritocracy" usually mean "no false positives": let us not have bad engineers or politicians; let cream rise to the top rather than keep messing with the mixture.
Detractors of "meritocracy" usually mean "no false negatives": all the cream rises to the top, if you're good you'll win always.
The first version is a desideratum; it's a desired end-goal, not a warranty. The second is a(n usually true under the second definition) empirical claim that meritocracy is impossible.
The word meritocracy was defined in a work of fiction that used it ironically.
People are so literal minded they dropped the irony.
That is, people in power are so desperate to believe that they deserve every microgram they have that they grab to ideas like that.
In the case of the article there are questions like: "what do the members of the team believe about the competence about the other members of the team?" and "how competent are the members of the team really?" and that is in the context of an industry where it is commonly believed that "anybody who uses Microsoft SQL Server is a buffoon" or "anybody who uses MySQL is a buffoon" together with many similar beliefs.
We have a friend who is an actual architect. Her children sleep on the second floor of a house she designed herself and built (with her husband). I wonder how many self-described software architects would have the confidence in their skills and the quality of their work product to put their money where their mouth is in the same way?
Team concepts which put one person in the center as the single source of all knowledge have a lot of advantages if that person is really good, but carry a lot of risk if they are not. There's a reason you train to an extremely high level before you become the chief surgeon in an actual surgical team.
The article states that hierarchy is innate to human beings and links to Jordan Peterson as a reference?! This is a core belief of conservative thinking and is a political posture, not a scientific truth.
Hierarchies are a characteristic of agricultural societies and almost completely absent in hunter gatherer societies that precede it. Hunter gatherer societies are typically egalitarian.
Yes, but are there any political philosophies that advocate the adoption of elements of the hunter-gatherer lifestyle?
I mean, sure, you can speculatively postulate that HG-like egalitarianism is possible in non-HG societies. But that goes against the overwhelming mass of evidence.
Whether egalitarianism exists in non HG societies is a separate question that is not relevant here.
The overwhelming history of humans has been in egalitarian societies. Stating that humans innately prefer a hierarchical society is patently absurd when you look at the millions of years of human evolution where we most definitely weren't. The problem is that the article quotes conservative philosophy as a given scientific fact.
I agree that innateness claims are very very seldom true or even plausible. I make a different claim: hunter-gatherer H. sapiens was a different kind of “human” in almost every political and social sense, even if there’s significant biological continuity. And conservatism properly understood (at least when it avoids specious arguments) concerns politics and society, not raw biology.
Agricultural societies are very recent; current humans are no different from HG humans 7K years ago. Innateness comes from biology, not politics, evolved over several million years as primates.
Conservatism is a very thinly veiled biological argument in favor of a hierarchical society, which is seen as just. The majority of the society is expected to be bottom feeders serving those above them, this is the right way of things.
The French revolution which overthrew the feudal lords was seen as a threat to conservatism. Capitalism was seen as a solution to the possibility that superiority might not be fully heritable.
However, conservatism inevitably leads to biological justifications, such as white nationalism and objections to inheritance taxes.
Conservatism is really a series of polemics against egalitarianism that intend to say that society is hierarchical and those that belong to the top are people who look and act like me.
On another note, the philosophy of libertarian socialism comes closest in modern day societies to egalitarianism.
> Yes, but are there any political philosophies that advocate the adoption of elements of the hunter-gatherer lifestyle?
I don't know if existentialism qualifies as "political philosophy" or not, but if all philosophies are political, then I think existentialism fits that description.
"Once freedom lights its beacon in a man’s heart, the gods are powerless against him. It’s a matter between man and man, and it is for other men, and for them only, to let him go his gait, or to throttle him." -- Jean-Paul Sartre, The Flies
I don’t think the updated concept in this article is an improvement. It seems to be a regression to the hog butchering style but with a chief butcher who draws a few lines on the pig and then tells his team to go at it while he makes a few of the more delicate cuts.
41 comments
[ 4.3 ms ] story [ 117 ms ] threadI just finished reading "Staff Engineer" book [1] and it listed "Architect" as one of four archetypes. The architect there is very different from the one in this article, and I'll support the book than this article.
Simply put, the architect in this article is probably too micro-managing and tyrannic. Although that isn't stated explicitly, the lack of arrows across devs is symbolic, as well as the "surgeon" metaphor.
The team I'd like to be in is more loosely coupled and less hierarchical, and I'd love an architect to be more ambient than opinionated.
Many architects would disagree and that's fine. I just want to drop my 2c here.
[1] https://staffeng.com/book
I think they can be overwrought, though, and used precisely when they're supposed to be a "if you squint you might see these things around you" way.
I'm rather a fan of the Biblical "raise a child in the way they should go and they won't depart from it"; train someone with the essentials of the their job, reinforce the good habits, and (if they take ownership) they will continue to do those things they were taught even when they are no longer closely managed.
The above presumes "close management" at the beginning of the "life" of someone new to the job, and then as they age in the organization "distant management", and eventually leadership.
close management != micro management, consider close management to be the same kind of process a child goes through when learning. First we show them, then we explain to them what we did, then they try it with supervision (this is where most of my learning occurs), then we let them do it without supervision.
You could think of this in terms of how big a learner's feedback loop from others is: at the start their feedback loop from "engineer dad" is tight; they get feedback very often, correction and discipline where necessary. As they learn, the feedback loop loosens and they have a chance to move into their "engineering teens". Eventually the feedback loop is loosely coupled; "engineer dad" now advises infrequently and offers guidance and advice when requested.
;) My little framework is as useful as any other pop-psych, you just have to squint at your org/experiences to see it.
All metaphors are wrong. Some are useful. Is this one?
> First we show them, then we explain to them what we did, then they try it with supervision (this is where most of my learning occurs), then we let them do it without supervision.
It strikes me as coming close to the TWI job instruction training method [1] the US developed in the 40’s to train workers for war production.
[1] https://www.allaboutlean.com/twi-job-instructions/
I have worked in teams like that and the idea is the Chief and developers do the development - though normally individuals can have multiple roles in smaller teams.
The chief Programmer is a hands on role as I see it.
With the Right Team its great - developers that obsess about leetcode scores arenot going to be a good fit
And my best teams have been the ones where the leadership let us do exactly that. They might talk to us about their ideas of how we should do things and how we should organize ourselves, but ultimately they did what most good leaders do, which is to hire smart people, task them with what needs done, and then leave them alone.
I think the harder problem to solve is mediocre teams, and mediocre management - all well meaning folks. I'd really like to see programming succeed with a mediocre team.
Detractors of "meritocracy" usually mean "no false negatives": all the cream rises to the top, if you're good you'll win always.
The first version is a desideratum; it's a desired end-goal, not a warranty. The second is a(n usually true under the second definition) empirical claim that meritocracy is impossible.
People are so literal minded they dropped the irony.
That is, people in power are so desperate to believe that they deserve every microgram they have that they grab to ideas like that.
In the case of the article there are questions like: "what do the members of the team believe about the competence about the other members of the team?" and "how competent are the members of the team really?" and that is in the context of an industry where it is commonly believed that "anybody who uses Microsoft SQL Server is a buffoon" or "anybody who uses MySQL is a buffoon" together with many similar beliefs.
Team concepts which put one person in the center as the single source of all knowledge have a lot of advantages if that person is really good, but carry a lot of risk if they are not. There's a reason you train to an extremely high level before you become the chief surgeon in an actual surgical team.
Hierarchies are a characteristic of agricultural societies and almost completely absent in hunter gatherer societies that precede it. Hunter gatherer societies are typically egalitarian.
I mean, sure, you can speculatively postulate that HG-like egalitarianism is possible in non-HG societies. But that goes against the overwhelming mass of evidence.
The overwhelming history of humans has been in egalitarian societies. Stating that humans innately prefer a hierarchical society is patently absurd when you look at the millions of years of human evolution where we most definitely weren't. The problem is that the article quotes conservative philosophy as a given scientific fact.
Conservatism is a very thinly veiled biological argument in favor of a hierarchical society, which is seen as just. The majority of the society is expected to be bottom feeders serving those above them, this is the right way of things.
The French revolution which overthrew the feudal lords was seen as a threat to conservatism. Capitalism was seen as a solution to the possibility that superiority might not be fully heritable.
However, conservatism inevitably leads to biological justifications, such as white nationalism and objections to inheritance taxes.
Conservatism is really a series of polemics against egalitarianism that intend to say that society is hierarchical and those that belong to the top are people who look and act like me.
On another note, the philosophy of libertarian socialism comes closest in modern day societies to egalitarianism.
I don't know if existentialism qualifies as "political philosophy" or not, but if all philosophies are political, then I think existentialism fits that description.
"Once freedom lights its beacon in a man’s heart, the gods are powerless against him. It’s a matter between man and man, and it is for other men, and for them only, to let him go his gait, or to throttle him." -- Jean-Paul Sartre, The Flies
maybe im missing something...