Friday, November 30, 2012

Job 3.2: What happened?



Then the economy tanked (2008); the company swiftly cut twenty five percent of the work force in one day; it was so upsetting to watch - I spent the day watching Internet videos on some new technologies and then reading about them the rest of the week.  I lost some good working relationships and localized experts - i.e. my informal resource network got smaller; we're not talking about people who were marginal in any way - many of these guys were top performers, just not tied in a direct way to an income stream.  My saving grace was that I'm the original author of several critical systems and I program in a style that values results more than form and we still ship code that's fifteen years old; it's hard to stop a freight train.  This begins phase three of my third job.  Having achieved some success with my phase two mission and vision, my focus these last few years and presently is answering the question "How can I apply my time to tool up enough to bring a lot more money to the company than I cost them?" – or possibly “How can I apply my time so my co-workers bring in a lot more money than they would otherwise have been able to?” the answer was simpler in the past because the world didn't change too significantly very fast.  Now, I'm not so sure.  Although my C/C++/assembler/system-design skills are seasoned and effective, there is a four person team working full time on replacing my work with a .NET C# program. 

They're on their tenth man-year and have the potential of having a prime time solution as soon as a year from now.  It requires ten to twenty times the resources, but with resources being a million times what they used to be; it doesn’t matter.  I looked at C# the first two years it was out and abandoned it - not quite operationally sound.  Apparently, now with .NET v4, it's a lot better.  The competing group has a chance of success; how do I modify my value proposition when our customers no longer use the old program? The old answer was to do one of the following: 1) Look for a real need or problem that has an inadequate solution. 2) Make a compelling improvement to your current solution - so compelling that the competition quits with broken dreams of greatness; they know there's no way they can win.

What if the world changed and I don't know it yet?  Maybe I should concentrate on being able to affect massive changes to the software very quickly without working very hard and then go shopping for win-win-win (them-me-customer) opportunities?  What if I could outperform my competition by a factor of hundred instead of a factor of ten, and continue daydreaming and having fun all day most of the time?

Hmm.  Hold that thought for a second; this is a radical idea.  Ah - a few months ago I discovered "Eddie Obeng" (thank you TED talks!!) and read all his books; his central thesis is that the pace of change in the world has accelerated beyond any one person or organization's ability to learn how the world works before it changes again. He's been working on finding solutions and strategies to that exact problem for 15 years; my exact problem - how do I decide what to do next in an uncertain, unknown environment?  He's developed a practical way of quantifying project types and presents a very common sense analysis of how to be successful with different types.  I'm a big fan.  His work makes a lot of sense from all the notes I've taken over the years and all the projects I've seen fail and the few I've seen succeed.  His analysis of robust strategies mirrors a lot of my own experiences as well; I call it systems theory because I read different books earlier in my career.  So what do I know?

1) There are a lot of things I don't know; and there might be even more that I don't know that I don't know.

2) The world is changing for software very fast.

3) Human nature has been remarkably stable for a long time.

4) Human expectations for software utility and effectiveness are rapidly rising.

5) I don't know my competition and probably won’t until it’s too late.

6) I might not even know my stakeholders and the list changes fast.

7) My customers are different than they were last year; they changed.

What strategies might win in this environment?

1) Make a consistent effort to improve my ability to turn to much data into just-right good information.

2) Consciously turn some of my vendor-customer relationships into partner-partner relationships and help them more.

3) Spend more time with the sales guys and customers looking for problems to solve that 1) make money even if they're one-off, and 2) don't require much future effort/time, AND 3) have ongoing revenue.

4) Lower the time and effort needed to assimilate/modify/plug-together other people's work (legally).

5) Automate the things I do repetitively, and do the same for others.  Have fun looking at things that never happened before, and enable others to have fun.

Which strategy should I work on first?

I review all of them for 30 minutes every Saturday morning between 9:15 and 11:45, and then work on one each weekday for 30 minutes between 10:00 and 10:30 am.

How can I test these strategies fast and with the least effort?

1) Measure my current capabilities with some real tasks from the last month.

2) Measure again every month; make the maximum task time 1 week, so there are multiple things to measure.

What's the worst possible outcome of this course of action, in light of any possible change in the environment?

If the tools I create damage my ability to be productive (i.e. they take longer than the time they save), then the custom version of EMACS I've used and enhanced for 25 years is still my friend, and I learned something.

If management changes and/or I didn’t know the amount of time I can search for the next big thing before delivering it, then I'll be asked to pursue other opportunities; and I'll take my tools with me.

If another (perhaps younger) cowboy shows up who can (and does) outperform me, then I can cheerfully learn something if he shares, or I can move on if he's hostile. (there's only room for one cowboy in any major group these days; brawls between highly capable people are very counterproductive).

If the company changes business models and outsource or crowd-source software development, then I'll buy time to make new plans.

Epilogue
The game is afoot.

No comments:

Post a Comment