The letter A styled as Alchemists logo. lchemists
Published November 1, 2022 Updated November 5, 2022
The Expert Beginner by Erik Dietrich

Published in 2013, the above is a series of articles turned into a book and this article is a capture of my corresponding notes. If you like what you see here, I’d suggest buying and reading the book for further details so you have the ability to draw your own conclusions beyond what I’ve captured here. Enjoy!

How Developers Stop Learning: Rise of the Expert Beginner

As a refresher, it would be good to read How To Keep Your Best Programmers, especially Bruce F. Webster’s Dead Sea Effect which leads to the rot of software engineering groups that ultimately ends in dysfunction and toxicity within a team’s culture. This book is about how that happens.

To start, the Dreyfus model of skill acquisition is mentioned where one travels through five stages of growth:

  • Novice

  • Advanced Beginner

  • Competent

  • Proficient

  • Expert

Sometimes, though, one can max out between starting out as a Novice but not reaching Expert. This is where one ends up at a static skill level due to two reasons:

  1. Aptitude is maxed out.

  2. Meaningful improvement and/or willingness to finish has been abandoned.

Assuming reason #2 is the cause, then someone can enter a different but parallel phase of development that branches at the Advanced Beginner phase of the Dreyfus model by starting the Expert Beginner phase instead due to a belief that one has reached expert status and no further improvement is necessary.

For someone in the Competent phase, they have enough of a handle on the big picture that they won’t confuse themself with being an Expert. An Advanced Beginner, unfortunately, hasn’t acquired enough of this knowledge and so will make assumptions that if they don’t understand something then it must be easy. If the Advanced Beginner — while still unskilled — continues down this path they eventually deem themselves to be Expert and completely bypass all of the other stages of growth. At this point the Advanced Beginner has taken the tragic fork in the road — the Dunning–Kruger effect — and is now an Expert Beginner. The aphorism "ten years of experience or the same year of experience ten times" — with an emphasis on the latter experience — is a good summation of what it means to be an Expert Beginner.

To emphasize further, it’s helpful to visualize the following comparison of an advanced beginner (stagnation) and expert (growth):

  • Stagnation (staying in the same place/position for years or hopping jobs but doing the same thing)

    • Does the same thing over and over but doesn’t advance in skill, knowledge, or expertise.

    • Hops between jobs, while doing the same thing, but never truly advances even though the job titles keep changing.

  • Growth (sticking with a project long term and actually earning experience)

    • Designing, architecting, and incorporating input/feedback from customers and the product team.

    • Planning and managing workloads.

    • Writing and testing implementations.

    • Working through code reviews (receiving and giving feedback).

    • Deploying features and/or fixes.

    • Maintaining the existing implementation, architecture, servers, and third-party services.

    • Living with past decisions and incorporating new methodologies.

💡 The Daily WTF is a good resource of examples of expert beginners.

How Software Groups Rot: Legacy of the Expert Beginner

The following expands upon what it means to be an Expert Beginner:

[S]omeone who has capped out in their learning at a local maximum, convinced that the local is global.

[I]t’s the vaguely solipsistic mindset of "if it’s not in my tool chest or something I’ve had experience with, it’s not worth doing" that puts a person in this category.

Another key characteristic is that expert beginners have some position of authority and/or influence and have either applied the title of expert to themselves or been appointed an expert by unknowing managers.

In the most unfortunate of situations, the Expert Beginner has surrounded themselves with low standards along with no peers, competition, actual experts that can see through the facade, or interaction with the larger community as a whole.

Where things go completely sideways in when expert beginners are in positions of authority who have built up a toxic culture with the following characteristics:

  • Very little knowledge in anything that matters and not aware of knowing what they don’t know.

  • Assuming anything they don’t know isn’t worth pursuing.

At this point, a few things will happen to the team:

  • The talented and the ambitious will bolt for more promising opportunities (echos what is discussed in How To Keep Your Best Programmers).

  • The mediocre will remain, conform, and even learn it’s OK to be mediocre.

  • The rest will recognize that if they wait, they’ll eventually replace those in charge and have their turn to rule unchecked.

To reinforce the above, a few quotes from John Amaechi — when interviewed by Adam Grant — are appropriate:

A culture is defined by the worst behavior tolerated.

The act of doing nothing is what defines a culture.

You have to treat even the minuscule transgressions as if they’re significant.

You might want to linger on Amaechi’s words for a moment because he articulates how precious great culture is and how quickly it can slip away. We grow culture every time a person gets promoted and if we promote the wrong behavior, the culture slowly rots away and dies.

How Stagnation is Justified: Language of the Expert Beginner

Language is a critical piece in distinguishing between an Expert or Expert Beginner. Actions alone are not enough since Expert Beginners behave similarly to Experts but the language used is where more of the tell is revealed. Some examples:

  1. Version control isn’t really that important if you have a good architecture and two people never have to touch the same file.

  2. We don’t write unit tests because our developers spend extra time inspecting the code after they’ve written it.

  3. Yeah, we don’t do a lot of Java here, but you can do anything with Perl that you can with Java.

  4. Our build may not be automated, but it’s very scientific, and there’s a lot of complicated stuff that requires an expert to do manually.

  5. We don’t need to be agile or iterative because we write requirements really well.

  6. We save a lot of money by not splurging on productivity add-ins and fancy development environments, and it makes our programmers more independent.

