Saturday, March 8, 2008

"Here there be Dragons"

The title of this post "Here there be Dragons" is what cartographers used to put on maps to indicate a location or place that they either didn't know or had not been mapped by anyone at the date/time their map was created. This wonderful line was also used recently by a speaker that I know so I thought I would bring it up here as a way to make a posting point.

Life in general is a large and wondrous thing. The world is big and there are so many things to do and see that one might reasonably expect to only do or accomplish some percentage of 'everything' within their given life time. Life is also a very scary place, with lots of unknowns and lots of places that should be labeled "Here there be Dragons." The world of programming in a large number of ways is also big and full of unknowns and places that should be labeled "Here there be Dragons."

The title, on seeing it written on a map of old would evoke feelings of fear and apprehension in the sailors that used those maps to chart their course. However there were also that chosen few who would dare to use the map to go right to that location, the place where the dragons were, just to see what existed there. The world is full of both types of people, those who can play it safe and are ok with that and those who would rather take a leap of faith and see what can be discovered.

Fear is a natural reaction to the unknown. You know the butterflies in your gut when you do something a little outlandish or outside the norm? Human kind likes to stick to things they know or have experienced already by their very nature. People VERY much enjoy their routines. There are however a few outlying individuals who like to challenge, who like to push the envelope. A group of people that sit on the up and down slopes of the bell curve, ever dragging it in one direction or the other. A group of people who are naturally more nervous about taking chances and on the other side a group of people not as nervous about such things. Corporate world or outside world doesn't much matter in this case - routine is king for some and not for others.

A fair number of people in the world note that programming as a profession has not been around all that long. Hell computers have only really been around for ~50 or so years, a great deal shorter then some of the greatest life changing inventions in history - life altering stuff such as the wheel, the light bulb or even your avg. telephone. So it should stand to reason that a large number of things pertaining to programming have not yet been figured out. There are plenty of examples of where this bleeding edge work is being done. Arguments about static typing or dynamic. Conversations about threading models - and whether or not it is the next big frontier. Blog postings about languages (yes the many and varied) such as Python, lisp, java, ruby, haskell, OCaml, smalltalk and many more. A great many places for programmers that contain the label "Here there be Dragons."

Now alot of people look in on those conversations and ask themselves if those conversations really matter to them. A great number of people are comfortable with what they do and where they are in the programming realm so what does it matter. Those same people asking are the people who would rather fall into their routine. The people on the other side having those difficult conversations are the people who managed to get the butterflies in their stomachs to "Fly in formation" and overcome their fear of the unknown to attempt to make things better for everyone.

So in the end - maybe you are comfortable avoiding places where Dragons lurk. I for one am not - and will constantly look for where the Dragons are in an attempt to bring a new eye to those conversations. I will look for ways to help clear the Dragons out for others and for myself. I will constantly strive to get my butterflies to fly in formation so that I can make the most of my life both personally and professionally.

2 comments:

Anonymous said...

In my opinion, you always need to have something give you that WOW feeling. Even if it isn't practical or can't be used doesn't mean it should be tried.

I mean look at AJAX, or JSON, 3 years ago you barely heard about them. Now they are bandied about in board rooms by a very non-tech audience.

I am sure there was some manager telling the developer "Yeah, but lets just go for the standard postback model for right now, I am not sure you have thought about all of the implications for this type of implementation."

Unknown said...

NowaAlso used in newer versions of FireFox when accessing about:config....