Now that we’ve got a structured team that’s executing, we’ve arrived at our last system, a System for Leveling Up.
The goals for this system are:
- Provide a clear and quantifiable path for progression and promotion
- Incentivize self-organization and leadership
- Increase the team’s ability to respond to change and challenges (i.e. resiliency, antifragility)
The Leveling Up System model includes:
- Talent executing on superimposing cadence waves with decentralized leadership (see System for Executing) that flows into the “Game”
- Clear rules and rewards defined by game designers
- Individuals with new skills and enhanced capabilities (both technical and social)
- Teams with a greater capacity for resiliency and tooling to meet future challenges and opportunities.
- It’s impossible to design a perfect “Game”. There will be some waste due to bad game mechanics creating incentives that do not align with business objectives or promote perverse behaviors.
- Feedback Loops
- Gamification Refinement Loop - The “Game” will need to undergo continual iterations to adapt to a changing environment and business objectives. This is the role of game designers.
- Team & Player Strengthening Loop - Stronger players make the team stronger. Stronger teams make players stronger.
- Playing Loop - The “Game” will be played in a ubiquitous fashion. How the game is played will influence future game design decisions
We’ll explore three parts of the leveling up system.
- Game Design
- The “Game”
- Teams and Players
What’s presented here is quite different from the standard self-feedback, peer-feedback, and promotion committee process. I view that process largely as a painful waste of time.
This system design is equivalent to:
Leveing Up System = GitHub + Stack Overflow + Token Economics
For this discussion, let’s contextualize professional coding as an esport.
Coding as an Esport
This is where gamification comes into play. We — as humans — are designed to play games. You can study game theory for a deep dive into this topic. Check out this YouTube course from Systems Innovation:
The way individual players and teams are rewarded will inevitably be played in a “Game”. If you don’t define the “Game” explicitly, then some “Game” will be implicitly played; it will just have vague rules and feel unfair to its participants.
It’s far better to embrace the “Game” and designate game designers to continually tweak game mechanics to incentive the desired career progression paths and business objectives.
It’s far too common and easy to reward progress exclusively for fancy new features. The unsexy work of paying off tech debt and maintenance easily goes unnoticed and unrewarded. However, this is exactly the kind of work that is essential to healthy operations.
If the “Game” explicably rewards the unsexy bits — and even prioritizes them over features — then those incentives will create a radically cleaner codebase.
The Gamification Refinement Loop ensures that game designers are continually changing the game to optimize for what’s needed based on a dynamic environment and biz objectives. For instance, It might be appropriate to push for features over testing in certain conditions (and vice versa).
With the rise of causal gaming on mobile devices, most everyone has had exposure to some form of gaming from a beautifully in-depth Zelda experience to the non-gamer appeal of Candycrush.
We should embrace technical knowledge work as a full fledged esport and the players as cognitive athletes (who sprint but also practice self-care and rest).
It’s critical that the “Game” is actually designed before it’s played. There needs to be thoughtful considerations made on how to use gamification design patterns (discussed in detail in the next section). These will have a direct impact on social behavior and incentive structures.
A small cohort of team members can be blessed as game designers. While game design is an entire skill progression itself, we can gain a basic level in it by studying from a Grandmaster like Will Wright on MasterClass.
Will Wright is a particularly applicable game designer to study because of his focus on real life simulation games like SimCity, SimAnt, and The Sims (to name a few). Channel your inner Will Wright as you explore the design space of your own leveling up system. Your “Game” is a real life dream team simulation.
Some interesting takeaways from Will Wright’s MasterClass are:
- Define and design the constraints for your “Game”
- Build failure into the “Game” so that players can quickly learn from their mistakes
- Design beyond zero games (winner and loser based) to ones that are multi-winner and allow players to define different versions of success
I recently started MasterClasses from Stephen Curry (Basketball), Will Wright (Game Design), and Serena Williams (I’m attempting to teach my oldest son tennis).
An aspiring dream team game designer will also want training in incentive theory (positive reinforcement) and an interest in psychology to do this role properly. You can run thru the behavior section of the Khan Academy MCAT prep course to kick start your psychology leveling up.
Of course, any “Game” is subject to some sort of manipulation or hack. These should be encouraged. The “Game” is continually under revisions and perverse incentives can be corrected.
I like to imagine the Kobayashi Maru scene from Star Trek where Kirk circumvents a “Game” designed by Spock.
If you discover a Kirk on your team, you might want to consider making them your head of game design (paired with a Spock). You can probably find other potential game designers playing Magic the Gathering or Nintendo Switch during lunch or late-night playing poker.
Now we’ll take a look at some gamification design patterns.
- Performance Graph
You’ll need some way for players to obtain points.
In coding as an esport, the most obvious way to achieve points is thru making progress (commits, reviews) in a codebase for a particular platform.
A code review system can be extended to award points to incentivize good commits and good reviews.
Work Mix Portfolio
The “Game” point mechanics can be modified to encourage different work mixes.
Let’s say the work mix consists of these investment areas: bug fixing, stability, performance, tech debt, and features.
Then the points awarded for task types can vary depending on dynamic business needs.
For example, to achieve “ship fast and break things”:
Later on, the point mechanics can rebalance the work mix towards “refine and stabilize”:
And then it can be rebalanced to “unlock the next level of scale”:
Let’s look at the leveling system in Overwatch for inspiration on how to progress to a new level.
Progressing from Bronze to Sliver should be relatively easy. Each level is progressively harder to achieve. Most senior engineers should be able to achieve a Diamond level. However only a handful will ever reach the level Master or Grandmaster.
Each platform or competence area has an independent progression. For example, a developer could be Diamond in Backend, but only a Silver in Android development.
Some engineers will go for breath across a range of distinct competence areas and others will go super deep into one to become a Grandmaster. Both generalization and specialization are needed in a dream team’s skill mix.
Progression in each area can be visualized using a performance graph to plot points over time. For example, points could be rewarded for commits and reviews into a particular codebase.
Using a performance graph, it’s easy to see proficiency increases overtime and quantify when new a skill level (e.g. Silver to Gold) is unlocked.
Fresh abilities could come with a new level. For example, an engineer with Gold status unlocks merge approval authority. Limiting codebase merge approval to only those who gained at least a Gold level helps fight entropy and smelly code from sneaking through.
These need to be thoughtfully designed as they can potentially have negative and demoralizing effects if naively implemented.
For example, an all-time leaderboard will be demoralizing to new hires as they’ll never be able to catch up with an engineer who’s had a 5-year head start.
Instead, a leaderboard time scoped to a month gives all players a fresh start every ~4 weeks. And even with this leaderboard, you may only want to make the top three players visible.
If you decide to not make leaderboards internally visible to everyone, there will still be a private dashboard available to EM coaches to work 1:1 with engineers on progression goals.
Another important gamification pattern to augment points is badging.
The concept of badging can be used to reward more qualitative aspects of gameplay not captured by pure points.
The best team is a — Team of Champions — where incentives encourage everyone to take on some leadership.
Let’s go back to our structuring system for a moment. If you recall, we discussed the essential nature of co-leadership between EMs and TLs, but there are also many other leadership opportunities.
A fast moving startup shipping an awesome product has many converging concerns from security, testing, metrics, stability, performance, automation, and so on. These are far too numerous for just an EM and TL and they easily get dropped on the floor.
A supporting engineer can play a critical role as a Champion over one of these concerns.
We can use badges to reward leadership in these areas so that we in effect create a Team of Champions (see Team of Leaders for further exploration.).
Let’s unpack some of these.
- Security Champion - Ensures best practices for secure coding and deployment are followed
- ￼￼￼Test Champion - Keeps test coverage near 100%
- Metrics Champion - Ensures analytics are available and relevant
- Productivity Champion - Drives efficiency with tooling enhancements
- Stability Champion - Fixes crashes and maintains crash free rate
- Performance Champion - Reduces response time and improves frame rates
Additional badges can be given out for:
- Speaking - Presents technical idea to an audience
- Writing - Publishes an external facing blog post
- Guild Leader - Leads a guild
- Education - Completes a course in an area relevant to current or future needs of the company (e.g. machine learning, VR/AR)
Progression and compensation in your leveling system can be a combination of points and badges. Zappos is an example of a company that has experimented with badge-based compensation.
Implementation with Token Economics
Now that we are in the age of programmable monetary policies and token economies, your dream team “Game” can be codified via smart contracts on the Ethereum (ETH) blockchain with its own token.
This then naturally unlocks a model for “Game” governance.
Holographic Consensus can be used to make decisions on tactics. Tokens can also be used to make predictions on what feature experiments will be successful.
Voting-power based on reputation (meritocratic) can be used to allocate infrastructure and protocol investments.
This is an area that I’m currently exploring…
More to come as things unfold. This tech is rapidly evolving and is still quite experimental.
Team & Players
With a foundation laid on designing a “Game” for leveling up, we turn to the most essential parts of this system:
The key concept to understand is the team & player strengthening feedback loop.
“The strength of the team is each individual member. The strength of each member is the team.” ― Phil Jackson, Bulls & Lakers Coach, Author: Eleven Rings
Let’s unpack this by exploring how individual skill progression increases team resiliency, and how resilient teams create more individual skill progression.
We can do this using a tool called a knowledge domain matrix
Knowledge Domain Matrix
The basic gist is that major component areas need multiple dedicated owners to be resilient.
Component owners need to be actively training other engineers to build redundancy and resiliency so that when an engineer leaves the company, is sick, or goes on vacation there are not gaps in component coverage.
The goal is to color all domain components green (i.e healthy) over time.
- Owner - Deep familiarity with the code. Need at least 2 to be resilient
- Knowledgable - Can debug, extend, be on-call
- Basic Knowledge - Knows where it lives, can deploy, start/stop it, understands dependencies
- Training - Actively being trained by an owner.
Every engineer (the game players) should be continuously training in at least one component area.
The point system should reward these critical cross-training efforts. Achieving ownership in a component area should unlock a new badge which translates to higher compensation.
Playground for Adults
A leveling up system should not be constrained to the realm of cognition (mind), but should also be expanded into the physical realm (body).
After spending countless hours at the playground with my kids it has become horribly evident how much play has been removed from adulthood. Most adults I’ve observed at the playground sit inactive on the sidelines while their kids have all the fun.
To create self-actualized players, then a physical office space needs to encourage Players to actually indulge in Play.
In this dream team, let’s bring the playground back into the office. An office playground designed to keep us healthy in face of sitting, neck cranks, eye strain, tight hips, strained wrists, and so on and so forth.
I’ve designed my home office to prototype such an environment.
Next to my desk I have access to a yoga trapeze so that I can easily get inverted via the traction jackson pose. This is a perfect way to decompress mentally (reversal of cerebrospinal fluid) and physically (increased blood flow between vertebrae separation).
I also have stall bars to counter act the internal rotation of keyboard/mouse usage and for a wide range of mobility multipliers.
There are a set of body archetypes defined in the Supple Leopard by Kelly Starrett that every abled person should be able to do.
If you have any injuries or range of motion limitations preventing access to these archetypes, then you can reference the Supple Leopard for a set of head to toe mobility prescriptions. After studying this book cover to cover multiple times, I no longer fear injury as I now have the knowledge to design my own path to healing.
I have an entire space in my house dedicated to Yoga, Foundation Training (no more back pain ever), meditation, and mobility gadgets to experiment with.
All of this and more will be covered in the upcoming series on How to Be a Cognitive Athlete.
The Final Level
We can further explore a player unpacking the skandhas: matter, sensations, perceptions, thoughts, and consciousness.
In a System for Structuring we advocated for EMs as dedicated coaches with EQ training.
To reach the final level — self-actualization — I would extend EQ trained EM coaches to also include BQ (body intelligence), FQ (financial intelligence) and SQ (social intelligence) training.
We can then use this full spectrum of quotients to formulate an equation for dream team self-actualization.
In Abraham Maslow’s Hierarchy of Needs, physiological needs and security/safety needs are the very foundations of the pyramid.
Hierarchy of Needs for a Cognitive Athlete
If we recontextualize the hierarchy of needs for the modern cognitive athlete:
- Nutrient dense foods and high performance diet (eg ketogenic)
- Proper breathing and practice of breathing techniques
- Bare foot walking in nature
- Intermittent fasting
- Proper posture
Security and Safety Needs
- Financial independence through cryptocurrencies and real estate investing (Supermassive can help!)
- Data self-sovereignty and privacy
- Mobility and strength training to heal low-back and wrist injuries
- Solid primary partnership
- Strong family relations
- Burning man and other festivals
- Defcon and other conferences
- Regular mediation practice (e.g. Mettā loving-kindness)
- Native American healing ceremonies
- Extended alone time in the wild
Then we can use the equation to calc to the area of a 2D triangle:
Area = Base * Height / 2
To form a rudimentary equation to approximate “Potential for Self-Actualization”.
PSA = (BQ * (FQ + SQ + EQ)) / 2
- PSA = Potential for Self-Actualization - BQ = Body Intelligence - FQ = Financial Intelligence - SQ = Social Intelligence - EQ = Emotional Intelligence
The PSA could be normalized to be between 0 and 100 (the final level).
I highly recommend Chip Conley’s book Peak for a deeper exploration on self-actualizing and Abraham Maslow’s Hierarchy of Needs.
For fun, a future model could use a 3D tetrahedron to represent an individual’s self-actualizing pyramid.
According to emergence theory, the 3D tetrahedron is smallest indivisible unit of reality:
On a TV or computer screen the smallest, indivisible unit is a 2D pixel. In our 3D quasicrystalline reality, the tetrahedron is the smallest, indivisible unit. A 3D pixel of reality, if you will. Each tetrahedron is the smallest possible 3D shape that can exist in this reality: the length of each of its edges is the Planck length (the shortest possible length known in physics – over 10^35 times smaller than a meter) These 3D pixels combine with one another according to specific, geometric rules, to populate all of space.
Promotion Packets. The preparation of a lengthy written packet consisting of self-feedback and peer-feedback to be reviewed by a promotion committee. This practice tends to create a ton of wasted time for all players involved. It’s better to invest time into actual “Game” design and implementation.
- Codify a leveling system into a “Game” using game design patterns and mechanics
- The strength of the team is the player. The strength of the player is the team.
- Design a “Game” that has has self-actualization as the final level
NEXT> In Summary
GOTO: Table of Contents
© 2019 Adam Huda - Written in California & Montana with iA Writer