I was recently asked, in my role as an Agile Coach, whether I would support a developer who really likes coding and just loves to code all day, or whether I would try to coach them to ‘more’. And… why?
‘Code Monkey’, as used in wikipedia tells us:
A term for a computer programmer who isn’t actually involved in any aspect of conceptual or design work, but simply writes code to specifications given.wikipedia
Being a Code Monkey can be quite enjoyable. Developers who love to code often get into the ‘flow zone’, deep in thought… time floats away. Many love to put on headphones and move into a zen-like state while they code, watching the logic of the code begin to form like an organic being. Like a painter or a jazz musician, the developer is creating ‘beautiful music’, an elegant creation. The creator of the Flow State describes it as an “optimal state of consciousness where we feel our best and perform our best.” Neuroscience tells us that all 5 of the key neurotransmitters engage to make us feel great. (More info here…)
From an individual perspective, we find enjoyment.
From an individual perspective, we deliver beautiful code, very efficiently.
From an individual perspective, we have minimized our hassles.
Applying this idea to Forestry Management, our Code Monkey is a fantastic Lumberjack. They know how to cut downs trees with great efficiency. Beautiful cuts. Precise falls of the trees, in the right place, with no one hurt. The Lumberjack builds great upper-body strength. They keep the axe sharp, and know which style of axe to choose for each type and size of tree. They can cut down trees all day long and could deliver more trees than many other people. Great results. Low stress.
But what about from the two key Systems perspective? What is missing?
We have two Systems to consider.
First, the holistic Software System or the holistic Forest. In Systems Thinking, we study how the components in the system are inter-related. The whole is more than just the sum of the parts. The whole includes the inter-relationships which are not always fully clear or well-understood. Systems Thinking has us thinking about how a change to any one component could and might impact the whole rest of the system. What COULD happen? What MIGHT happen? (Check out the story of the ‘Cats in Borneo’, just for fun.)
In the world of Forestry, the Senior Lumberjack does good work, but s/he isn’t participating in thinking about the system. S/he has abdicated any responsibility to think about whether we are cutting down too many trees. S/he has abdicated responsibility to think about who walks through the forest, and what lives in the forest. What is on the outer edge of the forest, and should we cut down trees at the edge, or retain a barrier? If we are cutting down trees, should we also be planting some others to keep the forest healthy? Which trees would make the nicest walking path through the forest, and how do we avoid the location where the protected animals live?
These are thorny problems! We need really smart people to help us solve these. We need people who ask the right questions, consider possible outcomes, consider possible solutions, design the best solution, and follow through to see the result and measure the success.
The same is true in Software Systems. We need team members who are more than just great lumberjacks… more than great Code Monkeys. We need Systems Thinkers. We need the creativity of each person in the team to consider the facets of issues, the components and how we know they inter-related… and how they MIGHT inter-related but we aren’t sure. We need the creativity of each person to identify options, test options, look at side-effects, choose optimal solutions, create them, and then measure success. We need diversity in thinking which comes out of a breadth of experiences in life, industries, and problem types, and domains.
And… we have another System to consider. The Human System. The Team. Code Monkeys and Lumberjacks also tend to abdicate the responsibility to function in a team. They leave training and mentoring to someone else since that would take away from the ‘zen’ of chopping down trees all day long. They leave behind the need to apprentice not only great future lumberjacks, but also great thinkers in managing the forest as a whole for those who love the forest. Systems Thinkers know that the team is always forming, storming, norming… and moving to higher performance ONLY when everyone in the team is fully present in the conversation with the team. Self-organizing teams are systems thinkers about the team as a whole… a living, breathing, organic, interconnected entity with nuanced relationships between the components.
And… great lumberjacks often forget that they will age and they are likely to get bored. They forget that their creativity can stagnate. They forget that the forest is changing around them. Over time, they can become less connected to the others on the team at the human level and their engagement and drive begins to lessen. Dan Pink tells us that DRIVE (motivation) is created through Purpose, Autonomy, and Mastery… but not just mastery in the lumberjack skill… mastery in the holistic process of managing the forest. We want people constantly connected to the higher purpose so that their work provides ongoing and rich meaning in life. This is what makes us our best selves.
So why not just support the desire to be a great Lumberjack or Code Monkey?
Because it represents Individualist Thinking, not Systems Thinking. Because it optimizes the Individual, and not the ongoing sustainable life and output of the Team, and therefore decreases the success of the over Forest or Software System. Because it isn’s sustainable. Because it doesn’t respect the value of each person’s full range of creativity. Because it doesn’t allow each of us to bring our full and best self to the work, and the solution-system and the team can never become their true best.
The Coaching Mindset – Teams vs Individuals
As a Life Coach, the question of whether I would support a developer who chose to be a Lumberjack is obvious. Yes, of course. I support them in that I recognize that the decision is all theirs to make. In addition, I dig deeper to find out WHY they prefer this option. Every life choice like this is leaning into one option, and away from some other option. If their decision is based on fears or insecurities, as a coach, with their permission, we can dig in to uncover that. As a coach, I’m here to help each person grow into their own BEST self, not held back by fears, frustrations, lack of skills, or insecurities. A coach is an ‘empathetic provocateur’, here to nudge you forward based on your desire to be better tomorrow than today.
As an Agile Coach in a larger corporate group, I’m also here to help enable a culture where each person and every team has the safe space, value system, and tools to give their best every day. I am here to help set in motion an intentional culture, enabled by the executive management team, that …
- defines and communicates Purpose,
- controls priorities,
- creates safe spaces for learning and experimenting,
- captures stories for shared memories and meaning,
- uses systems thinking to value the integrated whole over the individuals,
- and celebrates our wins as a holistic team.
With a solid culture, and some good agile and engineering practices, we work together at our best, and we deliver amazing value to our clients/customers/users in the most smooth and sustainable way.