When I was leaving my first real-world job, one of the things that amused me most was that people didn't get that I was leaving on account of the company, not on account of my project or my boss. Several managers approached me after I'd handed in my notice to ask if I wanted to join their group and all seemed surprised that I turned them down. The thing is, I had a far better deal on the table.
It came about almost by accident, much as the first job did. During an email exchange with JoeV I jokingly asked if there were any jobs going with his employer. He told me to send in my CV. Next thing I know they've interviewed me twice in one day, made me a job offer and I'm moving to Dublin.
The company was pretty small when I joined, and I was hired more-or-less on the basis of them wanting to get me on board without knowing exactly where to put me. So for a while I was the company's Internet department, and I learned how to hate Java with a vengeance. I also reverse-engineered things, and relearned a lot of DCL, bringing back memories of college and late nights spent doing stupid things on the VAX.
The company grew quickly, and I got sent to Singapore and Australia on what were effectively sales trips. But much and all as we demoed the code I was working on (a Java client for the company's flagship product) it never quite felt like we were doing much more than marking time until the in-some-sense-competing Windows client was ready to roll. We were constantly being hamstrung by Java's failings anyway, so I guess it was just as well.
I got to interview, hire and manage people in this job, and that was a mixed bag; in particular an unpleasant episode where two people I recommended against hiring ended up being hired as part of my group and, not to say "I told you so" but basically didn't pull their weight and caused a whole lot of grief in the process. The situation wasn't helped by our manager taking a hands-off approach to the whole thing long past the point where she should have stepped in and sorted it out.
The other major fault of the company's growth was simply the failure to change the management structure. The CEO hired an MD, who hired a few more upper management types, including one guy who came in to do something or other with our development process and sang us all a cheery song about how the Waterfall development model was going to solve all our problems. Those of us with software engineering experience and/or basic computer science degrees sniggered knowingly until we discovered he was serious. And it wasn't even the slightly more useful version of the model where you can incorporate feedback in the early phases of a project; no, it was the original top-to-bottom waterfall. That got seriously unfunny very, very quickly. Of course, the whole thing was undermined by the CEO then setting off on entirely separate projects from those that'd been approved, for which he would steal staff and resources from the approved projects thus ensuring everything got messed up.
Process Development Guy also accused me of being unprofessional when I had a poorly-timed bout of food poisoning. After some discussion with Human Resources, he very reluctantly apologised. Which I insisted he do in front of the same people who'd heard him make the original accusation. I considered going back to Human Resources to tell them that he hadn't apologised - because he hadn't; he pretty much accused me of pulling a fast one on him by "getting away" with being sick. But I'd gotten my payback, and I got kudos for that from everyone who watched him apologise. Pursuing it any further would just have been petty.
In the end, though, I ran into the same sort of mental space as I did in Motorola; I felt I was putting a whole lot of time and effort into a project that was going nowhere, and there was nothing I could do to change that. The final straw was when they put someone with no interest in my project ever seeing the light of day directly in charge of me.
And so I quit.
Random moments from the job: