What Kind of Job?

29 Jul 2004

Paul R. Potts

I was passed over for the Brown University instructional design position. It is probably just as well; it provided no benefits at all, and I would have needed to finish an initial set of deliverables by the end of September, with the job to conclude at the end of the year. In other words, it would require either a frantically fast move, or temporary separation from my family. I’ve been so stressed out about the job search and corresponding money crunch that they might consider the separation a nice bonus, though. Maybe it would do all of us some good.

It’s 3 a.m. Do you know where your job is?

I promised in an earlier entry to talk about the kind of job I’m looking for. I had to answer this question recently for someone who thought I might be a fit somewhere in his organization, but didn’t have a specific posting to refer me to. So here is what I told him.

Something that is implicit in my resume, I think, is that I really value constant learning and mixing heads-down development with writing, training, and design. My dream job used to be DTS (Developer Technical Services) in the Newton group, where I would have a chance to write sample code and help outside developers get their code working, which might include writing library code for them, isolating bugs, etc. That combined the tech part with interaction with other tech people. It doesn’t sound like your team will necessarily be supporting other developers, but if there was some equivalent, that would probably be the best of all worlds for me.

That said, I also like working on challenging low-level coding projects. I like to sink my teeth into code, I’m willing and able to do maintenance work and revision of old code, and I’ve tended to take on the “language lawyer” role as well as writing style guides and setting up processes where there were none. I would be looking for a more senior-level job, doing at least some architecture work and supervising other developers, perhaps managing a build process. I’m comfortable managing a small group, and I like to do XP-style pair programming. I don’t really want to be a project manager who doesn’t also do at least some serious hands-on coding.

I like the startup environment in part because in startups and small companies I’ve gotten to wear many different hats and contribute to setting up a whole development culture. If I have a single heads-down assignment to work on all day every day, that job would be less satisfying for me, although I can enjoy that kind of thing for the length of a single project, especially if it is a challenging one.

It seems o me that there are really two ways I could go.

First, I could go down the ladder, to a more entry-level position, and try to acquire some more in-demand paper qualifications, such as an MCSE or some sort of Linux certification, and look for a sysadmin position or low-paying programmer position. The problem being that the low pay might not keep us afloat, and force us into bankruptcy anyway.

I could try to teach myself C# and .NET and more of the J2EE APIs and apply for a job with one of those specific requirements, although it would not result in the various years of experience that various employers are demanding these days. I also usually learn best when given a real task, not when left to my own devices to make one up.

Or, I suppose, to become buzzword-compliant, I could apply for something like this, which I came across in my job hunt yesterday:

As a volunteer software engineer for e-Brainstorm Technology, you will be a key member of a growing organization that delivers high quality, value-added Information Technology services and solutions. Successful candidates should have 1-2 years of application development full life cycle experience. J2EE, Oracle9i, ASP.Net, C#, SQL2000 skills as well as some networking experience are required. Highly self-motivated, self-directed, creative, spontaneous and attentive to details. Excellent written, verbal, and interpersonal communication skills. Ability to translate functional requirements to technical specifications. Thrive in a deadline-driven, multi-projects, fast-paced team environment. Work closely with project manager and sales engineer. Bachelor’s degree in Software Engineering or Computer Science is required.

Compensation: Volunteer position with training and career growth opportunity

But that doesn’t seem like such a good idea. I’m not sure how anyone with the necessary credentials could consider taking this job, and I certainly don’t think this is a trend that should be encouraged. It doesn’t seem to be a job posting for a non-profit; if they are delivering “value-added blah blah blah,” does it make any sense that the person adding the “value” would not partake of any of that added value?

It seems to me that if I’m going to find anything, I have to be able to differentiate myself from all the people who realized in 1999 that there was money to be made in web development, and so bought themselves a copy of “Teach Yourself Web Programming in 29 Minutes.” Where is a good job for someone who has been programming computers since he was ten years old, twenty-six years ago?

Up, then. To a more senior more technical, or managerial position. If there is an “up” in the current job market. And what about sideways? That is, in effect, what I was hoping to achieve with the Field School position.

Paul Graham describes the dilemma I feel quite well:

What do hackers want? Like all craftsmen, hackers like good tools. In fact, that’s an understatement. Good hackers find it unbearable to use bad tools. They’ll simply refuse to work on projects with the wrong infrastructure.

A couple years ago a venture capitalist friend told me about a new startup he was involved with. It sounded promising. But the next time I talked to him, he said they’d decided to build their software on Windows NT, and had just hired a very experienced NT developer to be their chief technical officer. When I heard this, I thought, these guys are doomed. One, the CTO couldn’t be a first rate hacker, because to become an eminent NT developer he would have had to use NT voluntarily, multiple times, and I couldn’t imagine a great hacker doing that; and two, even if he was good, he’d have a hard time hiring anyone good to work for him if the project had to be built on NT. [Footnote: They did turn out to be doomed. They shut down a few months later.]

If it is possible to make yourself into a great hacker, the way to do it may be to make the following deal with yourself: you never have to work on boring projects (unless your family will starve otherwise), and in return, you’ll never allow yourself to do a half-assed job. All the great hackers I know seem to have made that deal, though perhaps none of them had any choice in the matter.

Creative Commons Licence
This work by Paul R. Potts is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. The CSS framework is stylize.css, Copyright © 2014 by Jack Crawford.

Blog IndexWriting Archive