When I finally decided to look for another job, I aimed high. My brother-in-law put my resume in for Google, even though without a degree I figured I'd never get in there. I did it mostly for the interviewing experience, which is a very good thing to do. Interviews (phone or in-person) are tough and the more experience you have, the more relaxed you'll be. I put my resume in to LinkedIn, Yahoo, Netflix, Zynga, Salesforce; a bunch of places I knew had strong engineering groups where they use Java and where I would learn a lot. Not having a degree hurt more than I thought it would. I thought in 2010 we were past everybody having to have a degree but I didn't even get a call back from a lot of places, even with a number of years of experience. I ended up having phone interviews with a couple of places and moved on to 2nd level interviews with 1 or 2 I think.
My main problem I think was lack of breadth of experience. I have 10+ years programming, mostly in Perl. I've spent the last 3 or 4 years doing Java but at an insurance company doing internal applications and integration work. Most of it is various flavors of "Take data from System X or File Y, put the data in System A or write it to File B". It's been fun and I've certainly learned a lot, but not about a ton of different things. A lot of people wanted specific experience with Spring or Hibernate or whatnot and learning on the job doesn't really fit the bill. Learning on the job is mostly how I've learned and while I think I've been very successful doing that, it does leave gaps in your knowledge where you haven't had to use some specific technology and it does take time. I set out to fill in the gaps as much as I could, going through videos on algorithms from ArsDigita University (highly recommended) to reading more books. But in the end, I knew I just wasn't up to the Senior level most companies seem to be looking for. That's another question I had, how can companies only hire senior people? Don't most places need or want people at the middle level? People who can get the job done but just don't have the experience aren't given much opportunity at big tech companies it seems.
During the early stages of my search, I had applied to a company in San Diego called Awarepoint who were doing very cool things with wireless networks and Java. I grew up in San Diego so this seemed perfect. When I actually got my resume together for them, the position was closed. I was disappointed for sure. A few months went by and I looked through a Who's Hiring? post on Hacker News where people just posted positions they were looking to fill. I searched for Java and lo-and-behold there was a post by Awarepoint! I was prepared this time and sent my resume immediately. The poster was a member of the engineering team. We talked on the phone and he set me up with more phone interviews with various people. A little while later, they actually flew me out to San Diego for a day of in-person interviews. This would be a pretty big move so I interviewed them as much as they did me. I got a really great feeling from the team and pretty much knew this would be a great fit for me. They were looking for a mid-level person and with my limited experience, I know I'm a strong mid-level guy at this point. Being honest with myself about that really helped me understand that I wasn't going to get some of those Senior positions and take some of the sting out of those rejections.
I knew I wanted to work there and I got the feeling they wanted me to come on board. I got very excited about the possibility of moving back to San Diego and working for this great company. For various reasons, my position in limbo where they kept saying they wanted to hire me but couldn't actually make it happen lasted awhile. I knew I'd be moving if they made an offer but couldn't tell my current boss in case it didn't go through. This was a pretty stressful time. I got further word from Awarepoint that they wouldn't be able to give me a firm answer for maybe a couple of months. I felt strongly enough about them that I was fine with waiting. Plus I was supposed to be running a huge project at the current job and felt better about getting that going before leaving since I was given the chance.
In the end, they were able to make me an offer after a month or so and I accepted immediately. I'm incredibly excited to be able to join such a great company (they were just named #1 Best Place To Work in Healthcare) who is doing really cutting edge stuff. The product also makes a real difference in hospitals and could very easily save lives, literally.
So in the end, the road to this job included the Java Posse Roundup where I first started thinking about a new job, the Hacker News community, this blog, and my writing on AgileSoftwareDevelopment.com (which I got because of this blog and Twitter).
I haven't been writing here for awhile because the stuff I wanted to write about was my job hunting experiences but while I still had my old job I couldn't exactly do that. Now that I'm moving on, I'll be writing more.