I recently met a guy who was disenchanted with his work and was thinking about leaving the job he had worked at since he graduated 5 years ago. He didn’t know what the job market was like, and he had only landed one full-time job so he never got good at the job search-resume-interview-hire process.
I was glad to meet him because a) he was dissatisfied enough to take some action, and b) despite some rough presentation, there was some good technical meat on his resume. He was open to some advice I could give him that could help him big improvements in his career and personal happiness. In my book, that’s always a good way to spend a half hour.
Here’s a quick version of what I saw when I looked at his resume:
- 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)
Based on my first pass at the resume, I said:
- 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.
I recommended that:
- 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.
What’s the moral of the story? Why does advice that one stranger gave to another matter to you, the reader?
You might not be sending the message you think you are.
When he responded, he thanked me but was surprised at my evaluation of his Python, since he considers himself a Python programmer! I looked at his resume and saw one or two mentions of Python in 10 lines describing a 5 year job, so I figured he did that about 10% of the time. It turns out it was his primary tool for the last several years but his Python work could be described succinctly and his Java work took a lot of words to subscribe. (Insert your own programming language joke here).
So after he reworked his resume, the Python work is over half of the space for his main job listing. Now he very clearly looks like a Python/Django programmer with additional experience in the Java web stack, system administration, etc. Now he’s sending the message he wants people to hear. He’s much better positioned to get the kind of job he wants.
If you’re reading this and looking for a Python programmer that passes my filters for skills, humility, and initiative, contact me and I can put you in touch with him.