Answer by Les Matheson:
In my job, I interview lots of programmers who are applying for work. I'm one of those people who torment programmers with coding problems during interviews.Here's a view that I think a lot of us programmer-torturers share: I don't really care what API's you know. I don't really care if you speak 18 coding languages, or whether you know SQL. There are two things that really, really matter when I interview a candidate:[a] Can they solve problems with code[b] Can they conduct intelligent and honest conversations about the code they're writing?[a] Is mostly about algorithms and problem solving. Some people, when given a coding problem, will whip right through it and make a couple of mistakes, but as they're working, they're talking, and often they catch the mistakes before I do. At the other end of the spectrum, I've suffered through looooong exercises in which it was clear that the candidate simply doesn't have enough coding experience to even get close to a working solution.There are people in the middle ground too, but where I work the bar is pretty high: about 4% of the candidates we talk to on the phone make it through the phone-screen coding exercise. Most simply can't work the problems with the efficiency we expect, and these are often *not* very difficult problems in terms of computer science.A "kick-ass" programmer is intelligent and has the ability to solve problems with code. This isn't about what languages or APIs you know — you can always google tools. It's about being able to formulate the steps and construct the data structures which are the core bread-and-butter of programming.All of the top-notch employers in this field are paying attention to that question: "how does this person solve problems with code." That's where you should focus your extra effort if you want to improve.And keep your resume < 2 pages. Nobody cares how many APIs you've used.