I haven't really had time to work on personal projects the past while. Other personal projects and various contract projects keep on getting in the way, which is sad, but necessary.
The reason for the title here isn't that I'm quitting any of them. Far from it. As of next week, my current employer will be my former employer. It was fun stuff for a little while, and it taught me a lot about development practices, about building systems, about maintaining systems, and about development methodologies.
Mostly, it taught me what not to do, which is valuable in a sense. I'm off to another company that needs a hacker/UI guy, where if all goes well, I'll get to put together a few products and a team for them. I'll do my best not to repeat history in any of the fundamentally broken ways I've observed.
It was a good job for a while though, I don't want to take that away from them. I enjoyed myself. The context switches were enough to keep me focused and engaged for a time. Problem is, really, there was a hard cap on how much I could grow for a bunch of woefully common reasons, most of which I've already blogged about here. Training was non-existent. So was downtime, but it never really got pitched that way so it was hard to admit from inside the vortex.
At each cycle post-mortem, we had this ceremony of listing all the things that were good and all the things that were bad. There was always a note to the effect of "Good: team really stepped up and pulled together" (read: "the team worked truly excessive overtime to hit the obviously over-inflated goals which got handed down from on high"). After the third time, I stopped bothering to point out that this was a ridiculous assertion. That there was nothing Good about voluntary slavery, or massive overtime. That really, by planning only slightly more effectively, we could reduce the amount of work necessary while increasing the quality of output and completely obviate the need for "really stepping up". It's a hard position to take when your teammates are all utterly convinced that overtime is as inevitable as object-orientation and IDE addiction.
Which says a thing or two about a thing or two.
I kept getting misty-eyed this week. They're my friends, of course, and that won't change just because I'm taking my skill to another employer. Why would I ever leave? Ohmygod, what have I done?! I loved it here! It's a land of gumdrops and rainbows and unicorns where nothing can possibly go wrong!!
It was more or less at that point that I stumbled into our sprint-planning meeting about 15 minutes late. I took my seat quietly, and checked out the room. Yup, they were performing The Ritual, and they were onto "What went badly". Sure enough "Really stepped up/pulled together" was over on the "Good" side, and "Too many last-minute objective changes, not enough testing" was already listed under the bad pile. I watched a lot of the old problems get paraded out and discussed. Then we got to the what's up next slide. And I'll be goddamned if I didn't suddenly feel a rush of relief that it was my last week as I was staring at the four months worth of work (and counting) that we were expected to finish in the next month.
Someone once told me that I wouldn't make a good leader because I'm too negative. I always have the "Well, we're gonna take that hill, but die doin' it" attitude. I'm not sure anyone could blame me, because I've seen the death-march-inducing, motivation-sapping effects of over-optimism, and I'll stick to my way thanks. Pessimism keeps your team from getting killed.
Anyway, it's not my problem anymore. Perspective is kind of nice that way.
Hopefully next week, I get to get back to hacking. I'll need to update my resume and portfolio, and maybe re-jig my website now that I know more or less what the fuck I'm doing. I don't really feel like a Graphic Designer anymore. Not sure if I ever did, but it's even more obvious after that stint in IT. I need to make a shirt that reads
"Human, Chaotic Good Illustrator 5/Programmer 4/Fighter 2"