I’ve been in IT headhunting for a while, and that has undoubtedly offered me many opportunities to meet with many seasoned developers, owners of tech businesses, and of course tech hiring managers.
Some of them have become my close pals over the years and I get to pick their brains frequently on the many questions developers are always asking, especially the newbies. I recently got the chance to discuss what they look for in a developer at an interview.
Many software developers, fresh out of college and even seasoned ones will likely be faced with the interview hurdle at one point in their careers and will undoubtedly want to ace it to land the job they applied for. Because programming is a skill-applying area, multifaceted, and competitive, hiring managers and employers are usually looking for the best talent they can find, even at entry-level. Sometimes, these conditions make many of these tech interviews a bit tough.
The fact that interviewers have only a few hours to evaluate so many candidates, makes it sometimes difficult to wow or catch their attention. Still, knowing what your interviewer likely wants can go a long way.
You may have heard some of the tips I'm going to share. Some may even seem like a cliche but trust me when I say many software developers have gone into interviews without properly preparing for them. That said, allow me to bring you up to speed on what employers look out for in developer interviews.
When I said you may have heard some of the tips in this article, does this first one sound like something you've heard before and perhaps shouldn't be an issue? Trust me, I've seen many candidates arrive for an interview one hour late and with no tangible excuse. While some people are natural "early birds," others don't have it in them.
So they'll need to a conscious effort to arrive extra early. There's no point beating about the bush, employers expect a potential employee to arrive early or at least on time for an interview. It's that simple and not too much to ask. Besides, it will be expected of you to come in early even after you get the job, so punctuality isn't just an interview-exclusive expectation.
Why don't you want to arrive late for a tech interview? You stand the risk of being seen as unserious, unprofessional, don't care about others, can't be a team player, unable to manage time, and perhaps unreliable. Sounds like an over-kill for just arriving late? Well, the interviewer doesn't know you and that's one of the reasons for the interview in the first place.
They don't know if coming late is just a one-time thing or a regular thing for you, so technically you are pointing a loaded gun in your face. The first impression is sometimes everything because you might not get the same chance to make it right.
When you are planning for your interview, don't plan to show up in time, you may arrive late as you don't control the weather, traffic, and many other unforeseen scenarios. Therefore, plan to get to the venue extra early, especially if you live far away. You have probably not been to the venue before, so going to check out the place a day or two before the interview is not a bad idea as some address codes can be funny. The GPS says you are there, but you just can't see your destination. Account for everything, dress-up time, in-transit time, locating the company, your exact interview spot, etc. Trust me some companies can be so big it might take more than a second to get to an office within the same premises.
I added this one for the newbies i.e., fresh-out-of-college or junior developers because I know tech interviews can sometimes take a trip to the past. While you have armed yourself with a couple of programming languages, a few mini projects to brag about, don't be surprised that the interview has a couple of questions centered around the basics.
If you are a newbie, an interview isn't probably expecting much from you in the area of impressive projects. If you have them, that's a huge bonus, and will likely give you an edge over other entry-level developers that don't have any. Still, you might not escape proving your understanding of the fundamentals of programming, so you'll do well to prepare for them.
Brush up your old college notes, programming assignments, and final thesis. One thing about understanding the basics or fundamentals of computer science is that you can scale up or scale down without causing too many errors. So tech hiring managers want to know if you understand these well enough. A manager once told me that the final thesis is one of the things he asks fresh out of college developers.
Even if you are a self-taught developer, the basics are something you don't want to ignore. Tech companies know lots of people are jumping on the IT train, and it's not a bad thing to be self-taught or be a product of coding camps or free online courses. But employers will be interested in being sure you know what you are doing or are you are only a developer that learned per project or on the go.
Yes, I know you have been waiting for this one. It's one of the main focus for most software developers, especially growing developers that are hungry for advancement. Some interviews involve just talking about the programming language you have learned and how you have applied them.
However, because the programmer's job is a skill-applying one, recruiters sometimes don't want people they will have to train from next to scratch level. The need to hire talents that already know what they are doing becomes necessary. This is where puzzles and whiteboarding come into play at interview sessions.
I cannot overemphasize this one. Whether you are applying for a juicy job position in a large tech firm or are expecting a client to entrust you with the responsibility of turning his tech/app idea to the software market, the projects you have worked on are one of the major things that will speak for you. Let’s look at the various projects.
Personal/side projects:
Without mincing words, It doesn’t matter whether you are a new graduate or a veteran programmer, personal projects are a must. As a new graduate, you’ll probably have those weird coding assignments, final, thesis, coding competition work, basic game design, all showing your drive and level of competence.
For self-taught or budding programmers, it's possible you have not gotten that big break you are looking for, hence there's no major work experience or past client's work you executed. However, nothing should stop a passionate programmer from having a couple of projects to show his drive, interest, and level of competence in applying their acquired hard skills.
For example, a front-end web developer can showcase a revamped work of a popular website like Google, Facebook, etc. This way, you are telling anyone interviewing you how busy you have been
Major/paid projects.
Not every programmer will have this one. Veterans or seasoned programmers are usually expected to have a vast number of projects to brag about. You could be a solo programmer or working for a large tech company, major projects will tell an interviewing employer or a client that wants to bankroll a software development project you have what it takes.
1. A programmer’s portfolio.
In a competitive tech business world, It's now no longer not enough to tell a potential employer you have competency in Python, HTML, Java, or other programming languages without showing how you have applied those skills. It might be okay to do so on a one-page resume, but when you are coming to your tech interview, make sure you don't bring a knife to a gunfight.
It's better to show than tell. In this regard, you should be ready with a programmer's portfolio, which is a website programmers use to comprehensively tells employers and other programmers about your programming exploits. Whether you are showing side projects, past academic course works, major gigs, a programmer's online portfolio will help you showcase it better.
2. GitHub Portfolio.
This tip is more like a sequel to the immediate one above. As I said, a programmer's portfolio is essential. However, it's one thing to build a website that showcases all your programming skills and protects, it's another thing to be part of an open-source code community. GitHub is a hosting service that accommodates remote Github repositories.
Beyond just showcasing your work for recruiters to evaluate your competence for a job position, GitHub allows you to host your repositories, manage them, contribute to a community of open source code, and also share your written codes with others. This way, you can get free, useful contributions for your project that can lead to quick improvements you may ordinarily require significant time to crack by yourself.
A public space like GitHub has helped many programmers do away with the impostor syndrome. What's more, many recruitment managers have said they were more impressed and convinced by a candidate's work maintained on a public platform like GitHub. The great this is that GitHub is free, so you don't have anything stopping you from taking advantage of it.
3. You soft skills
Beyond your ability to code and apply your coding skills, employers also look out for non-tech or soft skills. I mentioned some of them earlier, such as the ability to think quickly, solve problems, and be a team player.
Employers also look out for your ability to communicate your technical languages effectively with others, hold conversations about your work or even teach others. These are basic skills needed to thrive among colleagues in the workplace.
Yes, some developers are amazingly gifted but do less talking as I've met some near autistic impressive talents. So, sometimes these soft skills tests are not necessarily meant to eliminate you, but to determine where your potentials will be maximally utilized.
However, if you are interviewing for a senior developer or a team lead role, employers want to know if you can guide a team. It's not uncommon for some developers to be impressive at programming, but when it comes to managing a teams/work operation, it becomes a case of walking in a minefield.
4. Body languages & Attitude.
Non-tech interviewers or general HR persons also look out for basic body language and attitude that'll help them determine if you are a good fit for the job or the company's culture. Your presence should not be intimidating or appear dismissive while in a discussion with your interviewer. It could raise red flags.
Other negative body language like avoiding eye contact, bouncing your knee, sweating while answering questions can be attributed to nervousness. Still, you can eliminate them with adequate preparation as negative body language could make some interview chose another candidate with a similar profile and no negative body language. Examples of ways to eliminate nervousness and other body language include