Culture of Excellence
This is an article on the topic of philosophy in software, business, and life.
The Final Chapter
In our final section here, we examine the ideal culture that we want to build around the philosophy that is being described here. In describing software as a craft, I made a comparison between a “one-person band” and a “jeweler,” suggesting that we should be striving for more jewelers in the world than one person bands.
In this section, I take this further to demonstrate why the jeweler model is preferred, and why it can lead to our goal as a culture of experts. Let’s first start by diving into what we mean by experts and generalists.
Experts vs. Generalists
You might have heard about the 10,000 hour rule and why it is no longer considered a valid measure of what constitutes an expert. While it has been “debunked,” I still like to refer to it here for the purposes of this discussion, which is describing an expert of a particular skill or craft.
It doesn’t matter how many hours are used. It could be 20,000 or 30,000 hours. We could call it Effort-to-Expert (E2E) to simplify the notion. What matters is that the person undertaking those hours can be considered an expert in a provided craft – in this case .NET – once they hit those hours that are required to become that expert, whatever that number might be.
In our mission here, what we’re aiming for is a world where those E2E hours are exclusively dedicated to .NET and its supporting ecosystem of technologies. We want the developer squarely within .NET technologies for the entirety of their development (from both a personal and product perspective). The more time they are within the same system, the faster they can achieve expert level on their own terms with this specific craft – that being .NET.
The faster they achieve expert level, the faster that they can yield their highest value not only to the ecosystem that has trained them, but to themselves as we will see in a bit.
- Writing code
- Testing code
- Maintaining code
- Fixing bugs
- Learning and managing idiosyncrasies
And more. Essentially, all the risks that are part of learning a language have now been doubled and are in two separate systems, instead of one, thereby doubling the risk and associated cost of a solution that is required to be built using this strategy.
Fostering Innovation and Inspiration
Why is being an expert so important? Well, the first quality that comes to mind is exactly that: quality. An expert developer understands the system on a much more fundamental level, meaning they understand its quirks and deficiencies. They also understand its pitfalls but more importantly they can start using such knowledge to contribute back and innovate this system and provide even more value back the very entity that granted them expert status in the first place.
From a business perspective, an expert is a better return on investment as they produce higher quality software, one with less bugs and higher functionality. From a community perspective, an invested, motivated expert provides even greater value because they have the opportunity to further innovate this community, which in turn provides a positive feedback loop to further innovate and inspire the ecosystem in which they attained expert status.
Finding Higher Purpose
As I mentioned, I feel that the work we do here is art, which means that on a fundamental level the work we do here has higher purpose. I have to say that I like where I have seen the latest messaging from this year’s //build (2018) that positions the world as a computer.
That is a pretty inspiring and bold image, in my view.
Such a proposition reminded me that I myself once had the idea that the world speaks to us in music, and that this could be captured by monitoring music being played throughout the world at concerts and events, leading to the following questions:
- What is this notion of resonance?
- How is music created?
- Does each person have a “sound”?
- What is this “sound”?
- Does each person represent a sound (or vice versa)?
- Does a person share the same “sound” with their friends and family?
- Does a person play a “song”?
- Does an individual’s “song” resonate with particular people in the past?
- Does a person find themselves attracted to other people with like or different sounds?
- Does a person purchase items from other corporations/entities with a certain type of sound?
- Does our species play a “song” collectively?
- Can collective “notes” be tied to certain events in history?
- Is there a “code” to music?
- If so, is there some Higher Entity (God/Universe/Earth) talking to our species through music or vice versa?
Yeahar. Now that is the stuff right there, in my opinion. I, of course, am completely biased and oh-so-impressed with my own line of thinking. But, the point here being that we want experts to land on their own lines of reasoning that lead to big questions such as these. These big questions are what I consider “higher purpose” – ones that art is made to solve (or at least describe) and something that an expert artist can devote their lives to solving or at least contributing.
As such, the goal is to efficiently create these experts at a maximized capacity, providing the necessary support and structure to be able to attain such potential so that they can pursue such interesting and innovative (if I do say so myself) lines of thinking.
All of these big goals and ambitions mean nothing if you do not have inspired developers undertaking the required activities to contribute to the cause. Additionally, true innovation and discoveries will not occur unless you have expert developers within the .NET ecosystem that are required to continue the cycle and further innovate upon the innovation.
Finally, the more experts you have within a system, the greater the chance you have of not only opening these doors, but being able to confront what is on the other side once those doors are opened.
In these pages on the philosophy of the Super.NET project, I covered the important elements of being inspired, of treating software like a craft, striving for elegant simplicity, exploring the business of art, and concluding with this article where I discuss prizing a culture of excellence and innovation.
These elements all aim and strive at yielding experts in .NET who, in turn, yield higher quality back into the .NET ecosystem. This goal is opposed to what we primarily find ourselves in now, whereby we are producing .NET generalists who, in turn, yield lower quality.
By having these elements in place, we place ourselves in a position to maximize the potential for the sweet spot of having a positive feedback loop of innovation inspiring innovation.
I hope you have enjoyed this section on philosophy as much as I have enjoyed exploring it and writing it for you. If you are still along for the ride, feel free to leave some comments and discuss any thoughts you have in the comments below. Otherwise, see you out there in the game!