Getting a software developer job

August 19, 2013

The interview process isn't the most fun thing in the world. There are emails to send, appointments to schedule, aggressive recruiters to deal with, and technical questions to answer. After about a month of this, I've finally finished this round of interviews and accepted an offer. The last time I went through this was last year, when I was looking for a job after graduation. Compared to last time, the job search process this time was much easier. Why? Because I have a year of real experience now. Companies that previously ignored my applications now actually reach out to me directly. Crazy, right?

How much of a difference does a year of experience actually make? Last year, this was the status of my job applications:

2012 Job Statuses

As you can see, the vast majority of companies that I applied to simply ignored me, for various reasons. Maybe my two internships weren't enough. Maybe I didn't have the relevant skills. Maybe I shouldn't have used Cornell Career net and just applied directly. Who knows. 

2012 Job Sources

This chart shows where I found the jobs. The majority were from Cornell, either from meeting the company at a career fair or by using the career portal. Back then, I didn't know much about the job market so I had to rely on my school to tell me about it. Towards the end of the job search I also used other sources like the Github jobs board. 5% of the jobs I applied for were inbound, coming from recruiters on LinkedIn.

Looking at 2013

2013 Job Sources

After being in the industry for a year, I didn't need career services anymore. The majority of my jobs came from places like Hacker News, Stack Overflow, and other developer job boards (I also looked on GitHub but didn't find anything relevant. And yes, I applied for a job I saw on Reddit). The other change is that a large percentage of my jobs were inbound, mostly from recruiters stalking me on LinkedIn. 7% came from recruiters on Dice. Just a tip for job seekers: Don't put your resume on Dice unless you're desperate. I put my resume on there for a few days to see what would happen, and within 3 hours of posting it, I received 9 calls from recruiters. Most of the jobs that these recruiters were offering were either not relevant at all or were simply not interesting to me.

2013 Job Statuses

This time, most jobs responded to me. Even in the no response category, some of the companies talked to me once and then never responded back. Very few of my applications actually disappeared into the black hole of HR. Half of the companies that I applied to rejected me. This doesn't seem very good, but that was because I simply talked to more companies. Many of the rejections were a result of me lacking experience in what they were looking for, like senior Rails or .NET experience. I also declined more jobs this time than last, because I wanted to look for a great fit.

Here are some more charts of my job search this year, because I like data visualization.

2013 Position 2013 Companies

These are the positions I applied for, and the companies I applied at. I don't have data on the positions or companies from last year, but I remember just applying to anything remotely related to software, from any company in the NYC area. This time I generally preferred web development and python/ruby jobs at startups.

Interview Experiences

By far the worst interview experience I had was at a company that I thought I loved and I used a lot. When I talked with the recruiter there, she said that there would be a python quiz first. Sure, I said, that should be fine. She sent it over, and it turned out to be a 30 question multiple choice quiz on various python trivia - questions about functions that I, after writing Python for a year, had not once used. I grew more and more frustrated as the questions went on, and by the end I was literally just picking C every time so I could end it. What purpose does this quiz actually serve? If I was at work and really needed to know the details of some_function_that_nobody_really_uses(), I can look that up instantly. Why are you screening for people who know trivia? If you really wanted to test the candidate's knowledge of a language, have them build something in a few hours. I've done that for 2-3 companies and had a great experience every time. This isn't high school anymore, multiple choice quizzes shouldn't exist in an interview process.

On the other hand, I've had plenty of good experiences. At one large tech company I was given a laptop for 3 hours and had to write some code, and at the end, I played Smash with some the employees. At another company, I was switching interview rooms and went into one that had two whole boxes of Vietnamese food, freshly delivered, that nobody had claimed. My interviewer just told me to take whatever I wanted. And so I had a curry chicken sandwich, and took some spring rolls to go. Finally, I had one company that had me do a take home exercise, which I used to try out Bootstrap 3.


For job seekers

Having real, relevant experience obviously helps open doors. Once the door is open though, it's still up to you to show that you're capable. Don't be afraid of job requirements; even if the position is a senior one requiring 5 years of experience and you only have 1, it might work out. Talk to a lot of companies. If it looked like I applied to a lot of jobs, I did, because I didn't really know what direction I wanted to go in, because I needed interview practice, and because I got exposure to many different types of places and people. Interviewing is as much you interviewing the company as it is them interviewing you.

For employers

Don't use multiple choice quizzes to screen candidates. Nobody likes that shit.