In addition to these false tradeoffs, an Expert Beginner can also use the following language:

  • Devaluations: Used mostly as an emotional exasperation instead of any logical reasoning as to how they are right and you are wrong. An example is when someone argues they know when a hurricane will hit if they feel it in their bones and then ends up drowning because they didn’t adhere to the weather reports and changes in the physical environment.

  • Angry Drivers: Used as a defense against everything where anything anyone else does is wrong or less than. For example, if the solution is similar to the Expert Beginner’s then it’s too simplistic or if it doesn’t fit any patterns that the Expert Beginner is aware of, then it’s bad. It’s like living in a Seinfeld episode where George (the most neurotic of the group) will always find some excuse to be upset with a perfectly good thing.

  • Seniority: Gives precedence to those who have been at the company the longest. Sadly, length of time at a company hardly ever correlates to greatest amount of knowledge and wisdom but can be used as a weapon to show who’s voice matters most.

Up or Not: Ambition of the Expert Beginner

There is a cognitive dissonance to Expert Beginners where they believe they are experts while external observers are able to demonstrate they are not through empirical evidence. This can be further broken down into three classes cognitive dissonance tolerance:

  • Xenophobes (low)

    • Little to no ability to reconcile conflicting beliefs which are avoided by sheltering from outsiders and different view points.

    • Manages extensive and quirky rules, standards, procedures, and so forth which are motivationally draining and non-negotiable.

    • Micromanages everything which eventually drives out talent who will seek out collaborative environments instead.

    • A strong focus on preserving the kingdom of control by not wanting existing team members to leave while avoiding hiring new talent for fear of challenging the status quo. Changes to how the team operates is also avoided.

    • Any kind of promotion or changes to job title and responsibilities would not be desired for this individual since it would destroy all of the work put into building their wacky environment.

  • Company People (medium): Echoes what is written in Developer Hegemony where this class of Expert Beginner is comfortable towing the company line. Age within the corporation has led to advancement not by merit but by length of time served while those in the target position are bumped up a level or vacate the position entirely. A false narrative has also been formed in their mind in which they think they have earned these advancements by skill alone when, in truth, they managed to not to mishandle any of these company promotions along the way.

  • Master Beginners (high): This class of Expert Beginners is truly disturbing in that they are a variant of pathological liars. A perfect example of this — at a grand scale — is Donald Trump and the insatiable narcissism at which he’ll make anything up in order to remain in control and pretend to have the perfect solution to any problem. In software engineering, this would be the equivalent of someone giving a speech to a room of engineers on the finer aspects of the Ruby programming language without having ever written a line of Ruby code while cajoling/threatening anyone who thinks otherwise.

Self-Correcting Organizations: Fall of the Expert Beginner

This story can be told through the same lens of classification as used above:

  • Xenophobes - Due to wanting to maintain the same software stack, team, and ways of doing things, the xenophobic kingdom slowly erodes until the company finally takes action by reorganizing the team or promoting/moving the Xenophobe to some obscure department in title only (much like Milton in Office Space). This might also cause the Xenophobe to rage quit or meagerly accept defeat. In the situation in which the Xenophobe attempts to move on, they face the stark reality of a lesser title and a significant wage cut.

  • Company People - These are the only class of Expert Beginners — by not realizing or admitting they are cog in the corporate machine — which can escape their fate by moving into management. On one side, they’ll micromanage and completely screw up team dynamics to the point nothing gets done (or is done poorly) and is demoted or fired. On the other hand, they’ll give up what little technical aptitude they have and be put in charge of a competent team which keeps everything successfully afloat, masking their own deficiencies.

  • Master Beginners - As fast as their meteoric rise so too is their fall. It doesn’t take long for existing Competents, Proficients, and Experts to figure out the Master Beginner is a phony. The removal of this individual can be as fast as a couple of days to a couple of months depending on how entrenched they are in the system. Never the less, they will land on their feet elsewhere only to rinse and repeat. In some sense they are bit of an unflushable as comically denoted in the first episode of Coupling.

Wasted Talent: The Tragedy of the Expert Beginner

Expert Beginners are knowledge workers, after-all, who are not dumb and start out full of potential but, at some point in their journey, have given up on pursuing intellectual pursuits or no longer push themselves further for whatever reason. Instead, they settle into a state of good enough which lowers of the bar of what the team is capable of instead raising the bar to something much greater.

Afterward: All Is Not Lost

There are steps you can take to fortify yourself from not falling into the mindset of an Expert Beginner:

  • Don’t Believe Your Hype: Definitely enjoy what you’ve accomplished over the years but never let your age, title, awards, etc. cloud empirical evidence to the contrary. Along these lines — and to paraphrase what Sam Harris once said while listening to the Making Sense Podcast — you need a challenge group as you gain more power to keep yourself in check.

  • Always Be Curious (ABC): Remain humble by always learning, being open to new ideas, embracing change, and constantly pushing yourself to new levels.

  • Articulate Your Reasons: Being able to explain your thoughts and opinions is an invaluable skill because it demonstrates you have learned what you’ve read which you can teach in order level up others.

Additionally, there is a section for leaders with several bullet points on what to watch out for and steps you can take to fortify your team. I’ve folded most of this into my leadership article in case it’s of interest.

The book ends with the following insight:

Expert Beginnerism as a cultural phenomenon can only be addressed by enough individuals refusing to participate. The first step is making sure that you don’t become an Expert Beginner yourself. The next step is making sure your group doesn’t fall victim to Expert Beginnerism. Beyond that, you simply have to talk, communicate, encourage, and lead by example. Inquisitiveness, humility, and ambition are all generally attractive qualities, and they have the capacity to be infectious. It is entirely possible to participate in turning the tide. You can prevent an Expert Beginner from infecting your groups, and you can even influence other groups, helping them not to become infected either. The battle for meritocracies and innovation is won and lost in the trenches of countless individual interactions.