I landed my first programming internship the summer of my sophomore year of college through a combination of dumb luck, an interesting portfolio, being able to speak business rather than just “nerd”, and a spectacularly bad technical interview. I still remember how nervous I felt walking into the in-person interviews, the hot shame I felt when I failed to answer a pretty simple technical question, and the shock of surprise when I was hired. Looking back is always 20/20 so I thought I would share with you three things that I think landed me that first summer internship way back in 2010:
Have a portfolio of side projects
The ‘formal education’ section of my resume was hardly stunning at the time and it didn’t need to be. The section contained less than 5 computer science classes (I didn’t even have a CS minor yet) and my GPA was barely above a 3.0 after a lackluster academic performance through the wrestling season.
Luckily I had a bit of an ace up my sleeve in the form of the up and coming iPhone SDK. After it appeared less than a year earlier I spent $600 to buy a used macbook and iPod touch and after cutting my teeth on it for 8 months my apps had been installed over 100,000 times worldwide. The number of downloads didn’t matter as much as the fact that I could talk through how I learned a cutting edge technology that could theoretically drive up revenue for my potential employer and had a portfolio of published projects.
Don’t talk about programming with a non technical interviewer
This is a big mistake a lot of programmers and freelancers make. Managers and business people don’t care about technical implementations, the awesome new technology under the hood, or whether you have any technical chops. The key when talking with non technical people considering you for gigs is to figure out the metric that drives their business forward, show genuine interest in it and convince them that you have the relevant skills and tenacity to push that number higher.
During my first non technical interview I was lucky that the manager interviewing me steered our conversation towards my app store experience and volunteered that he was in charge of A/B testing and analytics for intuit.com. After that we had a wonderful conversation about analytics that made perfect sense to both of us, was very intellectually engaging and avoided the conversation of my technical prowess altogether. He wrote my name down during that interview and I was on his team a couple months later.
Don’t sweat the technical interviews
If you are applying for an internship or an entry level position don’t sweat the technical interviews too much. Of course the more knowledge you have the better but what’s more important is that your problem solving mindset and interest in perfecting your skills bleeds through to the interviewer.
My first technical interview went about as badly as humanly possible. I was asked a word problem about how to write a recursive algorithm for calculating the fibonacci sequence. It wasn’t plainly labeled as “Write a recursive fibonacci algorithm”, I didn’t recognize it, I didn’t talk through my process, and I was so nervous that I actually forgot a base case…which was pretty humiliating. Do exactly the opposite of what I did. Talk through your thought process (even if you aren’t sure), ask questions of the interviewer if you get stuck and don’t sweat it.
If that doesn’t work see the second section above and double down on it.