No "I" in team.. or in building great ideas

Reflecting on my posting about my early days writing software last night, and in particular my then crowning achievement - NodeManager v1.00, I suddenly felt quite ashamed - this is why:

NodeManager Credits

Although I may have written the (somewhat awesome) code behind NodeManager there deserved to be two names on that front page.

As a Bulletin Board System (BBS) SysOp the people you would connect with most would be other SysOps; I still count many as personal friends to this day. One fellow young SysOp I connected with was Edward. The same age it wasn't long before we began talking regularly on the phone and asking parents to drive us to others' house for the weekend.

I honestly can't remember who came up with the idea for NodeManager, it could quite likely have been me on my own or in a discussion with any number of people, but I do know that it took the two of us to build it into a successful product.

Inception

You could easily argue that any idea in history can be credited to interactions or experience that person had; no matter what it's point of inception might be there has to pre-cursor. I have no problem with ideas being owned by a single individual, it would be too complicated to connect the dots backward to events that sparked it, but I do have a problem when those who helped build it - YOUR TEAM - are forgotten.

Looking back through history, whether it be Woz & Jobs (I purposely put them in that order btw), Lennon & McCartney, or Ben & Jerry; I have yet to find any example were it didn't take at least two people to build something great.

Building

So.. you have your great idea and a design emerges, you start to write code for endless hours (fainting on occasion from lack of nourishment - no kidding!), but when you hit a problem that challenges you what happens? You ask the opinion of someone you value and trust.

Before long the passion you have for your creation begins to spread, in fact it is further fuelled by the enthusiasm of another. Soon you adopt roles to bring your vision to fruition, you meet/talk regularly to discuss the next move, resolve issues and develop new features, collaboration is in full flow. You are A TEAM!

"Mine.. Mine.. Mine.."

This quote is my favourite from Pixars' "Finding Nemo" (experience it here) and strangely reminiscent of developers when passing the finish line and your team's creation is winning acclaim and admiration. In fact I will confess to having to work hard sometimes myself not to still do this, despite my supposed team credentials.

I believe this lies in the fact that when software is burgeoned from it's creator's mind and passion shared, people work tirelessly and invest their whole heart into it, that is afterall what makes it great. You work late, you sacrifice personal time, you invest financially, frankly you void any quality of life. You love every minute!

When the trophy is ready to raise your passion is fulfilled and the self-congratulary glory surprising short-lived, the only thing that can keep you on that 'high' is to point and say "Look what I built. Please clap!". Yet how seemingly difficult changing from a singular pronoun turns out to be, you can almost see the Sheldon-esq twitch as they stumble in turning "I" to "we".

Ironic

There is an ironic twist when it comes to NodeManager, that being one of Edward's adopted roles was authorship of the manual. It is therefore likely the opening page of the manual was entirely Edward's idea; I should however have had a moment of humility and insisted we change it.

So to Edward I now apoloigise and give thanks for what I didn't appreciate at the time, your name should be lifted from the credits page at the rear of the manual and sit proudly on the front screen and page of our creation.

Final word

Reading back proof-reading this posting I find myself asking where another contributors name went. This would be the SysOp who helped me through learning the 'C' language that year and spent many early-morning hours helping me find that all important conditional-come-assignment operator. Thanks James!