Home
Editor's Picks |
|
Home
> Article
What Interviewers Are Tired Of...And What They're Looking For
Prepare yourself to interview for a job in Programming. A surprisingly large percentage of applicants can't perform basic tasks--find out how to stand out from the rest.
A surprisingly large fraction of applicants, even those with
masters' degrees and PhDs in computer science, fail during
interviews when asked to carry out basic programming tasks. For
example, I've personally interviewed graduates who can't answer
"Write a loop that counts from 1 to 10" or "What's the number
after F in hexadecimal?" Less trivially, I've interviewed many
candidates who can't use recursion to solve a real problem.
These are basic skills; anyone who lacks them probably hasn't
done much programming.
Speaking on behalf of software engineers who have to interview prospective new hires, I can safely say that we're tired of talking to candidates who can't program their way out of a paper bag. If you can successfully write a loop that goes from 1 to 10 in every language on your resume, can do simple arithmetic without a calculator, and can use recursion to solve a real problem, you're already ahead of the pack! What Interviewers Look ForAs Joel Spolsky wrote in his excellent essay "The Guerrilla Guide to Interviewing":1. Employers look for people who are Smart and Get Things DoneHow can employers tell who gets things done? They go on your past record. Hence: 2. Employers look for people who Have Already Done ThingsOr, as I was told once when I failed an interview: 3. You can't get a job doing something you haven't done before(I was interviewing at HAL Computers for a hardware design job, and they asked me to implement a four-bit adder. I'd designed lots of things using discrete logic, but I'd always let the CPU do the math, so I didn't know offhand. Then they asked me how to simulate a digital circuit quickly. I'd been using Verilog, so I talked about event simulation. The interviewer reminded me about RTL simulation, and then gently said the line I quoted above. I'll never forget it.) Finally, you may even find that 4. Employers Google your name to see what you've said and done What This Means For YouWhat the above boil down to is: if you want to get a job programming, you have to do some real programming on your own first, and you have to get a public reputation, however minor, as a programmer. Don't wait for your school to teach you how to design and program; they might never get around to it. College courses in programming are fine, probably even necessary, but most programming courses don't provide the kind of experience that real programming gives, and real employers look for real programming experience.But How Can I Get Experience Without a Job?If you're in college, and your school offers programming lab courses where you work on something seriously difficult for an entire term, take those courses. Good examples of this kind of course are
Whether or not you're in college, nothing is stopping you from contributing to an existing Open Source project. One good way to start is to add unit or regression tests; nearly all projects need them, but few projects have a good set of them, so your efforts will be greatly appreciated. I suggest starting by adding a conformance test to the Wine project. That's great because it gives you exposure to programming both in Linux and in Windows. Also, it's something that can be done without a huge investment of time; roughly 40 work hours should be enough for you to come up to speed, write a simple test, post it, address the feedback from the Wine developers, and repeat the last two steps until your code is accepted. One nice benefit of getting code into an Open Source project is that when prospective employers Google you, they'll see your code, and they'll see that it is in use by thousands of people, which is always good for your reputation. Quick Reality CheckIf you want a quick reality check as to whether you can Get Things Done, I recommend the practice rooms at topcoder.com. If you can complete one of their tasks in C++ or Java within an hour, and your solution actually passes all the system tests, you can definitely program your way out of paper bag!Dan Kegel is a Senior Engineer at Ixia Communications. This article appeared originally at http://www.kegel.com/academy/getting-hired.html from http://www.kegel.com/. |
More Related ArticlesSix Steps for First-Time Job Hunters Congratulations, you've done it! You made it through college, have your degree in hand and are finally ready to make your mark. Now what? Road Map for Long Distance Job Searches There are 3 major challenges you face when conducting a long distance job search. Interview Bias: Overcoming the Silent Forces Working Against You Biases can surround visible differences people have, like race, gender, or appearance, but can also include assumptions about you based on the way that you speak, your age, or any of the background information you have listed on your resume. Google Web Search Didn't see what you were looking for? powered by Google
|