Archive for July, 2004

Posted on 19 July 2004 under General

Working alone as a developer is scarey and dangerous. You might not notice while you are doing it but sooner or later (perhaps years later) you will realise that you were walking a swaying tightrope above a pit of angry snakes (and customers).

A single person team is any team in which an individual has sole responsiblity for production of self-contained software that will take more than about a week to produce. Why is this dangerous? The simple answer is that everyone is fallible and team-mates increase the likelihood of catching a problem before its too late. A more complex answer is that our personal blind-spots and preferences for differing types of work will naturally (and silently) lead us to downplay aspects of projects we don’t like and to ignore our own shortcomings. In addition, personal shortcomings often aren’t recognised by individuals.

If there is a project manager then the risk is reduced but not eliminated unless the project manager is intimately involved with the development (ie does design and code reviews, examines testing schedules and results, etc).

Suppose you have been given sole responsibility for working on something and you are aware of the risk, what should you do? The first thing to do is to speak to the person who has asked you to do the work. Ask its its okay to swap some of your allocated time with someone who will be able to review your work or at least act as a regular sounding board. As long as you can stay within budget you should have some leverage with management types. The better managers will be pleasantly surprised by your honesty and will gladly help to get your work reviewed. The worst managers will act as if you have admitted that you might make a mistake (which you have - these guys are so on the ball) and will treat you with disdain and/or ignore your request. I don’t have any great strategies for dealing with the worst managers apart from calling them names and quitting (gentle mocking doesn’t seem to work).

Posted on 13 July 2004 under General

I love making software. We start with something that needs to be done and we make it happen — by thinking and wiggling our fingers! Literally. Of course we do swear and write stuff on whiteboards. But mostly its just thinking and wiggling. Amazing.

I love helping a business person (domain expert, etc) create something. The best part is surprising someone by quickly solving a problem that seemed insoluble and has been so for months (or years). Its fun coming up with something that is clearly greater than the sum of the team. More than fun, its almost a religious experience.

I love watching newly hatched nerds spread their wings and make something grand, something that surprises even themselves. Its even better when its something that surprises the wizened old nerds who hired them.

I love hearing about how software I’ve helped to build has made someone’s life better. That $70,000 pension underpayment cheque — I helped that war veteran get that. I love the look of wonder on a “users” face when they realise that the software they have now doesn’t crash every few hours or they can do something in an few seconds that used to take days.

Its not just programming I love, in fact I think that the programming part is less satisfying than managing production or business analysis or even project management. Programming is sometimes so close to the trees that the beauty of the forest only becomes visible well after the work is done. Although when programming, you do get the consolation of creating something that is both internally beautiful and externally beautiful.

I love making software.

Posted on 1 July 2004 under General

Eric Sink has an interesting series of articles discussing marketing in the context of an ISV. In this particular article he tangentially covers something close to my heart - the loss of something precious to the altar of growth.

I worked for years in a small company that made great software that is used to ensure that people received payments (pensions, stipends, re-imbursements, etc) to which they were legislatively entitled. Great stuff in terms of making the world a better place and great stuff from a nerd perspective - expert systems, cool UI’s, etc.

As the company grew it changed. Dramatically, and in a pretty lumpy and uneven way. At some stages it was fantastic, lots of smart people working hard on making great stuff. At other stages it was a bit more Dilbertesque with people’s talents being wasted and frustration about inexplicable decisions bubbling up. Then it would change back into a fantastic place again. One thing that always seemed to remain was that it was “real”. The company had its own personality which was reflected in the way it did its stuff - it was as if it was a toddler - no self-consciousness or holding back because something wasn’t the “done thing”. No artifice.

Eventually the company’s growth hit about 90 people and all of a sudden it was doing things because it was the done thing. Policies for all sorts of crap were developed (and rarely read by anyone except those creating the policies). Some managers started to wear suits as a matter of course. Worse, a new type of person started to get hired - Grown-Ups. Now, I don’t have anything against grownups. They can sit around anywhere they like thinking their little beige thoughts, worrying about their cufflinks and deliberately stunting their personalities by only discussing business. Sometimes the grownups are actually real people who have been so badly abused by other grownups that they had to disguise themselves in beige (this type seems to be somewhat rare).

So there we were, a fantastic little company that was being overrun by grownups. Why? Because they seemed to be the right sort of person - experienced business people, managing directors of international publishing companies, etc, etc. As with nerds its really hard to pick the good ones from the shitty ones without trying them out. The really bad ones are those that are incompetent but are good at hiding it - unfortunately these seem remarkably common.

The thing that gets me is that we did this to ourselves - we let these bastards in and paid them for the pleasure of breaking our company. If only we knew. I suspect we did know at some level. Money (greed?), of course, was part of it. So was tiredness, its hard to work that hard for so long without the prospect of someone else taking over management seeming an easy way out. Eventually we listed on a stock exchange (after the tech bubble burst) which allowed those people who were lucky enough to own shares to pay off their houses, etc.

The money was/is nice but I’m not sure it was worth it. Something great, something that truly made the world a better place went into hiding. The company itself is crumbling - its lost its biggest customer, had a couple of rounds of layoffs and just had its CEO “resign”. The stupid beige bastards not only have stunted personalities but also can’t run a company. The one thing they’re supposed to be able to do!

P.S. There is hope, one of the founders has become CEO again. I hope the company’s soul is revived and it is able to claws its way out from under the grownups.

P.P.S. Just to show I’m a quick learner - at the place I’m working for now, which is another small hi-tech company, I’m doing my best to warn everyone each time some shithead grownup looks sideways at us. Once is bad luck, twice proves you actually like it.

« Previous entries
?>?> ?>?>