So I'm leaving another company today.
It's ok, everyone knows.
This is probably the first time I've left an employer with, on balance, positive feelings. I don't think there's anything here I'm glad to be getting away from, unlike last time. I mean, you know, all the usual complaints that apply to any less-than-10-man shop, but nothing that actually prevented me from enjoying damn-near all of it. We made our best effort at avoiding the classic Agile tar-pit, we put together the best practices we could, including source-control, bug-tracking and project wikis. We used tools appropriate to the situation, and tried to solve problems in scalable, reliable and secure ways. If there was anyone other than me there who knew Common Lisp and Python, we'd have done extensive code-reviews too.
We didn't GPL any of our code, which always disappointed me, because it meant that I
- couldn't get an outside opinion without collecting NDAs, which I don't like doing
- won't be able to reasonably work on the projects any more after I leave
That's in addition to the usual argument about how sufficiently interesting projects are just plain better off becoming open source, so that they can leverage as many developers as they can attract, rather than merely as many as their owners can pay for. There's a threshold at which the first number is so much larger than the second that it really doesn't make sense to keep secrets, and I think at least two of the projects I shepherded could cross it given the chance. Such is life, I suppose.
The new place is going to offer some serious challenges. Starting with, I'm sure, a week or two of severe culture-shock. You see, I've never actually worked at a company with more than about 200 employees. I mean, my employers have contracted for various bureaucracies, ranging from multi-national food chains, to hardware suppliers, to actual governments, but I've always been the visiting contractor or IT consultant. I'm not sure I'll like it, but I'll try almost anything once.
The work will be different. Instead of a bunch of projects, we have The Project, and from what I understand it's a fairly ambitious piece of R&D/prototyping work that has a good chance of changing the world by end of next year. In a good way, I think. The other really big draw for me is that I get to work with people who are, by my reckoning, much more skillful developers than I am. It's been a really long time since I've done that, and I wasn't far enough along my learning process that I could take advantage of it last time.
I've been told not to worry about the culture, and that the biggest challenge will be learning about systems and techniques. Which is not a problem, as you know if you've met me.
"Learning things" is my default state.