April 03, 2004
Part Time
Is there anybody in there?
Just nod if you can hear me.
Is there anybody home?
Ho hum. Taught a class. Ate lunch. Applied for a job.
Ian went to Tunbridge Wells, and returned just as angry as the archetypal letter writer.
One thing I've been thinking about over the past couple of days is how there are no part-time programming jobs. And I mean none.
The particular context of this is that, as I've sort of intimated before, I'd rather like to continue my education. Learn something really abstruse, not just as the temporary adjunct to creating some meretricious piece of vapourware but as an end in itself. Finally get the PhD whose absence marks me out as the black sheep of my immediate family.
Okay, mature studenting and all that, but even supposing I could persuade some hapless institution of higher learning to take me on, how would such a thing be paid for? I can't really see funding bodies handing me a research grant -- or for that matter being able to live on it if they did -- so the only option would be to work and study concurrently.
Let's ignore the fact that this would take years and cost millions of lives, and concentrate instead on the whole question of part-time employment.
There are industries that subsist almost entirely on part-time and casual work, and there are industries that grudgingly permit it. For baristas and barristers, part-time employment can be an option, but nobody wants a part-time coder.
Don't you even go there!
All too many of the seemingly infinite succession of job adverts I've looked at lately are quite brazen about this. They promise long, anti-social hours, evenings and weekends, no end of hard graft. They don't expect mere duty or responsibility, they expect obsessive dedication, they expect to become (for "the successful candidate") your life.
The tech industry is built on this bullshit. It's the unspoken corollary of Moore's Law: your free time halves every eighteen months. Computers get faster, but people don't, at least not in a comparable way. We're somehow expected to make up for this disparity by committing more and more of ourselves to the endeavour, until there's nothing else left at all.
So: part-time work. Uh-uh. Ho ho. No way José!
Software development is hard, complex and slow, and it exists in a world of acceleration. The future is a gravitational attractor. Every program needs to be better than the last, faster, more capable, vastly more complicated -- and always more urgent. Delivery is everything. Bungie and id may be able to afford the whole "it's ready when it's ready" ethos, but they're just statistical noise. Programming is a world of deadlines and milestones and timetables, and none of that squares with part-time work at all.
And all the joy within you dies
Back in 1995, in the early, inflationary phase of the dotcom boom, I was employed by a company called First Information Group, now defunct. (I remember getting quite a shock a few years ago when I cycled past the plush office tower in Knightsbridge in which FIG was based and found it had become a shattered, derelict hulk; it's been demolished since.) I had, at the time, very little experience, but was intimidatingly smart, and even though my portfolio consisted mostly of a bunch of gay pornography it also contained a number of things that really, um, surprised them. One of these was, to the best of my knowledge, the first piece of real-time 3D ever developed in Macromedia Director (which in those days was a rather different beast from the doomed, lumbering behemoth it has since become).
This was 1995, remember: post-Doom. Technologically, what I'd created was a long way behind the times. Wireframe 3D was old hat -- ancient hat -- but in the toddling arena of multimedia it was unprecedented. This was the first triumph of a trick that has kept me employed until now: knowing a lot outside of the immediate field, and applying it. Mostly this has involved applying relatively in-depth programming knowledge to areas populated by dilettantes. Display 3D geometry in Lingo; write an arcade game in JavaScript; implement a virtual machine system in Flash. All, frankly, stupid things to do. (Last year, for a challenge, I did the same kind of 3D thing on a bottom-end Liberate set-top box. This was an exercise in sheer bloody-mindedness, something that could never have any commercial value of any kind. Liberate provides no drawing primitives, just very limited HTML tables. The coarsely flat-shaded polyhedra I made it display were ugly and pointless, and the performance was terrible, but there was still something satisfying about rotating them with the TV remote control.)
Anyway, I showed them my stuff, and they offered me a job almost immediately. Which, needless to say, I refused.
I was very new to all of this, having skulked away in the porn industry for a couple of years, and then gone through the whole Phase saga. Finding work in this new field came as a bit of a shock. I had no sense of my own capabilities or value, and my first attempts were dismal failures. One probationary week in particular, doing design work for a ghastly company called Bereza Associates, was an utter catastrophe, and I considered myself as unemployable as -- well, as I do now. Every job advert I saw had requirements I couldn't possibly meet. I found it hard to imagine anyone even bothering to look at my CV.
My saviour was a recruitment agent called Nancy McDermott, an incredibly charming American woman who, even though she only ever got me two or three days' work directly, had a profound effect on my career. I don't remember how I came to contact her -- it may have been a newspaper advert, it may have been a Usenet posting. We met up at Cyberia, London's first internet café, somewhere along Tottenham Court Road, and got on like a house on fire. She ran the crap I'd hacked out in my bedroom on her beat up old PowerBook and was bewilderingly positive, more or less saying that if I showed it to any company in town they'd employ me. She thought I should be commanding (ten years ago, mind) a grand a week. Pounds sterling.
I can't now remember the exact order of events, but in some way or other this assessment caused me to reject FIG's vastly less generous offer. Nancy told me I should be looking for £1000 a week and FIG were offering some pitiful fraction of that. They seemed a dreary company, and the world was full of opportunities, so I declined. It wasn't meant to be a bargaining tactic -- I didn't think I was in a bargaining position -- but it turned out to be quite a powerful one. FIG -- and this was unprecedented in my experience -- wanted me, and were willing to negotiate for the privilege.
No wonder they went bust.
Anyway, catching the unfamiliar scent of power -- and after discussing it with Nancy -- I eventually agreed to work for FIG with the following provisos: (i) I'd get more money (a grand a week, pro rata); (ii) I'd only work four days a week. And they bought it!
Four days a week!
I was employed on a project that already existed, in a position senior to the person who created it. Took over the codebase, rearchitected everything, wrote all the core code, created a bunch of tools to put it all together, led the team. And had every Wednesday off!
Even now I can't quite believe it.
Towards the end of the project, inevitably, the four day week thing became unsustainable. By the time everything was nearly finished, the other team members departed and I was working every day, sometimes late into the night. Stringalongs was delivered, and pressed, and boxed. Then Reed, FIG's client, was bought out, and BAM! -- it was dumped. (Later, FIG bought it back, planning to release it themselves. I got a bit more work out of that, showing their new developers how to internationalize it. The new version was delivered, and pressed, and boxed, and had full page adverts in CTW. Then FIG went under, and the fucking thing was landfilled again!)
Ah, the good old days.
Anyway, the point of this extended reminiscence was that a decade ago I managed to bully a company into employing me less than five days a week, and even then it didn't last. The chances of doing the same thing now are so tiny as to be immeasurable. In software, time is not just money, time is polynomial money. Maybe even exponential money. O($n).
And therefore, software development -- as a career -- is incompatible with education. If I do actually want to learn something, it's not going to be in parallel with doing the work I'm good at. It's going to be in parallel with serving caramel mochaccinos or something.
Posted by: Eurodan at April 5, 2004 05:57 PM