Identifying a good programmer,while hiring for the company, is a difficult task if the interviewer is not hailing from a coding or programming background. It has been said by many people that it is close to impossible to find a programmer without having a coding background. Several aspiring applicants may say that they are well versed with Ruby, C, C++, and Python, but if the interviewer doesn’t hail from a coding background, it will be difficult to test these applicants and check whether they hold good for their claims. It must be noted that a good C++ developer must be adept with the basics of Object-oriented programming and programming concepts which include pointers, data structures, and memory allocation. Once the interview process goes much deeper and the comparisons between candidates become narrower with respect to the same programming language, the interviewer will be thoroughly confused regarding the selection of the best candidates.This brings a big question to the table, what are the traits that define a good programmer?
There are some ways to find a good place to start with the interview process that will help an interviewer who requires a good programmer and doesn’t hail from the coding background.
- Talking to developer friends
If you have friends who are developers in various programming languages, then you can be guided in the correct direction by them. They can give you guidance based on what kind of interview process is followed, what questions hold maximum importance, and what kind of answers must be definitely expected. This helps in the initial process for the first few rounds, and then you can accommodate a programmer when you progress towards the next few rounds. The questions become more and more technical after a point of time and keeping a programmer in the room can help in obtaining the correct answers. This will help you in hiring the best recruits that fit the requirements of your organization. You can also read up on C++ and OOPs concepts before starting with the interview process.
2. Questions that can help in the initial rounds
- Tell us about recent projects along with a short description of yourself.
You can understand the passion and dedication of a potential candidate if you ask them this question. You will be able to get a deeper knowledge of their work through the extent of their contribution in the project.
- How do you commit your time to other things?
Your project requirements must be crystal clear for this question. This means that you must know what the timeline of your project is so that your candidate is aware of the time that they will spend on your project. If the project is going to be there for a long time, then you need a programmer that is dedicated to working for your project only. If you have projects that are going to be completed in short bursts of time, then your programmer must be adept with juggling several projects at once.
- Do you see yourself as a product manager or a developer or both?
Depending on the team you are currently leading or planning to create, you need to assess what the strengths and weaknesses of your candidate have been displayed. There could be a need for a product manager more than a developer even if the candidate is saying that he/she is comfortable with both. Developers will help in building the required product and follow your directions while product managers design new interfaces and features. You could have a concentration of one group or a balance of both.
- How would you lead your team if one were provided to you?
You can give a hypothetical situation to the candidate and gauge their leadership skills during the interview. This will help you understand if the candidate will fit in your company and what role they must be assigned.
- These are the things I expect; will you be able to work for them?
Things such as project length, goals, and commitment of time are one of the few things that must be clear to the candidate, so don’t hesitate in expressing your concerns. They need to realize what is needed from them and if they are ready for your company or not.
3. Developers can be picked through several tests and competitions
Skilled developers have a lot going for them. It is going to be a difficult process to get programmers from Google or Microsoft to get into your company because they usually have some great ideas of their own that they wish to pursue.
- Hackathons and coding challenges
You can discover pure talent with the help of hackathons and coding challenges. These are platforms where several programmers create new software. You can host C++ coding challenges which will help you get the best coders. While most hackathons are purely educational, you can still obtain great amounts of talent in such an environment. You can narrow down your search to the company requirements at such events.
2. Coding tests
Mobile and desktop applications require the use of C++ which is a multi-paradigm and general purpose language. You can create customized tests which will help in getting the best programming minds. The test will be instrumental in measuring parameters such as-
- C++ programming basics- simple tasks that must be cleared by all applicants
- Object-oriented programming concepts- questions that will help you gauge the knowledge base of the programmer.
- Advanced concepts such as pointers, data structures, and memory allocation- these questions will help you get project specific answers.
- Debugging and development skills- coding tests which will help you gauge the experience of the developer.
The test will be timed for 60 minutes so the pressure is also maintained. The applicants will be tested for their knowledge, application, analysis skills, and conceptual clarity in C++ programming.
There are 4 sections present in the test which will evaluate the candidate-
1. MCQ/MCAs on C++ basics
2.MCQ/MCAs on Object-oriented programming
3. MCQ/MCA which includes advanced concepts
4. 1 coding problem for development skills in C++