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