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.

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.

learn-more

Want to learn more about setting up an extended development team with us?

Contact Us

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.

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

Comments

Read also

Blog
Trends

The 9 Hottest Netherlands-based Fintech Startups

2019: The Dutch FinTech ecosystem is booming with nearly 628 FinTech companies on board. That's why we have decided to gather the top 9 Fintech startups founded in the Netherlands that definitely deserve your attention. Discover the list....

Author Juliya Mankovskaya
Posted Oct 22, 2019
Blog
Trends

What is Staff Augmentation? A Model to Extend Your Team

The term "staff augmentation" is popping up all over the web. In this article, we will explain what this new hiring trend is all about, and how your business can benefit from working with staff augmentation companies....

Author Daxx Team
Posted Oct 11, 2016
Blog
Trends

We Have Asked 100+ Companies to Share Which Agile Project Management Tools They Use And Why

100+ companies’ team leads, C-Level executives, software developers and external consultants took part in our survey to compile a list of the 4 most frequently-used Agile project management tools in 2019. Check the research.  ...

Author Juliya Mankovskaya
Posted Oct 22, 2019