Choosing a programming language as a competitive tool

Alex Martelli aleaxit at yahoo.com
Thu May 3 09:48:04 CEST 2001


"Steve Cooper" <stevencooper at isomedia.com> writes:

> Do you work for a publically held company?  Does it create software
products?

It's hardly a secret -- check out www.think3.com for more details!  I'm
not sure if, technically, we're "publically held" yet -- what this may
imply, exactly, is perhaps slightly different in the US and Europe.  Do
you mean, have we IPO'ed yet, so that our stock is already traded on
some stockmarket[s], or are we "working up to a potential future IPO"?


> You don't actually have to answer (obviously :-)), although I confess to
> curiousity.  I'm just trying to bring up the reality that the above two
factors
> are powerful, often irresistable forces in creating short-sited
environments.

Are you saying that a software-products company which has not yet IPO'ed
may be "long-sighted", but once the IPO comes, that vision disappears?  I
have no direct experience, but maybe that evaluation needs to be performed
in different ways for pre-IPO companies that have been in business just a
few years, and ones that have been for 20 or so.  Or maybe some cultural
differences between American and European roots may be relevant?  We're
now, technically, a US-held multinational corporation, but I have noticed
only gradual changes (and NOT, overall, for the worse) since the time, just
a few years ago, when we were a privately-held Italian joint-stock company.


> My experience has been that such companies invariably have cultures that
are
> almost totally unwilling to take risks or make investments that have only
long
> term returns.  There's too many stakeholders in the status quo and the
quarterly
> numbers, including their engineers.

My experience tells me otherwise -- but, as I said, that experience
doesn't span many different employers!  Before my current employer,
I was with IBM Research back in the golden times -- I happened to
switch employers just before the clouds started to become visible
on IBM's horizon.  In the '80s, developing software at IBM Research,
and, later, consulting on supercomputing issues with the IBM branch
that handled academic and research customers, hardly left me with
the impression that my employer was unwilling to make long-term
investments, or take risks (it could be argued that one of those risks,
the launch of the IBM PC, contributed to the later crisis, from which
IBM emerged later yet, but not without some turbulence).


> I hope my cynicism is misguided, and that some day I discover otherwise.
:-)

Suppose, for the sake of argument, that the combination of circumstances
that you (and others) have observed holds in about 90% of the cases.  This
would mean that your "cynicism" is NOT misguided, generally -- that, if
all you knew about a company is that it's a publically-held software
products company, then tentatively inferring short-termism and risk
aversion would give you a 90% chance to have guessed right... better
odds than you get for most everyday-life guesses.  And yet, under this
hypothesis, you _would_ be wrong in your guess in about 10% of the cases,
so it's better to thread carefully before you act on your working
hypothesis.

Bayes' Theorem also helps.  If one assumes that "long-termism" offers
advantages compared with "short-termism", so that the probability for
a firm to survive any given business year is higher if the company is
in the "long-termist" assumed minority, then the a-posteriori estimate
of the probability of a company being "long-termist" must increase
with its years of longevity.  For example...:

survival = [0.9, 0.8]
termism = [0.06, 0.94]
observe = [0.0, 0.0]

for i in range(20):
    tot = 0.0
    for j in range(2):
        observe[j] += termism[j]
        termism[j] *= survival[j]
        tot += termism[j]
    print "%2d: " % (i+1),
    for j in range(2):
        print "%4.2f" % (termism[j]/tot),
    print

tot = 0.0
for j in range(2):
    tot += observe[j]
print
print "Over all observations...:"
print "%2d: " % 99,
for j in range(2):
    print "%4.2f" % (observe[j]/tot),
print

This assumes that, at the start, 6% of companies are "long-termist",
and have a survival probability of 90% in any given business year,
while 94% of them are "short-termist", with a survival probability of
80% in any given business year.  Then, as the years pass, the fractions
of long- vs short-termists among the companies we observe as survivors
of that many years of business become:

 1:  0.07 0.93
 2:  0.07 0.93
 3:  0.08 0.92
 4:  0.09 0.91
 5:  0.10 0.90
 6:  0.11 0.89
 7:  0.13 0.87
 8:  0.14 0.86
 9:  0.16 0.84
10:  0.17 0.83
11:  0.19 0.81
12:  0.21 0.79
13:  0.23 0.77
14:  0.25 0.75
15:  0.27 0.73
16:  0.30 0.70
17:  0.32 0.68
18:  0.35 0.65
19:  0.37 0.63
20:  0.40 0.60

Over all observations...:
99:  0.10 0.90

This would confirm the overall hypothesis of "90% of
companies are short-termists" (the number of companies
that survive over 20 years, on the order of magnitude
of 1/100 or so, is not going to affect observations
significantly).  Yet, if one observed companies that
HAVE survived 20 years, then within that sample the
("a posteriori") frequency of long-termists would be
of 40% -- still a minority, but very significant.


Of course, there are lots of simplifications here,
such as the hypothesis that the 'termism' bias of a
company does not change with time (if I had to guess
about that, I would predict another factor favoring
long-termism among long-lived companies, besides the
simple consideration of selective survival; the very
fact that some people within a long-surviving firm
may have been with the firm a long time may influence
that, for example), ignoring the business cycle entirely
(different survival probabilities in years of boom and
years of bust), and so on.  But the key meta-hypothesis
is exactly the one under discussion: that long-termism
HELPS a company survive, as compared with short-termism.

_IS_ it so?  I don't know.  First-blush common sense
might suggest it does, but there may well be countervailing
considerations.  For example, some "long-termist" companies
may be enhancing the skills of their employees *in ways
that do NOT necessarily make those employees more attractive
to the competition* -- skills in a proprietary technology,
habits regarding a very specific and idiosyncratic "company
culture", etc; here, with no real risk of employees being
pilfered by short-termist competitors, survival enhancement
may be a more realistic hypothesis than for companies who
DO operate in such ways as to make their employees highly
desirable to headhunters operating for the competition.  Or,
other inducements to employees to reject better-paying offers
from the competition may be crucial to long-termists' survival
abilities.  It's pretty hard to model this kind of effects in
a program of just a few lines, even in Python...:-).


Alex






More information about the Python-list mailing list