What I Did With 15 Years of My Life
Fifteen years is a substantial chunk of one's allotted five score and ten. (Yes five, not three. I have an optimistic view of these matters.) Sundry people have asked of me, "Whatever happened to you?" (Sundry people are people who lay on the beach after having gone in the water.) Other people ask, "What is this thing that you have done and is it fattening?" As a service to myself I thought I would put together a little description of how I blew (er, spent) fifteen years of my life. The significance of the expression "spending time" is a topic for one of those pseudo-philosophic essays that I am fond of writing and is not germane to the present essay.
In 1961 I wrote my first computer program for money. For the next two decades I was a whore, selling my intelligence for money. No, strike that. For the next two decades I wrote computer programs and did mathematical analysis on contract, mostly in the areas of radar systems and geophysics. It paid well. I had a career.
That was the rub. I had a career. Now the trouble with having a professional career is that you have to keep advancing in some way if you are going to justify receiving the increasingly large amounts of money that you are getting paid. The fate of young bright young puppies who do not become wise old hounds is to become pet food. This I did not want - I prefer to be on the outside and not the inside of cans of pet food.
For such as I the world offered two paths - I could enter management or I could become an expert (a consultant is a free lance expert.) I had no interest in entering management, at least the lower ranks of management. As far as management is concerned, it is my opinion that the best way to enter management is to start at the top and stay there. Being an expert, however, is no simple matter.
A computer programmer is a craftsman. The quality of workmanship in this craft is best evidenced by the popularity of the term "hacker", e.g., one performs carpentry with an axe. The expert is one who has devoted considerable effort to acquiring the tools of his craft and refining his usage of them. There is a trap implicit in this process of becoming an expert craftsman. The artisan (to stretch a term) is attached first to the tools and techniques of his craft rather than to the product.
The artisan, let us use a cabinet maker for illustration, makes pieces to order. His patrons are not buying his skills directly, they are buying the pieces, pieces that are to be owned and used by the patrons, pieces that are made to their desires. The expert maker of software and scientific analysis is in a similar way, albeit his state is less enviable.
The productions of the cabinet maker are much of a kind, and his skills and techniques are part of the artistic value of his work. It is much less so with the computer software expert. He does not choose the so valuable tasks on which he works. His skills are necessary but incidental to the finished product. His clever algorithms, his ingenious techniques, all of his skills which have been the object of his learning are irrelevant to the goals of his paymasters. His notion of what is important is not connected to the notions of what is important to his patrons.
So it was that I became more interested in the tools and techniques of the software creation process itself and dissatisfied with producing yet another radar software program, another data analysis program. In the late 70's I spent quite a bit of time thinking about the software creation process, how it might be improved, and what would be needed. I also spent a certain amount of time trying to put together proposals and looking for funding.
I finally came to the conclusion that this required a lot of selling and that, if I wanted to see it done, I would do it myself, develop a product and sell it. In short, I decided to become an entrepeneur.
There are a lot of guidelines for starting a successful company. They are obvious things - you should be adequately funded, you should have a full management team, and you should have a simple product. I didn't have any of these. I had no money to speak of, I had one other person as an associate, and I had a very complex product. However I did have the one real thing that an entrepeneur has to have - the determination to do what I wanted to do and the willingness to take risks. I believe this is known as having a very thick head.
The upshot is that circa 1981 I created a corporation and sat down to write code. For two years I worked full time on a job and worked full time writing product code. The latter was done on evenings, weekends, and holidays. In late 1983 I went full time on the company. I made my first sale for $1000 in December of 1983.
The years from 1983-1987 were very lean. We made a few sales, enough to pay for a sales and administrative assistant and myself. I had one partner who came on full time circa 1988. During the lean years I kept improving the product while wearing many hats. In 1990 we got our first offices [up to then I had been working out of my home] and in 1991 we moved to larger offices. We did modestly well from 1991-1994 but there were problems. My original partner and I split up and I bought her out. Competition from better funded companies became a problem. I brought somebody else to run the company and we started the first of a couple of rounds of financing. In mid 1995 I started a new company which did consulting to my original company. I did this full time for a year and part time since then. The company has done well since I left - it is three times larger and is increasing sales rapidly. Part of the trick of being an entrepeneur is knowing when to get out of the way. I have a lot of stock and an income stream from the original company. If all goes well I will be well off. If it doesn't I won't be.
What does this company do? What is its product. The original conception was that of a personal assistant to developers, a software development environment. However it ended up being a software configuration management system, SCM for short.
What is SCM? When software is being developed and maintained we have a lot of different files which are constantly being changed as the software evolves. If people don't keep track of did what and why they did it and what was done, you get chaos. A good SCM system should keep track of all of the bits and pieces and provide the tools for keeping the management of the software development process in an orderly state.
Who buys these systems? People who have to develop and maintain large collections of software. There are really two different types of markets, the technical market (engineering software products) and the information management market (financial institutions.) We started in the technical market but have been moving in the IM market.
Would I do it again? I suppose - I can't imagine working for somebody else. But it sure does eat up your time.
This page was last updated May 25, 1998.