Another Interesting Day Ahead

Another Interesting Day Ahead

Today can be one of “those” days.

You know.  Like in 1987 when the market tanked.  Or April of 2000.

Or, potentially, 1929.

My counsel: strap down for a bumpy ride.

Getting it. NOT.

Getting it. NOT.

Social Media has enabled us to open our mouths extra wide in order to stick the maximum number of feet inside.  I’ve strangely grown a certain taste for shoe leather… which explains why I’m writing this post.

Two days, two conversations.  In both cases, the persons speaking with me said that they were “on board” with my thinking.

This isn’t a post about me being right and everyone else being wrong – my wife is writing THAT post (rim shot).  Rather, this is simply an observation that people say one thing, but their commitment to action belie their true interest and intent.

In one case, the parties on the other end of our conversation had talked with my past business partners, had read (and spoke directly and pointedly) about my blog, and quoted specific twitter posts I had written to bolster their claim of moving in the same direction.

In the other case, a lot of lip service was paid to being on the same page about a new project… but in truth, we were operating on different planes of reality.  There is no blame to bear, other than the classic pitfall of being approachable, and people mistaking that for gullability.

As someone keenly attuned to bringing in more money than I spend, it’s always instructive to note how people value (or not) other people’s time.  Seth Godin had a great short post about this very thing a couple of days ago.

In the first conversation that I mentioned, said value was mentioned, and at the end of the allotted time we adjourned to continue later – on time, on task, and with a conscious effort to respect each other’s time.

In the second conversation, we talked about this respect, while discussing why our regularly scheduled meeting was being postponed for yet another week in a line of missed meetings.

One of these conversations is going to lead to a great relationship.  And one of these is leading no where, fast.

I wish there was some magic one could use to sniff out those time wasting endeavors ahead of time, before time, talent, and treasure are spent drilling empty holes in the ground.

But there is no magic to be had for building relationships – virtually or in the flesh – one fulfilled commitment at a time.

All we can really do is to try and “lower the water level to see where the rocks are” as quickly as we can, qualify what if any upside is to be had ongoing with our relationships, and then commit – and not only commit, execute upon – promises made to our partners with our full attention and talent.

Transitioning: Strategy for the Long Haul

Transitioning: Strategy for the Long Haul

I had an interesting conversation today about how one must constantly negotiate transitions in one’s career in order to succeed and stay relevant.

I have had some variant of this same conversation since I started my professional career back in the mid 1980s.

A common mistake made in the field of professional software development – from the most junior of coders to grizzled veterans of the trenches – is that if, by some magic, we could only master tool / language / strategy / product X we would be on easy street and the jobs would be plentiful.

Wrong. Wrong. Wrong. Wrong. Wrong.

It is not the tools we master that makes us proficient – it is our ability to transition between the useful life-cycle of one set of tools when they become obsolete and the arrival of the “next thing.”

My programming experience spans writing IBM 360 assembler using card keypunch machines and Hollerith code (I still have my IBM “Yellow Cards” with opcodes) to writing 8086 assembler for the first IBM PCs to writing SCSI device drivers to writing Terminate and Stay Resident (TSR) C Language Apps to writing Multitasking Kernels that ran on MS-DOS (think something like Quarterdeck and you’re not too far off) to writing Point of Sale Software to Writing Enterprise Data and VoIP Engineering Tools to writing Social Networking Apps to writing iPhone Apps.

In short, I’ve had dozens of different software “careers” if all one did was focused on the tools I used to build my projects.

I am not the best software developer in the world by a damned sight.  Nor am I the most economical or the fastest or the cheapest or the most expensive.

But what I am is a software developer who knows that if I simply concentrate on the now, and not continously learn and re-learn about what is happening in my profession every single day that I will be roadkill tomorrow.

So, in my life and in my approach to software development, I begin each day with the premise that during the administrative lifetime of any project, there will ultimately be more that I don’t know about the problem set at hand than what I do know presently, and when possible, make allowances for that ignorance.

A beautiful example of this design principle is the concept of interrupt vectors in the original IBM PC.  An interrupt vector is a place in pre-set areas of protected memory on a computer that initially holds the address of a hardware routine to do some task (operate the hardware clock, check incoming serial ports, check the keyboard, etc.).

The beauty of interrupt vectors is that they can be re-written with the address of another rotuine in memory that can then take control to insert additional tasks to be performed and then either chain back to the original hardware routine or declare the interrupt to be processed or handled.

In short, the designers of the IBM PC knew that they could not possibly conceive of everything that needed to occur on a clock tick, or upon every keystroke, or upon every incoming bit on a serial line.  They planned on being extensible in order to stave off obsolescence.

As professional developers, we need to be extensible as well, so that we don’t become obsolete.  We do that by concentrating on the process of creating product and not just on the tools that help us create the product.

Don’t get me wrong – I love working with people who have mastered their tools of the trade.  And some folks are natural born tool making and using sons of beeches.

But tools are merely the means to the end.

If you stake your career solely on being a Javascript God, you’ll go the way of the Dodo if you lack the ability to transition into whatever takes the place of Javascript when it comes along (substitute whatever language / platform / tool you feel to be the best in the world here – it doesn’t matter).

Today I spend the majority of my time writing VB.NET, or PHP, or JavaScript, or XCode / Objective-C.

Five years ago, I spent the majority of my time writing ASP and VB6.

Twelve years ago I spent the majority of my time writing C, C++, and 808x assembler.

Twenty years ago I spent the majority of my time writing Fortran, Cobol, and IBM 360 assembler.

It’s not the tool that defines what kind of developer that I am.

It is my ability to take whatever tools are made available to me and to craft something useful that people are willing to pay me money for.

And at the end of the day, to me, that is what defines a software professional “lifer.”  Someone in it for the long haul.

What? Me Worry?

What? Me Worry?

With apologies to Alfred E. Newman.

My wife and I have been devoting a significant amount of time to worrying over one of my kids.  He’s having a very hard time adjusting to our move and is very homesick.

Plus, he’s at an age where image is everything and is tied intimately to what one’s peers think of you.

We hurt very much for him, because he’s a great kid and know that his new friends will love him once they get to know him like we do, and like the friends back home did.

Last weekend, a girl from his old school wrote an email asking if our son was OK because of the hurricanes.  We wrote her mom back and said that our son would call Saturday to let her know everything was OK.

The next day, we spoke with the girl and her mom.  The little girl got up at 6 AM (!!!) because she thought my son could call at any time.  This is an 8 year old girl, BTW.

Like all parents, I think my kids are super special.  But by any objective measure, not many kids engender that kind of devotion to friendship from a classmate, at 8 years old.  And this is not isolated – my son is just a good friend.

And that is why we are pained so – for the moment anyway.  He is finding this new school really tough to crack.

I know he’ll do well, and this will be a happy memory (one day!).

But for now, we’re bracing for a report card period that will probably be less than stellar and are pouring as much additional attention and praise as we can toward my son until he can find his way.

You wish always to minimize hurt and pain for any of your loved ones.  Sometimes growing up is just hard.

Any advice from more sage parents would be most welcome.

Mistakes? No – Blessings

Mistakes? No – Blessings

Both of my sons are adopted.

Both were open adoptions, and we met the birth moms before each was born.

My oldest son got to meet the birth mom of our youngest.  In fact, one of the most touching family moments we ever had was when my five year old son went to the birth mother of our youngest son and said “thank you” – spontaneous and unprompted – in the hospital when we took him home.

Anyone who has ever been in a hospital room with a birth mom about to surrender her child knows that it an emotionally charged atmosphere.  I lack the words to adequately describe it – but think of the hardest thing that you have ever had to do, and then mix in knowing your intense happiness involves the despair of another human or family – and that comes pretty close.

We have gone through this process four times; twice with birth mothers who decided not to go through with a placement, and two times that resulted in placements.

Today, the politics of “family values” was very front and center and appears will be front and center for much of the news cycles this week.

What has caught me off guard today – though I am keenly aware of it – is the pejorative way in which a large number of people view adoption.

One person on Twitter said that they “didn’t want to adopt someone else’s mistakes.”

Intellectually, I know that many share this feeling – but it is always like a cold slap to the face when you find yourself confronted so nakedly.

For my wife and I, our sons are the best things that have ever happened to us.  And they are by no stretch “mistakes” – they are real people with real hopes, dreams, and potential.

I’m writing this neither to be Pro-Adoption or Pro-Life or to make any political statement whatsoever.

I’m writing this only because I’m a father who loves my family above all else.

And I celebrate the love that our son’s birth mothers had for their children, allowing us to be the parents of the most precious gifts anyone ever gave us.

To anyone who cares to listen.