Do I stay in the position I'm in, where I've been promised an significantly better environment but haven't seen anything realized yet; or do I get a new job which may not be quite as fantastic but is what I actually want to be doing?
I am a software developer who for the last five or so years has been a Ruby developer, primarily working in Rails. I've been in environments which are quasi-/proto-Agile, in particular integrating extreme programming concepts, but for at least three years I've been really wanting to get into a company that does Agile development in a serious, effective, wholly integrated way. I'm kind of aching for it to be honest, after working in so many dysfunctional environments for so much of my career.
Last year, when I was in the middle of a job search, a friend of mine put me in touch with his colleague--someone I have very high regard for--who was creating a new subsidiary of a bigger company. Let's call him Bob. Bob's new subsidiary would be focusing on Agile development. The fantastic part was that, because the parent company is in my city, it was inevitable (I was told) that one of the first places the subsidiary would set up is in my city, which I don't want to leave.
Bob and I got together a few times and he told me about his plan to start the branch in my city in four or five months. Needless to say, I was super excited: he wanted to bring me in, I wanted to work with him, things were looking like they were going to all click together in an awesome way.
I got a job offer from another company a few weeks after my first meeting with him, and so I was between a rock and a hard place (let's just say that I didn't have employment at the time, which is more or less true). I let him know that I had to make a decision, pretty much immediately. He was straight with me: there wasn't a job doing what I wanted to do at the time, but...the parent company had some open positions, so he could drop me in there for the time being, and bring me over to the subsidiary as soon as that was set up.
The parent company does mostly PHP stuff, in a completely non-Agile way. I don't intend to start any flamewars with this but let us just say that I had a stint doing PHP development for about four years, and I made a solid decision to not do it again for a variety of reasons. More to the point, the development team at this parent company was not Agile, the management doesn't understand development (Agile or not!), etc. Point is, it was NOT where I wanted to be.
So I was not super excited about this, but I thought, "hey, I'll be doing Rails development on an Agile team with one of the best soon, so I can swing it for four or five months, if it's just short term." Better yet, it turned out that there was a tiny, wee bit of Ruby work to be done, so I wouldn't be stuck doing PHP the whole time.
Flash forward to 10 months later.
I'm still in the same spot. Nothing has changed, and I've actually started to do more and more PHP work because...the Ruby well has run dry. The team continues to be a mess, exhibiting all of the behavior of a dysfunctional engineering team working under management who don't understand development.
Every time I talk to Bob, when he drops into the parent company's city, he says, "yeah, we're working through a bunch of stuff we have to deal with, we just don't have the ability to set up a team in your city yet, I'm sorry. Real Soon Now."
I haven't received responses to the last four emails I've sent him.
In the meantime, I've let a few opportunities fly by. The job I turned down was not extremely Agile, but it would have taught me a lot about distributed programming, I would have been surrounded by programmers who are better than me, and I would have been paid better ta boot. It looked really nice, but this company was a better fit at the time (or so I thought).
Another guy I've gotten to be friends with through a colleague here recently has suggested I apply to his Rails shop, where they are doing TDD, continuous integration, daily standups, etc...
I'm hesistant to apply to anything because I still trust Bob a lot. I *know* he's not jerking me around, but I've just drifted to the bottom of a list that is insanely long, and before dealing with me he has to deal with the shit it takes to get a business running. He's transparent with me, which is good. And if and when this happens, it really will put me in an amazing position.
But I'm getting really frustrated. I work with engineers who have vastly different philosophies than mine (if they have philosophies at all). My Rails skills are stagnating. I write TDD code to find that it's been broken by the next person working on my code, because they...just don't give a fuck. And there's no technical leadership on the team. I've tried gently to push people in my direction of thinking but I don't want to be "that guy" (I already kind of feel like I am).
Just now (what kind of sparked this post), I found what looks like an amazing Agile RoR job about a 20-minute commute from where I live. I'm really tempted to apply, as it seems likely I would be a great fit, and developers are in pretty high demand.
People, what should I do? How long do I stick it out? Or should I stop hoping for something that would be incredible, if it happens, in order to keep my career afloat in the here and now? What happens if I'm at this place for another year? I think I will shoot myself.
Thanks for reading.