Fafelpiyot’s Mastery Fable — A Terrible Blog Post #18

Chris Dwan
10 min readSep 19, 2018
“white flower on brown wooden planks” by Arnold Leow on Unsplash

I’m on an adventure to write 300 terrible blog posts. I’m struggling to keep going actually, and we’re not even a tenth of the way in. It’s really late and I’m not able to come up with anything to write, so I’m just going to grab something I wrote once in private and post it as-is. There’s a lot wrong with it, so it’s going to stand nicely in it’s terrible company. I think the biggest thing that’s wrong with it is that I seem to frame myself as a master and that bothers me a lot. I have some experience of attempting to express mastery and am trying to seek to understand what that means, but I can’t call myself a master at anything yet I don’t think. It’s almost detestable to me to suggest. Regardless, here it stands, a story written hastily and some reflections on mastery that may or may not be completely off the mark…

The Folly of Fafelpiyot

The following fable is something of a reflection on the nature of mastery. I often have pondered this topic in the context of the relationship of senior software developer to a more junior software developer.

The thing I was initially trying to get at with the story concept had to do with the way that we are swept away by details, particularly in our world that is overwhelmed with information. It’s people with experience who are more able to decide out of all the thousands of details which details are important and why. Someone with less experience is simply unable to sift the information and make decisions about what details are important and unimportant because they just don’t have the background that comes from experience. Thus they often will pick a detail to be important and put a lot of effort into it when really it’s not important, and overlook the tiniest detail that is critically important. (I do this all the time. I’m blessed by the gift of being the biggest idiot around a lot of the time.)

Meanwhile I also wanted to think a little about the relationship between master and apprentice and the importance and difficulty of passing on the underlying meaning of the little details to the apprentice. The underlying reasoning being so ingrained in the master, that it can be difficult to articulate or easy to forget the importance of little details and why they became so important.

There was once an apprentice of twenty years, deeply devoted to his master, who looked forward to becoming a master himself. His master was a great chef and renowned in the land chiefly because the King preferred one signature dish known as “Eight Layered Hills” above all others. He adored it so much that he would only eat it one day per year lest his enjoyment of it decrease due to familarity.

Master Haberon loved his apprentice dearly in return and relied on him. The apprentice’s name was Fafelpiyot, but the master would simply call him “My dear Fatty” which he found amusing because his apprentice was anything by overweight, and the ‘t’ which ended his name was a silent cause of many mispronounciations of Fafelpiyot’s name.

There was a certain flower that was native to the region where the King was born named Pencul. The year that the King’s eldest daughter, whose name was ‘Pencula’ after the flower, was wed, Fafelpiyot saw his opportunity to add a certain flourish to his master’s legendary dish by garnishing it with the flower. It was not only edible, but the subtle aroma would be quite complimentary to the “Eight Layered Hills” and enhance its flavour. His hope being to elevate his master in the eyes of the King and perhaps show his own flair and attention to detail.

When the day finally arrived, Fafelpiyot had the honour of presenting the dish to the king. He surreptitiously placed the flower which he had gone to great pains to find and keep fresh for the occasion on the plate as a garnish before whisking it away to present to the King.

Fafelpiyot was pinched with giddyness when he the King take the flower from the plate, breathe in it’s aroma and return it to it’s position. With a nod then to the chef, the meal began. “A triumph! “ Thought the apprentice.

Several minutes later, his heart, which was still beating high in his chest, quickly plunged to the pit of his stomach when he saw the face of the King turn ashen and his body begin to slump over in his seat. All of his attendants rushed to his side and at that moment all became noise and people standing up and rushing and shoving and soldiers with drawn weapons. He was swept away in a whirlwind of confusion and anger.

It was only minutes later but it seemed like an eternity had gone by when the apprentice and his master found themselves ejected from the storm of activity by a pair of soldiers and deposited into their guest room, staring at the closed door.

“My dear Fafelpiyot” sighed Master Haberon.

“Will the King be ok?” he asked his master quietly.

“I hope so! You must tell me though: did you rinse the rice and _Dariyititibulo_ in clean water seven times as I have taught you?”

The apprentice stared at his master as if he were speaking another language. He could hardly interpret the words. What did rinsing have to do with the current situation they were in? The details slipped past his mind like thieves making their getaway.

“Rinse! Rinse! Rinse! Did you rinse seven times?” the master questioned intently, anxiety beginning to march up his normally calm face.

Dariyititibulo was one secret herbal ingredient to the Eight Layered Hills. His master had always instructed him to rinse the herb together with the rice seven times. He couldn’t remember how many times he had rinsed it. His mind only brought him back memories of attending to the Pencul flower.

“I can’t remember master” he confessed. “Surely I did?” he asked weakly.

Master Haberon’s shoulders grew heavy for a moment and he stood in silence under the weight before drawing himself up and moving over to the sitting area and beckoning his apprentice.

“My dear Fatty. It was many decades ago that I developed the particular recipe for Eight Layered Hills and many thousands of small details have been folded into the recipe over the years, so maybe I failed to explain the importance of the rinsing. You see, the herb can cause a severe reaction in some people. The name of the herb is akin to ‘Dangerous Table’ in the old language and it’s part of the reason for my success in keeping it secret. No one would think of it since it’s widely regarded negatively. And yet I have found that by rising it seven times together with the rice, the elements that can cause a reaction are washed completely away.”

