Home Blog Trends How to Hire a C++ Developer: “What I Want to See Is How the Candidate Thinks and How They Approach Problem Solving”

How to Hire a C++ Developer: “What I Want to See Is How the Candidate Thinks and How They Approach Problem Solving”

Author Daxx Team
Posted Jun 12, 2017
Trends

In his 20-year-long career in software design, engineering, and management, Andriy Syrovenko has developed a wide and varied range of skills. His interests include database management systems, information and network security, parallel computing, network technologies, VoIP, billing systems, virtualization, and much more.


As a Team Lead and Senior C++ Developer, Andriy frequently conducts job interviews. We’ve asked him to describe his process for interviewing C++ engineers, and here’s what he shared:

When I think back to how I conducted interviews twelve years ago, I can’t help but wince. Those talks were chock-full of standard C++ developer interview questions that I’d use over and over again with a single purpose — to demonstrate my superiority to the candidate.

These days, I no longer have any kind of set-in-stone interview routine. The questions I ask depend heavily on the project for which I need to hire a C++ developer.

The most basic technical task I give C++ candidates is to describe, in their own words, what a pointer is. 

Whether I’m talking to a senior C++ developer or a junior candidate, I like to start with the basics. I’ve met engineers with over 10 years of experience whose beginner-level knowledge had rusted simply because they hadn’t had the chance to use it in their projects. If you spend years working with high-level libraries, it’s hardly surprising that you don’t remember the low-level C programming that any good C++ developer is generally expected to know. So I want to be extra sure the candidate I’m interviewing understands what C is all about.

The most basic technical task I give C++ candidates is to describe, in their own words, what a pointer is. This is a very primitive question, but it allows me to understand how the candidate views the language, and how well they understand the basics of C++ development. It’s also universal: any C++ developer, regardless of their level of experience, should be able to answer it.

offshore-developer-rates

Offshore Developer Rates Guide

Get outsourcing rates in Eastern Europe, Asia, Latin America, Africa as well as tips on how to choose the country for offshore development.

What I want to see is how the candidate thinks and how they approach problem solving.

Sometimes I ask candidates to explain the difference between big-endian and little-endian architecture. Usually, when asked about such things, candidates start describing real life examples and difficulties they’ve encountered in their own work. This information allows me to judge how versatile and in-depth their experience is.

I also love to task candidates with logic problems relating to programming. For example, I could lay out a generic problem that is usually solved using the classic merge sort algorithm. Some people instantly recognize it and go straight to explaining how it works.

Over time, I’ve come to the conclusion that the one type of candidate I’m definitely not looking for is a multipurpose developer. 

However, this algorithm — although relevant to my current project — isn’t especially widespread, so most people don’t know anything about it and request some time to think it over. Some can work it out pretty fast, while others start suggesting wrong solutions. Either way, we discuss their answers together. This stage can take anywhere between five and twenty minutes. I’m not necessarily interested in the right answer here. What I want to see is how the candidate thinks and how they approach problem solving.

I know most articles on the subject of tech interviewing tell you to organize live coding sessions, but I consider this practice a waste of time. 

Over time, I’ve come to the conclusion that the one type of candidate I’m definitely not looking for is a multipurpose developer. These people are very rare, and if you do find one, you’ll soon realize that they’re too conceited and lazy for their own good. Having someone like that on a team is highly ineffective, so it’s a much better idea to hire someone whose skillset isn’t quite as varied, but who’s ready to learn fast and will approach their job with diligence.

Don’t miss the best articles! Subscribe to Blog Digest Subscribe to Blog Digest

If I decided to meet a candidate in person, it’s safe to assume that their resume caught my eye and they’re likely to be a good fit. The goal of the interview is to either prove or disprove this assumption. This is what it all boils down to.

Another type of candidates you want to avoid are developers who read their way through every new trend and try to implement it in their work immediately. From my experience, these candidates tend to feel very smug about how forward-thinking they are, but what they often miss is that business doesn’t care about using advanced technology for the sake of it, business cares about making money.

I know most articles on the subject of tech interviewing tell you to organize live coding sessions, but I consider this practice a waste of time. How should you check the code quality then? That’s what the trial period is for.

To conclude, here’s what I think about interviews: if I decided to meet a candidate in person, it’s safe to assume that their resume caught my eye and they’re likely to be a good fit. The goal of the interview is to either prove or disprove this assumption. This is what it all boils down to.

name

Daxx Team

Daxx Team is a team of passionate creative writers, content marketers, designers who vigorously research internet as well as cooperate with developers and Managing Director at Daxx to provide you with the top-notch material about tech, salary trends, development team hiring and management tips as well as up-to-date information about Ukrainian IT outsourcing market.

Share this article

Read also

Blog
Trends

Why IT Staff Augmentation Is the Answer to Your Next Project

IT staff augmentation is an outsourcing strategy in which vendors recruit offshore tech talent for businesses in an on-demand fashion. Learn how IT staff augmentation can ease recruitment, cut costs, and add flexibility to your next IT project....

Author Juliya Mankovskaya
Posted Dec 05, 2019
Blog
Trends

7 Top Tourism & Travel Startups in the Netherlands That Will Become Your Travel Buddies

The overview of the best tourism and travel startups in the Netherlands that will encourage you to travel more in 2020: Polarsteps, Triposo, Parkos, Officebooking, Tripaneer, Bookabus, Camptoo....

Author Juliya Mankovskaya
Posted Dec 05, 2019
Blog
Trends

The IT Outstaffing Model: an Approach to Hiring Remote Talent You'll Want to Try

What if I told you that outsourcing isn't the only way of hiring remote tech talent? Meet IT Outstaffing model – your cost-efficient approach to extending an in-house team. Learn how it works and who already uses it....

Author Kateryna Kachkovska
Posted Dec 05, 2019