Teamwork and collaboration are more important than ever as remote work evolves into hybrid work. Companies are looking for ways to hire developers who have strong coding and communication skills. Pair programming is one way to test both.
If the interview process includes a session working with an existing employee, it’s crucial to understand the do’s and don’ts. Employers want to see how a candidate will fit into the team in addition to measuring a variety of skills.
Jonathan Fernández, senior consultant developer at ThoughtWorks, said the goal of pair programming is about an employee and a job candidate working together to solve a problem, not about the candidate solving the problem.
“Misunderstanding this point can lead the candidate to making important design decisions without having a constructive talk about the topic beforehand, or even introducing additional complexity to the exercise just to exhibit knowledge about a specific feature of the language,” he said.
Sachin Gupta, CEO of HackerEarth, said that employers measure these capabilities during a pair programming session:
“Some of the more progressive interview processes have these competencies as a rubric and each interviewer evaluates each competency and gives a rating, which they used to determine overall — reject, weak accept, or strong accept,” he said.
“Asking the right questions about corner cases, being able to explain the trade-offs of one design over another, or using simple examples to illustrate complex concepts are good indicators,” Fernández said.
How to Use HackerRank’s CodePair Tool [Tutorial]
How would you handle working on a team with people from other departments?
During a programming interview, you’ll take technical tests or complete technical interviews. You can use these opportunities to showcase your soft skills as well, such as providing examples of your interpersonal and communication skills.
Example “I work well on teams, including ones with non-tech members. I find that these groups can produce products and solutions that a team of like-minded people may not consider. I also enjoy meeting new people and considering other angles to the projects we work on together. I have worked on teams with only programmers and mixed teams in the past, and feel the mixed groups were often more innovative. I would welcome an opportunity to work on this type of team.”
Read more: Interpersonal Skills: Definitions and Examples
What’s your process for a crashing program?
For an effective response to this question, you’ll need to use both hard skills and soft skills. Carefully explain your process to your interviewer in a conversational and logical way to show you thoroughly understand the process. Describe how you would search for the bug and the steps toward a solution.
Example: “I worked at a startup called Innotech after grad school. I enjoyed the projects I worked on there, but we frequently had problems with crashing programs. After I run a debugger, I look for patterns. For example, maybe the program crashes while running certain commands or in specific conditions. If the program only crashes every fifth time the page loads, I would look into that further. Once I have identified patterns, I would then consider ideas for problem areas that might include elements of those patterns and use a code to search those possible elements. I am usually successful with this method.”
Read more: Soft Skills: Definitions and Examples
Basic coding interview questions
The following are 10 coding interview questions with example answers that should help you describe your work experience and prepare for your programming interview:
DEV Community is a community of 925,602 amazing developers
Were a place where coders share, stay up-to-date and grow their careers.
Many companies incorporate a code pair exercise where the applicant must solve a coding riddle. I gave 50+ of these as the interviewer before myself needing to enter the job market where I interviewed with more than a dozen companies and completed many code pair exercises as part of the interview process. In this article I attempt to demystify this process, explain what interviewers want to see as well as provide some strategies for mastering the code pair interview.
An applicant will typically go through one or more screening calls before being assigned a code pair exercise. Sometimes the applicant will receive a takehome assignment before the code pair exercise. If the applicant passes these initial screenings then the next step may be a code pairing exercise.
Code pairing exercises range from super simple to devilishly complex. Typically the level of the role you are applying for will largely dictate the complexity of the problem, but some companies prefer to give difficult problems to see how candidates perform under pressure. However, even easy questions can be a strong source of stress for the nervous applicant.
After meeting the interviewers the applicant will typically be asked to log into a code pairing website where everyone can see the code as it is being typed and run the code to receive a result. Some requirements and often times some data is provided to the applicant and some, but not all, requirements for a correct solution listed. Usually standard input and output functions of the language (e.g. printf or console.log) are used to output results. The applicant is given a set amount of time to complete the exercise and achieve the correct output.
Sometimes there will be follow up requirements if the applicant solves the exercise early.
Video calls during the interview:
Nothing better than talking to the candidate directly and evaluating them!. The interviewer can initiate Audio and Video calls (without any external plug-ins), helping them to communicate with the candidate and watch them code live. This also allows the interviewer to ask and clarify any other questions or doubts he/she has about the candidate and vice versa. The more efficiently you evaluate, the better chances of hiring the best talent for your company.
What To Do When Stuck?
Wed all like to ace these problems effortlessly with a correct and efficient solution. If that happens then great! If not, then dont panic! Getting stuck is completely normal and often expected.
I think the most important thing to do, and this takes practice, is to talk out loud as much as possible. Avoid “dead space” where there is no typing and no talking. Always be doing one or both! Usually when Im stuck I start by talking out loud what the code I have so far does. Hopefully at this point you already have a general plan and some pseudo code. If I dont know what to do I will often simply compare my own code to the psuedo code. The questions I will ask myself are “Does my code implement the pseudo code?” and “What am I missing?”. Maybe the pseudo code was incomplete. Add more detail if possible.
There is no shame in admitting you are stuck. Simple say or type “I am stuck here” where here is a specific spot in the code. I would try to avoid asking for a hint too early on. Often times you can get hints without asking simply be talking through the problem. Listen and watch the interviewers. Look and listen for confirmation that an idea is correct or incorrect. If there are no “free” hints then ask for a hint. While it will be noted it is not necessarily a bad thing. After all no one wants software developers that spin their wheels and dont ask for help.
If no actionable hints are forthcoming and there is still more to implement– then finish what parts of the solution you can. If you can create smaller tests for some part of the solution then that is better than providing no solution at all.
No matter if the exercise is solved or not there are certain attributes a final solution to have. Usually the final code will be saved to be reviewed later. There should be tests and their should be code comments. My experience is that most applicants write code with zero code comments or with little testing. Having participated in many of the discussions that applicants are not privy to I can state unequivocally that good code carries more weight than a correct solution. Think of it this way… If there are multiple applicants with the correct solution, then the applicant with better code wins. In addition, I would be more interested in an applicant that wrote clean, well commented code over someone who quickly banged out a solution. There is always an assumption that the applicant might already know the solution in which chase a bare bones solution might look like a solution that was from rote memory rather than a creative enterprise.
FAQ
What is HackerRank CodePair interview?
How do you prepare for a code pair interview?
What is CodePair session?
- Explain what the pair programming test will look like. …
- Use a real-world problem. …
- Use short tasks. …
- Look for thought processes and communication skills. …
- Include the rest of your team. …
- Choose the programming language. …
- Train your interviewers.