This presumes that your dream dev job involves working at highly competitive startups (or forward thinking behemoths). If your dream job is writing code in the relative obscurity security of a huge, slow-moving company with great benefits and little risk of having to do anything meaningful, then this isn’t for you. If you want one of those, just put Ada on your resume, you’re a lock.

No, this is for those like me, who took that secure job coming out of college because it was a great job by parents’ standards. Unfortunately that meant spending my formative years in waterfall development, falling behind on the latest technologies and being bored beyond belief. Don’t worry, it doesn’t have to end like that. I don’t care if you’ve been there 6 months or 6 years, if you’re reading this article, it means you care enough to get out. Here’s how to do it.

  1. Find Companies That Select For Smarts, Not Stacks

    Smart companies know they can’t rely on finding developers that know their stack in and out, they’d be wasting precious resources reaching out to those folks. Instead, the better ROI is to search for really smart engineers that can adapt to whatever technology is thrown at them. There isn’t a really simple way of finding those companies, but you might be able to tease out that info with a little google stalking. Search for the founder or CEO on google with keywords like “hiring” or “finding talent”. Many founders are asked the question about finding talent and if you’re lucky you can learn a bit about their hiring philosophies.

  2. Show The Effort

    You need to show you’re dedicated to making the switch, that you’re trying to learn on your own in your spare time. You may not know the innards of enterprise web development, but you better know the basics of software design and computer science. If you can’t explain why the seemingly-simple Twitter is a scalability nightmare, or how you would go about implementing a basic web-crawler you need to read up.

    If you haven’t worked in web development much, well, you need to get a crash course. Pick a framework, any framework, and build something. It could be as simple as an application that allows you to write notes for yourself. The point isn’t to build a crazy app, the point is to start learning the pain points of web development, because there are certain problems that every developer faces. Problems like version control, automated testing, browser compatibility, url routing, database optimization, etc. Unless you can appreciate the problems (if not solve them) you can’t hope to convince a fellow dev to hire you.

  3. Push Your Adaptability

    Show that you can come up to speed quickly on new technologies. In your resume and cover letter, highlight the times that you’ve been able to adapt to a new codebase, a new team, a new tech. These abilities are as important as your ability to write a decent line of code, and they’re especially crucial when switching industries.

  4. Market Yourself

    Your resume is not enough. Update your LinkedIn profile, get some testimonials, join groups centered around web development. Get involved on sites like StackOverflow. Even if you’re answering a question about VBA.NET macros, it’ll show off your thought-process and your coding chops (you do have those right?).

    Once you’ve contributed, make sure your resume lists your LinkedIn or StackOverflow profile to make sure all of that hard work gets seen.

  5. Research, Research, Research

    It’s a long hard road to learn a whole new programming paradigm on the fly. Make sure the company you’re applying to excites you beyond the simple tech or you’ll risk getting burnt out. Does their vision align with yours? Don’t know? Get out there and read about the company, the founders, the current employees. If they’re a forward-thinking company, that information won’t be hard to find. If you find your eyes glazing over when you read about the founder’s vision, just think how much uninspiring that will seem when you’re knee-deep in code you barely grasp.

  6. Kill the Phone Screen

    Many companies, particularly the competitive companies you want to work for need to screen their applicants for a basic set of knowledge before they burn resources on an in-person interview. They’re not looking for brilliance, they’re looking to make sure you’re not an idiot. Check out Steve Yegge’s phone screen questions. This is a must read for any prospective developer. Now it’s likely that those particular questions won’t be asked, but those types of questions should not be hard. If you think you’d have trouble, it’s time to do a little more research.

  7. Prepare to Make an Impression

    Not only should you be able to ask intelligent questions about the company you’re looking to join, but you should be genuinely interested enough to ask them. If you don’t care about the direction the company is taking or the product development process implemented at the company, the company probably isn’t a great fit.

  8. Finally, The Interview

    Once you’ve gotten this far, you’re pretty much on your own, but I’ll leave one final piece of advice. Have fun. That’s right, you’re going to be asked lots of questions you probably can’t just BS your way through. You might struggle a little. You might even think you’re in way over your head. Just don’t give up. If you get the job, you’re going to be in that position a lot so have fun with it. Ask intelligent questions, try to find the best answer you can. I even went as far as to ask what the actual answer was once we were done. If you show you can tackle a difficult situation with fundamental knowledge, some grace, a bit of humor, and a whole lot of humble pie, you’ll probably fit right in.

That’s it. That’s how I went from a behemoth defense contractor to a web startup. If you have any questions or additional advice, drop it in the comments. And as always…

If you liked this one, follow along with RSS or Twitter!