“Oh my master. You know I always have followed your instructions in detail. I have been a reliable apprentice. Today I grew distracted by my desire to express mastery and garnish the plate with the Pencul flower.” Fafelpiyot was kneeling now at his master’s feet.

“Ahhh, fear not my apprentice. If the King pulls through, I will go to him and tell him that I have grown careless in my old age and confess the secret to my recipe. Perhaps he will have mercy and spare my life. No! Don’t fret. I will go, and there will be some gladness in it. It is a master’s duty to guard his apprentice so he can learn these deep lessons. After all, if the masters refuse this duty, soon there would be no masters!” And with these words he embraced his dear Fatty.

What am I trying to illustrate here?

1. The difficulty of transmitting the importance of details

Initially I was thinking about the fable in terms of a master blacksmith and an apprentice who decided that a certain customer could recieve their order more quickly if he skipped some seemingly unimportant details. Of course, for the master every detail is carefully chosen. Every thing that is done is as important as the things not done, and it is a nuanced interplay of the details that gives it the sense of mastery.

I have often had the experience working with junior developers of getting into something of an argument about a detail. “That’s not important” I will say, to which they cling to their position, determined to prove to me how important their little detail is. I can’t blame them overly much when it comes down to it because I often have a difficult time illustrating to them why something is not important. I can’t lay any blame in the situation either. It’s not their fault that they’re unable to understand, and it’s not my fault that I’m unable to make them understand. Usually the understanding comes out of experience, or the logic for it is build upon a foundation that they just don’t have yet.

2. There is an element of danger

I changed the story to be about a chef because it made it easier to introduce the element of danger. Specifically for web technology, there is a certain amount of danger in what we are doing. Security considerations are a critical and difficult part of what is going on. Most junior developers have no understanding, nor even the capability to understand the implications of their actions when it comes to security. It’s best in that case for them to follow a recipe from a master precisely.

3. We have to be careful what we take away

When we want to add to an established pattern, or an established piece of software we can miss the importance of the tiniest detail while we’re attempting to add some big detail that we think is important or cool.

In software this goes with refactoring, or even with straight-up replacing a component with a different component. The devil is in the details as they say and if the new component is missing some small, key detail, we could end up with trouble on our hands. Often even experienced software developers make this mistake, where masters will typically not touch something that’s not broken or approach the replacement project carefully, paying attention to even the small details.

4. The importance of allowing mistakes

I was attempting at the end of the story to alude to the fact that the old Master Haberon had made many mistakes, many of them large ones and that he appreciated the importance mistakes in his own development.

The master doesn’t become the master by not making any mistakes, but rather by making many mistakes. Not only that, but it’s the responsibility of more senior people to give younger people the oportunity and a safe space to make mistakes, even to attempt things of importance where mistakes have big consequences.

5. Small things are big

This is the key insight I was trying to get to. It is easy to make the mistake of thinking that big things have a primary importance and neglecting the little things. There is some truth to that: for example, when building a website, take care of the big structural parts first. If you get bogged down in the details at the beginning then you will waste energy. It is easy, however, to be reductionist and toss away all of the little important details so that we can more easily reason about things.

A marriage may fail not because it was lacking in large displays of affection, but because it was lacking in the many little displays of affection. A website may fail to capture it’s audience’s attention not because it is missing any large structural things, but because it missed a small nuance that the is important to the viewership, or because it was lacking in nuances that surprise and delight.

How does this relate to mastery? It relates in that the master treats the big things and the small things equally. They are all important, and the master has learned how to make sense of all of them. This can’t happen by reading a book and it can’t happen overnight. Only years of practicing and integrating the learning can bring this about.

6. Masters have humility first

Any master who sees rightly will tell you that the details that they they know to be important were discovered to be important. They didn’t decide that they were important, they found it out over the course of years. It is only through the humility of knowing that you are not the source of the key information that you begin upon the way of mastery.

Perhaps my biggest gripe working with some more junior developers (or my kids) is when they acuse me of deciding something was important. “Why do you get to decide what’s important?” I didn’t decide, I discovered it. I was willing to see it and accept it for how it is.

7. Masters integrate details into deeper principles

I didn’t finish this section. Tadaaa!

Practical outcomes

For senior developers: I hope this gives a better understanding of the situation we are in and why it’s hard to transmit our understanding to more junior developers. Try to be mindful of why you do things so you can better teach. Also make sure to let junior developers make their mistakes and learn from them.

For junior developers: I hope this inspires you to practice more mindfulness as you are learning and to have patience. Also perhaps you will be inspired to listen to the senior people and understand why it’s important to trust their experience. Sometimes you just have to do what they’re telling you to do and the understanding will come later. Also, make sure to involve a senior developer when working with security issues.

--

--

Chris Dwan

Crafting software and teams for 20 years. Committed to whole people belonging in whole teams as part of whole organizations. Also write stuff sometimes