Office ambition

scrottie on 2009-09-04T20:12:35

I write a lot about what's wrong with Perl (technically and socially), Parrot, commercial and free Unices, and the working world.

Reading this, it would be easy to get the wrong impression...

I want Perl to have a beautiful core, and I think the potential is there. I want the Perl community to be open-minded, educated, not threatened by other developments in the programming world, organized and efficient at helping novices, and actively painting a good picture of the language and community by addressing fundamental concerns rather than symptoms. I want free Unices to break out of bad implicits that they've adopted without thought because they hadn't formerly had time for critical evaluation and I want commercial Unices to maximize their good qualities and market themselves appropriately. Linux cannot yet touch the scalability, of 10,000 node single-image (one large virtual computer with a fuckton of RAM and CPUs) or stability of commercial Unices and due its priorities of rapidly adopting experimental features and supporting everything, it won't likely ever attain the stability of certain commercial Unices, which run forever, every time you start them. If nothing else, experimental hardware drivers for a billion devices on x86 prevents this.

All of these are ambitions. But I don't have time to contribute to contribute to most of them. In fact, I don't have time to contribute to any of them as long as I'm job hunting and don't know where my next paycheck is coming from.

My ambitions are not only on moulding the technical world to my whims. Despite ranting about how things go wrong in offices, I've had some really good office experiences. I think I've touched on them in bits and pieces. Honestly, I don't remember.

JaWS, Java and Web Services, the business incubator startup Web shop at the University of Minnesota... well, it rocked. It was founded on the idea of learning cutting edge technologies and applying them, mostly to UofMN Web projects. At the time they formed, Java was the thing to watch. They informally assigned themselves to learning interesting new things as they came out. There's an attitude in the working world at large that research and productivity and incompatible. Companies want to hire experts who already know every technology that is going to be used. That's a myth. Research institutions of old, such as Bell Labs, were hugely productive but also innovative. It is a balancing act to mix what you're learning with what you know. My rule of thumb is to be learning one thing at any given time and to at least once try to mix it in where appropriate. Of course you might have to mix it back out, but you're just as likely to have to mix out a technology that's no longer appropriate. Here, I was first exposed to insanely talented people and the loose style of management where the programmers explained what they were doing and management kept them abreast of all things political influencing the projects. I was also first exposed to the idea of telecommuting here, as the sysadmin was in Chicago. Everyone was on IRC, though.

Mayo Clinic first exposed me to the corporate IT management style done right. We were a tiny group of people who created something hugely important in the organization and found ourselves in the middle of a political tug of war between business units and important individuals who wanted things from us. I watched politics be played in a healthy, constructive, highly strategic fashion. Rather than be torn apart, our fame gave us leverage.

NG I'm going to miss dearly. My manager there was a case study in making friends in an unfriendly place -- Vegas. It's hard to say you're going to do something and do it in the software field but in Vegas, you don't have any choice. The bar was set exceedingly high. Systems had to resist physical attack -- it's common knowledge in the computer security field that this is not possible. Straight shooting was critical. The contacts for investors, regulatory agencies, standards bodies, and potential customers all had to be handled in way that I'm not sure any other startup could replicate. Then the two programmers would have brainstorms with lots of groans and sighs about how to accomplish astounding technical feats.

SZ was a chance to work with real coworkers again, in person, part of the time, and to share the humor and wit of smart programmers. One contact there I'm still in touch with and hope to collaborate with. The decision to learn Flash was partially inspired by one of his pet projects that I intended to collaborate on. It was good practice in working under the gun on daunting tasks -- optimizing an insanely large codebase for speed, debugging mod_perl coredumps in production systems, and in coming up to speed quickly on this codebase -- or trying to. After a month or two on the job, having an experimental branch that made all backend requests concurrently felt like a huge coup. Since then, I've been brainstorming strategies, visualization just one of them, for tackling extremely large, extremely crufty codebases. This could be a legimate way that I could contribute to Perl.

Ultimately though, I'd like to get something going like I had at Contact Designs -- two desks, and more if I wanted; one messy, one spartan. Key to the door, card for the server room, my own server in the server room, a bean bag, lots of strange old Unix systems set up and in operation. More authority than responsibility. I'm a far stronger programmer than I was then, but it's not the dot com boom any more.

-scott