Passion is the emotion of feeling very strongly about a subject.
Dogma is the established belief or doctrine held by a religion, ideology or any kind of organization, thought to be authoritative and not to be disputed or doubted.
Elitism is the belief or attitude that those individuals who are considered members of the elite — a select group of people with outstanding personal abilities, intellect, wealth, specialized training or experience, or other distinctive attributes…The term elitism is also sometimes misused to denote situations in which a group of people claiming to possess high abilities or simply an in-group or cadre grant themselves extra privileges at the expense of others.
I have been very silent over that last couple of weeks because I have been pondering over our craft. The craft of software development.
I was speaking to a colleague several weeks ago about how rapidly change occurs in our industry. This change is driven by many facets both internally and externally. With these changes comes many perceptions both empirical and subjective but all profound in their own right. At times the community or groups accept these ideas and thoughts as faddish while others are cautious in their adoption. The social dynamics at which these ideas or cultivated depends upon the environment and experiences of each individual.
When the idea of Agile development was first discussed many dismissed this notion as a passing fad that would never be taken seriously. It took courage and patience of the earlier software pioneers to bring Agile to the forefront of where it is today.
Are you a music maker?
When I speak to others about our craft, I often compare what I do to being a composer.
A composer is a person who writes music. The term refers particularly to someone who writes music in some type of musical notation, thus allowing others to perform the music. This distinguishes the composer from a musician who improvises or plays a musical instrument.
Typically a composer has a wide breadth of knowledge when it comes to instruments and sound. They understand music is more than just sound. It is alive with melodic transitive elements that permeate our every emotion and our sense of being. These elements appear to be governed in a rhythmic order only to be changed with symphonic movement. The true essence of chaos becoming order. But what makes a great composer?
Think about it, would you say that Phil Collins is less of a composer to let’s say Bach? Each composer has two things in common; they both love music and they both are human! It is the human aspect that truly delineates greatness from the perspective of the beholder. Each of us love a type or several types of music, but this taste in music is driven by our insatiable need to connect. I am one of the few people who loves all music in general, yes that includes country. But there are individuals such as my brother who are very particular to hip-hop. So is Sean Puffy less of a composer to Bach? The point I am trying to make is that music is subjective to the persons taste. In the end we all love some type of music. In fact there is a small but growing minority that love the sound of (ugggh) yodeling.
There are Patterns in notes.
One the most provocative articles I have ever read was on the theory of “Organized Sound”. The theory is based on the precept that all music has some type of organizing pattern that can be recognized and reproduced. These patterns can help a composer to form guiding principles and can predict an expected result. Sound familiar?
In fact they look eerily familiar to design patterns:
Classic Fugal transformations:
harmonic (usually in minor mode)
retrograde inversion = crab
diminution – halving note durations
augmentation – doubling note durations
transposition – usually by 4th or 5th
The first three transformations together with an identity transformation
form a group. The group members are operators on a pitch sequence.
Group table for the contrapuntal transformations
E = Identity, I = Inversion, R = Retrograde, C = Crab
| E I R C
E | E I R C
I | I E C R
R | R C E I
C | C R I E
So what does this have to do with Passion, Dogma and Elitism?
Everything! Most of us are very passionate about software development. The fact that you are reading this post tells me you want to gain a greater perspective of our craft. You have passion for wanting to know how to do things better.
Our passions drive us to come up with new and better ways to developing software. We approach each obstacle pragmatically and look to evolve with each passing key stroke. We trust in our experience and build from our basic principles of good design. We are composers in our own right but just as composers differ in style, we differ in context and translation.
We sometimes forget about being a composer and immediately become musicians and transfix ourselves myopically on one technology or practice. We use the term “grok” to mean mastery of practice or API. This idea permeates through the melancholy of a musician only fixating on one instrument or sound. To the musician this is greatest instrument in the world and everyone should be playing the tuba. In fact the musician wants to get rid of all the other instruments in the world and only the tuba should prevail. You can easily see where passion has turned into dogma? Now if you don’t play a tuba you should be shot where you stand. How can anyone who has ever heard the baritone bouquet of sound of such an instrument, be so ignorant to not want to drop what they are doing and adopt the tuba. Obviously they do not have the time nor the patience to adopt such a masterpiece of brass. And now we have Elitism.
Is this person wrong? Should he be persecuted for his view point?
In the world of fellow Tubaians(?) this makes perfect sense and they applaud such praise and conjecture. To the rest of the orchestra, some question if they should be playing the tuba? Others start to distance themselves from the tubas and cling to their own instrument factions which share the same similar perspectives. While all the while the composer shakes his head in embarrassment.
As software developers we must strive to be composers of our craft. We must not fixate on one technology or practice as being absolute, but merely an instrument of contextual relevance that should be used as where appropriate.
Now here is something perplexing. Can you imagine if Ken Beck, Ward Cunningham or Ron Jefferies wouldn’t have been dogmatic about Agile? What would have happened if they would have given into being perceived as Elitist only to pursue the status quo? So we rely on history and society to be the judge of dogma and elitism in relation to innovation and pioneering.
What is the difference between a patriot and a traitor? What and who defines the common good?
I leave you this quote by Charles Wuorinen:
“Composing, for me, is putting into an order a certain number of these sounds [i.e., the full well tempered pitch spectrum] according to certain interval-relationships. This activity leads to a search for the center upon which the series of sounds involved in my undertaking should converge. Thus, if a center is given, I shall have to find a combination that converges upon it. If, on the other hand, an as yet unoriented combination has been found, I shall have to determine the center towards which it should lead. The discovery of this center suggests to me the solution of my problem. It is thus that I satisfy my very marked taste for such a kind of musical topography.”