I get asked very frequently about the best route to take when looking to land that next big programming job, particularly when starting out. And while there isn't any one magic solution that will land you that first big pay day in a cozy cubicle, there are a few things that you can do to increase your overall odds. I've interviewed many developers during my career and continue to do so, and the following traits stand out to me more than then length of your resume.
You don't know everything, and that's fine
If you have 0-1 years of experience as a programmer of any kind, there is a very slim chance that you can be hired and start to dish out A+ code any time soon. Maybe a few will, sure. But for the most part, being a professional programmer involves knowing non-textbook concepts that you can only learn in a professional environment. You are not expected to be amazing at anything just yet. The quality of your HTML won't help you too much here.
The more you list on your resume that you aren't 100% on, the more questions you will be asked that you won't be able to answer. It takes time to learn any technology. Years sometimes. Gaining knowledge isn't a sprint, it's a marathon.
Learn from every interview
You are going to hear the same questions thrown at you over and over as you go through the interview process. The second time you get asked any question, you should have a better answer than the first one you gave. Every question that you get asked that you get wrong is another opportunity for you to learn something. As someone who hires developers for his own and other companies, I can say that confidence when giving any answer is important as it guides the conversation forward.
Body language plays a huge role in our day to day conversation. From the way that we make eye contact, or avoid it, to the way that our facial muscles move when we are dissatisfied. Pay attention to the reaction to your answers, as they could definitely show you areas of improvement.
Narrow your focus
I see resumes from people with 0 years of experience and they list themselves as "proficient" in a dozen programming languages and frameworks. Obviously, that isn't true, and it doesn't impress someone who's had to look at dozens of other resumes that week. Know what you know, and know what you don't know. A class in C++ does not qualify you as a C++ programmer.
Focus on the technology that you are more likely to be able to answer questions about. And if you aren't quite sure which one that is just yet, then for sure remove any that you for a fact know you can't answer a single question about. Those won't help one bit. If you are in a broader field, such as web development, then that make your narrow focus and list web development related technologies, such as UI/UX and accessibility.
You need many interviews
Particularly if you are new and starting out, you will need to attend a fair number of interviews in order to get that first offer letter. For a few reasons, but mainly that you are probably not the only person applying for that one position. Some people will have more experience and some will answer questions better than you can. That's just a given. And somewhere in that mix, you will find your match.
At a minimum you should be attending at least 2 interviews per week. And ideally, you should have around 3-4 per week to really move the needle at a decent pace. Some people think that 3-4 per week is alot, but as someone who has had to do that, I can assure you that it is possible and doesn't require as much work as you'd think.
Keep learning while you interview
Interviews take time and energy from your life. You'll be on the phone talking to recruiters and having video conferences attempting to solve tough programming riddles and this process could end up taking months. The "you" starting off on day 0, will be different than the one that has attended a dozen interviews on day 30. If you make it a point to keep your skills updated during that time, the day 30 you will be able to answer questions much more efficiently.
There is always something more to learn, even about things that you think you have a good understanding about. Don't take your "looking for a job" as a sign that you are adapt at it. The more you know, the more comfortable and confident you will appear, and that definitely plays a role when hiring.
Use your interview time wisely
Interviews aren't too long for the most part. On average you are looking at around 15 to 30 minutes of actual tech talk time, and it goes by surprisingly quick once you are in the hot seat. And there is always room for you to steer the conversation more towards your strengths and away from your weaknesses. Not that you should answer quickly, but many times, the longer your answers go on the more "um's" and "hm's" get generated that make it feel like you are reaching out into the ether for an answer.
Learn to answer technical questions concisely, but efficiently and to close out an answer on a positive note. Don't use words that are comfortable but self deprecating, such as 'kind of' and 'a little bit'. But learn to use words like 'knowledge of' and 'comfortable with'. You aren't an expert, but you are comfortable with the technology.
And if there is something that you don't know, then give your best possible 'I don't know' answer. You don't know it, but you are a quick learner and would definitely not mind working with it. Every answer should move the need up a notch.
And lastly, and more importantly, don't have any expectations when going to an interview. You don't know if the person on the other side is having a bad day or if they're going to make sure to ask you the toughest questions that they can muster. Certain things are out of your hand. All you can do is smile and answer to the best of your ability and continue moving forward.
Walter G. is a software engineer with over 10 years of professional experience. When he isn't blogging or being a CTO he enjoys coding randomly complex things that he hopes many people will get a chance to use one day.