A second failure mode here is doing no meta at all before settling on a starting point. If all you want is to advance your career in an arbitrary field with an arbitrary success at the end, it doesn't matter. Just pick something.
But if you do care about the end result, you need to think on a strategic level first before you commit to mastering an object-level skillset.
Jareds' Faris article can be found here: https://jaredthenerd.com/2013/05/What-Makes-A-Good-Developer/
What if you end up with a solid grounding in meta skills but no object level ones? "Software architects" who make pretty UML diagrams they call designs, but who never actually write code themselves because they're no good at it?
Seems like a likely failure mode if you skip the "master your current level" step in abstraction.
I like the post.
I'm particularly interested in reading more about Boyd. The specific biography of Boyd you referenced appears not to have been linked. Actually, there are no source links in the entire Boyd section - could you make a recommendation for sources? Would you consider posting a book review or expanding Boyd section in another post?
Helpfully OODA loops have a standardized literature now, but I find the historical context extremely important for grasping the intuitions.
I think I've developed a good heuristic for how awesome a historical figure was - the more nicknames they had, the more awesome they were. And by that heuristic, John Boyd was pretty damn awesome. Known as 40-Second-Boyd, he could defeat any pilot who came to the military training academy he worked at within 40 seconds. Later, he came to be known as the Mad Major, Genghis John, The Ghetto Colonel, and more. And every one of those nicknames has a story behind it. He's a fascinating guy, and there are an incredible amount of career lessons you can learn from him.(I highly recommend you pick up this biography of him.) The one that jumped out most starkly is the pattern that Boyd exhibited throughout his career that allowed him to consistently progress.
The Four Phases of Boyd's Career
Boyd The Fighter Pilot
In phase one of Boyd's career, he was a fighter pilot for the US military. Boyd focused on learning every tactic to perfection; he learned the limits of the aircraft and used those limits to perform techniques never before considered. He became a master at the craft of dogfighting. Boyd became so good at pushing the aircraft to it's limits that he developed a strategy that allowed him to beat any challenger that came to his training academy in 40 seconds or less. This was how he came to be known as 40-Second-Boyd.
Boyd The Tactician
In the second phase of Boyd's career, he took everything he learned about the techniques he mastered, and asked himself an abstract question: why do I use certain skills at certain times? And what he found was that he could create a set of rules for the tactics he was using, a repeatable process that anyone could use to choose the correct tactic for the situation at hand. He became so proficient at dogfighting strategy that pilots from other military branches would attend the academy just to learn from Boyd - something nearly unheard of in the tightly siloed US military. He distilled all of this knowledge into a small, less than 200 page manual called "Arial Attack Study", which is still considered the bible of dogfighting to this day.
Boyd the Mathematician
In the third phase of Boyd's career, he took everything he learned about these tactics and asked himself an abstract question: why do certain strategies work as effective counters to other tactics? He couldn't answer with his current knowledge, so he kept it in the back of his mind, and went back to school for advanced math. One day while working with a tutor, Boyd had a breakthrough. He realized that all the tactics he was using could be quantified as trying to get to a point where your airplane had more potential energy than your opponent. He developed a new theory called Energy-Maneuverability Theory and tweaked it to perfection. He so mastered the theory that he was able to look at aircraft designs from manufacturers and intuitively see how these designs would perform. He eventually created a series of color coded charts, that allow the performance of any airplane to be compared to the performance of any other airplane, in an intuitive way. Boyd's charts are still in use by manufacturers and militaries to this day.
Boyd the Strategist
In the final phase of Boyd's career, he took everything he knew about energy and dogfighting and asked himself a new abstract question - why do lower energy dogfighting maneuvers beat higher energy ones, and how does that apply to an overall strategy of war? This was a question that he couldn't answer at his current level of expertise, so he kept it in the back of his mind, and created a broad education for himself consisting of philosophy, science, an military theory. One day, while reading a passage from a famous military strategist, he had a break through. He realized that all of military strategy could be understood as a race against the other side to get the most complete understanding of the battle, and act upon it - this was analagous to one pilot gaining a potential energy advantage over another in a dogfight. He gained such a deep understanding of military strategy that he was called upon to give briefings around the country, to officials far above his rank. He eventually distilled his knowledge into a simple diagram called the OODA Loop, which showed how speed, understanding, and action worked together to create the conditions of victory.Note that Boyd didn't stop there, he went on to develop an entire ontology of warefare, as well as an understanding of HOW he was able to make these creative loops - Boyd just kept going meta.
The ALID Loop- The Four Step Pattern to Advancing Your Career
The specifics of Boyd's career are interesting, but something I find even more fascinating is the consistent pattern he exhibited that allowed him to advance from one phase to the next. It's a pattern that can be seen in the careers of most great men and women throughout history, but rarely as starkly as it's represented in the career of John Boyd. It's a process that you too can use to achieve unfathomable heights in your career.The pattern is a simple four step process, which involves asking why, learning new disciplines, internalizing your understanding, then distilling your results. I'm going to name this process the ALID loop, as an homage to John Boyd's legacy.
Abstraction - The Process of Asking Why
In stage one, you'll have already mastered everything at you're current level of understanding, and you'll start to wonder what comes next. As you start to examine what you already know, you'll begin to see that maybe there's a pattern underlying what you do - a pattern that you know is there, but is just out of reach. This knowledge will eventually crystallize into a question that drives subsequent research - a why question. This question will help you explore your field in a more abstract way.
Learning - The Process of Exploration
Once you've developed your burning question, you need to start searching where there might be answers. But as Einstein noted, "We cannot solve our problems at the same level we created them." In the context of your career, that means that in order to advance, you'll have to explore outside the confines of skills traditionally associated with your career, and think outside the box to find answers. Start looking outside the immediate skills you've learned, and exploring related fields that might hold the answers you seek. This is often a good time to consult with mentors who might point you in the right direction. Or if you're exploring a question that has never been asked before in your field, you'll have to start researching widely, and trust your intuitions to hone in on the areas that hold the answers.
Internalization - The Process of Mastery
As you continue to explore new fields, you'll soon begin to see hints of an answer to your question. But, you're not done yet. You're not done until you so understand your new skills and have practiced them such that they become second nature. This process of internalizing the skill is sometimes called "Unconscious Competence", based on the four stage model of competence. John Boyd also had a word for this in his work on military strategy. He called it "Fingerspitzengefühl" (literally translated: finger feel).
Distillation - The Process of Making Your Work Accesible
Once you've developed your Fingerspitzengefühl (I just really wanted to say that word again), you'll reach the most important step for advancing to the next phase of your career. You'll need to distill your work into an accessible, easy to use format that others can use - Even if they don't have your mastery of the topic. This often involves creating clear processes and patterns that others can follow, and giving things easy to remember names such as the OODA loop. It also means developing metaphors, stories and visuals that can be understood by anyone. Often, this stage involves a legacy project - a training, video, book, or presentation that takes all your distilled knowledge and puts it into one place. This stage is crucial for two reasons. Firstly, it establishes you as an expert in the field and gives you the access you need to continue to advance in your career. Secondly, it allows others to take over the niche that you once held, giving you the time needed to start the ALID loop over again, at an even deeper level of abstraction.
How does this look in a more typical career??
You may be wondering how this applies to you right now - maybe you're not looking to change an entire industry, you just want to advance in your career to the best of your ability. To answer that question, we'll look at the typical career of a software developer, moving from a junior developer to a mid-level developer. We'll quote liberally from this post by Jared Faris, which gives a great overview of the differences between a junior, mid-level, and senior developer.
A - Abstracting From a Junior Developer
Before you you're ready to move from junior to mid-level developer, you have to gain unconscious competence at getting the computer to do what you want it do.In Jared's Words:
Once you've gotten really good about the tactical problem solving, you'll begin to develop a burning question: Why should I make the computer do different things?
L - Learning the Skills a Mid-Level Developer Needs
Once you've begin to develop you're burning question, you'll need to go outside the basics of whatever programming framework you're working with, and focus on the larger skillset that can help you this question. This might involve several things such as...Test Driven Development:
and Basic Business Sense:
as they get better at these things, they'll start to move into the next stage.
I - Internalizing The Skills of a Midlevel Developer
Interalizing the skills of a Mid-level developer is about taking those skills and figuring out exactly when and how they're needed to solve the challenge at hand. Instead of using all your toolset all the time, as you begin to internalize, you'll know when to use the right tool for the job. Jared again:
After they've gotten good at knowing when and how to apply their expertise, mid-level developers can move onto the final step.
D - Distilling The Lessons You Learned
Once you've mastered the skills you need to be Mid-level developer, you'll begin to hand off some of the basic grunt work to junior developers. But, as Jared points in the diagram below, that isn't enough. You'll need to help guide those junior developers, just as you were guided on your path to becoming a mid-level developer.
What now?
Today, I want you to diagnose where exactly you are in the ALID loop. Have you asked yourself an abstract question to further your thinking? Have you started to learn what you need to internalize that question? Have you distilled the lessons you learned into something that others can use?