Going to interviews is tough. And interviewing people is tough too. You have maybe 20 minutes to decides if that person is the right fit, and if they can handle the workload that's been left behind by someone else, probably. I've conducted a fair number of interviews at past jobs, and out of all of them not a single person brought with them a sample of their work. All I had was a piece of paper that pretty much resembled everyone else's that walked through those doors. A list of programming languages and RDBMS's repeated at different jobs. Which it's why its so important that you create and maintain a portfolio of your work.
Particularly for jobs where it's a bit more difficult to showcase your work. If you're an English major, you bring in samples of your writing, if you're a programmer you can't very well bring in a for loop on a sheet of paper. That's just weird. But you can bring in a database diagram. You can bring in a network diagram or snapshots of websites you've worked on. Show me a registration page, and I can spend ten minutes asking you questions about it. Show up with nothing, and well, you're sort of leaving the entire thing up to me and whatever I decided to ask that day. Maybe I just so happen to ask about 10 questions that stump you because you don't do much of that on a day to day. But maybe you're an awesome developer that's built dozens of things that millions of people use, and I just won't know about it.
Personally, I take a portfolio with me at every interview, and its the first thing that I hand people. So because it's almost time for me to head back into those interviews once again, I'll run through a basic portfolio that I'll be making with samples of my work. It will follow the structure down below for the most part.
Table of Contents
- Work samples from Company 1
- Work samples from Company 2
- Personal work sample 1
- Personal work sample 2
- Future work
Show Your Work
We all heard that all through school. And it still applies in the work world. Don't just write down the answer, but show how you got there. If you worked on a website, highlight the parts that you worked on, without revealing too much of course, because confidentiality agreements, etc etc blah. But it gives the interviewer an idea of the type of work that you've done. The language used and the technology that was needed to run it are what really matter when being interviewed.
I normally show this blog when I go to interviews, with a few schema samples and screenshots. For example, this blog incorporates Angular.js on the home page, it uses Bootstrap and jQuery and makes use of various Web Services that I've had to build to run it. On the outside though, it looks just pretty much any other blog out there. And if I just said "I have a blog", then that's not telling of anything. Show the work.
- Web Services
- Custom CMS
More important than how many SQL reports you can pound out before a meeting, is what you work on in your spare time. If the answer is "nothing, what am I stupid" then you might have an issue. I've interviewed people who told me they hated programming and that they just did it for work. Not exactly the kind of person that I want to work with on a day to day. And on the other side of that I've worked with people who have tons of projects that they try to bring to life daily, and that's awesome.
So on the last post I showed how you can build a quick game using Crafty.js. It was one level, but it showed off various elements of a game engine. And that is something I can talk about during an interview.
Game Level Made Using Crafty.js
- Crafty.js game sample
- Collision detection
Keep It Updated
The more you bring with you, the more familiar the questions will be. Sometimes interviewers ask random and obscure questions about rarely used methods and such, and you'll hm and haw for half of it, and then leave feeling defeated. And that's because they have no idea what to ask alot of the time. When you're finished with a new project, add another page to your portfolio. Carry it to every interview and hand it down along with a handshake. After that interviews will start to feel more and more comfortable.
Walter Guevara is a software engineer, startup founder and currently teaches programming for a coding bootcamp. He is currently building things that don't yet exist.
Stay up to date. Get informed of the latest happenings in the development world.
Another solid bundle for developers!
Start at $1. Pay what you want and get up to 18 Ruby books for your collection.
If you buy something through a link, we may earn a commission