THE SITUATION
- Strong Linux admin and Java stack experience – he could get a job in that kind of shop no problem.
- Evidence of interest in other programming tools – he did a Rails project in 2005(!) for an internship and some Django projects at his main job. This showed awareness of new tech trends and willingness to use the best tool for the job, not just what he’s comfortable with.
- More emphasis on greenfield, new applications than maintaining or growing existing ones
- Both desktop and web development projects
- Capable of integrating other tools and systems as needs (credit card payments, WordPress, SMS, etc)
THE EVALUATION
- If he wanted to work in a medium-to-large, non-tech company environment, he had a great set of skills and should be gainfully employed in companies like that for a long time to come
- I did not think he was well positioned to switch to a Python or Ruby shop or a small startup because most places need someone who can contribute immediately without a lot of training or supervision, and it didn’t look like he had a lot of experience with those. Some, but not enough to hit the ground running
- Smart and fast growing companies larger than a certain size (say 10 devs) could be a possibility because hiring fast is hard and they need a broad skill set and a fast learner. He appeared to be those things.
THE ADVICE
- You might think you’d be happier somewhere else, but bouncing jobs doesn’t always work. I’ve worked at 6 places since I graduated in 2005 and Groupon is the first place I’ve really, really loved. Don’t expect to get it right on the first try, but don’t be afraid to try!
- Work is a huge part of your life, so it’s worth researching companies beforehand to give yourself a better chance of landing the best job. Find and meet people that work there, visit the office, interact with the blogs/twitter of the people that work there, go to meetups they attend, find connections on LinkedIn, etc. Also try to meet former employees.
- Bonus tip: if you do those things, then when you apply, you’re no longer a resume, you’re a real person
- Having a web presence can give a perspective employer a more complete impression of you than can fit on a resume. How you think, how you write, what you’re interested in, etc. Public projects, OSS contributions, etc set you apart from most applicants and turn you from a flat resume into a real person. They are indisputable proof that you can produce things and are engaged in software as more than just a job.
- Tactical tip – name your resume something like “Resume – Jake Nelson.doc” – it makes the hiring person’s job easier and cuts down the chance that your info gets misplaced.
- Take a long think about where you want to live. This guy had worked in the same region where he went to school, a couple hours outside a major metro area. Smaller places like that have benefits, but there’s also a lot to gain by moving. You enter a bigger and richer job market and it gives you a chance to reinvent your outlook on life.
- He was in the Eastern US, so I recommended looking into New York City. For every ten articles I see about how hard it is to hire good developers, 8 of them are about NYC. There have been several Hacker News threads about hiring in NY and how good developers are getting multiple offers. Etsy, Foursquare, Gilt Group, etc are all growing fast.
- Once you find a place you want to work, don’t worry if you don’t feel qualified to work there:
- If you take the advice I listed above about getting to know a company, you’ll be a much more attractive candidate and you’ll have an idea beforehand if they would consider you
- Getting a great job is a discontinuous event in your life. If you can land an awesome that you’re barely qualified for there, then a year or two of working at that job will teach you enough that you’ll be in the same league as the rest of your coworkers. If you sneak into a job at Facebook, then after a year, you’re a Facebook Developer. Ditto for Google, Twitter, Groupon, Foursquare, etc. Those opportunities can change your career trajectory for years to come.