As a newly promoted or hired software engineering manager, you have responsibilities pivotal to the success of your company—making it both a rewarding and challenging role.
And, there’s no challenge more important than building a software development team with the top engineers in the field. Every manager approaches this process differently, but all must use tools that make the hiring process successful.
For example, a manager weighing coding interview techniques must decide if an online coding interview platform can serve the company's hiring objectives. Almost certainly, hiring a fresher or junior-level engineer (though probably not a senior engineer) will involve a test of skill in coding languages (e.g., Java or Python) that the company uses.
Coding interview software is available for the initial screening of candidates as well as hosting online technical interviews. These tools can accelerate hiring, saving several weeks or more.
To give you some perspective: Microsoft performs more than 100 remote interviews a day, and Okta claims to have increased its candidate pipeline by 600%.
A plethora of companies now offer live coding interviews, take-home tests, and other coding assessments in almost any programming language. The best tests go beyond tricky programming questions—although those may have a place in the coding interview—to assess a candidate's use of coding languages, frameworks, and tools specific to the job.
Coding interview online
Among the newer approaches to the code interview online is the asynchronous online interview where applicants complete a structured assessment that the company prepares. The interviewer is not present during the interview, which means that candidates, located anywhere, can respond at the time of their choosing. The recorded results can be evaluated by the hiring manager or assessed by artificial intelligence.
There are clear advantages here. An asynchronous online interview makes it possible for the candidate to write code in response to questions. And unlike a typical take-home test, the video format captures the candidate's facial expressions and other body language. (Facial analysis software, in some cases, is part of the assessment of test results).
Unlike whiteboard interviews, a video interview does not require the real-time participation of senior engineers. And it’s less stressful for candidates than coding live with a bunch of experienced engineers sitting around the table.
In addition to asking candidates questions that require code writing, a web-based video employment interview relies heavily on a candidate self-reporting on their knowledge and skills, applied social skills, and organizational experiences. Some studies found that this type of assessment correlated well with self-reports that candidates had given.
Code interview questions Python
As engineering managers come to grips with their preferred tools for the coding interview, consideration will turn to the choice of specific code interview questions. The goals and needs of your company's development team, the engineering role to be filled (e.g,. full stack engineer, frontend developer), and the seniority of the candidate should all shape your coding interview questions.
Coding writing quizzes, which are standard for freshers and junior-level developers, are not for experienced senior engineers (who increasingly decline to take coding quizzes). That’s why companies like Woven have developed coding challenges for engineers at more advanced levels.
Typical Python interview questions for 5 years' experience (moderately experienced professionals) might include these:
- How will you differentiate between deep copy and shallow copy?
- How will you distinguish between NumPy and SciPy?
- Python has something called the dictionary. Explain using an example.
- Python supports negative indexes. What are they and why are they used?
- Suppose you need to collect and print data from IMDb top 250 Movies page. Write a program in Python for doing so.
Typical Python coding questions for beginners might include these:
- Explain Python. [It is a highly comprehensive, interactive, and object-oriented script writing language.]
- What are the distinct features of Python?
- What is Pythonpath?
- Can we preset Pythonpath?
- Why do we use the Pythonstartup environment variable?
- What is the Pythoncaseok environment variable?
- What are the supported standard data types in Python?
- Define tuples in Python.
Coding interview preparation websites
As you structure the interview process for your software engineer developer roles, one decision that you must make is the timing of the coding interview.
One typical sequence begins with your HR department screening candidates to address education and work experience, assess suitability with your company culture, and administer brief aptitude tests. Selected candidates may then move ahead to the coding interview.
A possible drawback of this sequence is that the HR interview can lead to personal bias or focus only on general qualities and miss a candidate with extraordinary technical skill. For that reason, Woven advocates for coding challenges as a first screening of candidates. The results provide an objective, role- and seniority-specific assessment of technical qualifications that are the foundation for further interviews focused on attitudes, behavior, and career plans.
Wherever the coding interview comes in the sequence, how do you, the engineering manager, prepare for it?
Chuck Groom, a consulting engineer, offers a guide to interviewing software engineers. The guide addresses knowing the job level, the general interview structure (e.g., initial phone screening), the goals of the interview, a list of topics, and an "interview script." It touches upon all key points the interviewer should keep in mind, but recommends no specific coding challenges.
Hacknoon offers Running Great Tech Interviews: The Art of the Follow-Up Question with both a checklist for conducting the interview and many examples of interview questions, emphasizing the crucial role of follow-up questions. Here’s an excerpt:
Candidate: I led the implementation of a new feature to generate business insight reports.
You: How did you ensure the reports offered the insights the business was looking for?
Candidate: It took a couple of iterations to get them right. We agreed to the initial specs but they were a bit rough and the business wasn't very clear from the beginning. In the second iteration, they got more excited and could guide us more clearly.
[Again, the initial story doesn't demonstrate much. It asserts an achievement but it doesn't demonstrate it. The answer to the follow-up leads us into an appreciation of stakeholder management and requirements solicitation.]
CoderPad’s Best Practices for Onsite Interviewing goes into detail about steps such as preparing the candidate, how both interviewer and candidate can write code, using questions in different coding languages, and instant execution of the code written. CodePad and other sites offer virtually unlimited resources for specific coding interview questions.
Another resource for both the interviewer and the candidate are books on what a successful interview looks like. Among the coding interview books now popular and recommended:
- Programming Interviews Exposed by John Mongan, Noah Suojanen Kindler, Eric Giguère (Basic and advanced questions on the range of software developer interview questions)
- Cracking the Coding Interview by Gayle Laakmann McDowell (Focuses on what leading companies in the software development race are seeking in candidates)
- Elements of Programming Interviews by Amit Prakash, Tsung-hsien Lee, Adnan Aziz (Covers many nontechnical aspects of interviewing as well as chapters on basic and advanced coding processes)
- Programming Pearls by Jon Bentley (One emphasis is on hardcore programming problems and their solutions)
Most books in this category focus on candidates who want to understand the coding interview and prepare for it. The issues covered, however, apply to both the candidate and the interviewer, and can give you insight into the perspective that candidates are likely to bring to the interview.
Coding interview platform
Woven recognizes and salutes the progress of online coding platforms toward an objective, role-appropriate, and real-world oriented technical assessment of software engineering candidates.
Particularly important is the assessment of experienced senior candidates for whom coding quizzes, routine code-platform interviews, and mechanical assessment of results are a disservice.
Coderbyte, a highly rated coding assessment platform for qualifying engineering talent, offers a library of more than 500 challenges and questions that enable the engineering manager to quickly get a test running to filter candidates.
Among the drawbacks cited in reviews are that problems available "out of the box" are less varied, there is some lack of transparency about how scoring works, and internet browser issues occur when candidates try to take the test.
HackerRank, another leading technical recruiting platform for developers, claims to have the largest library of coding challenges that enable engineering managers to create role-based assessments. They emphasize the security they can provide for banks and international organizations. Coding challenges are automatically graded with a report of candidates' statistics and in-depth analysis of candidate coding.
Some cons include inaccurate coding exercises and an unstable connection during interviews. Another concern is Hackerrank’s software taking a long time to identify mistakes in code.
Codility CodeLive is a top-rated technical testing platform that enables interviewers and candidates to collaborate online on "real-life" tasks or shared development. The tool has built-in audio/video and a whiteboard feature that lets users draw flow charts and diagrams. The platform supports more than 40 languages and candidates can run their solutions to test them.
Reviews cite a drawback; the platform supports only algorithm challenges and simple programming problems, not the testing of frontend and backend technologies.
Woven’s coding challenges platform does not involve engineering managers and others on the hiring team in the selection of technical assessment questions from a vast library. Instead, our staff works with your company to profile your software development resources and goals, problems and pain points, and software developer roles that you must fill. This indicates which of our nine role-based challenges we can use and how it should be modified or customized, if necessary.
For each core coding role, challenges have been selected and continuously refined based on testing experience. Our challenges all assess engineering capability in using code to define real-world, job-relevant problems and to project solutions.
Woven’s coding challenges for each role test core computer engineering skills (debugging, technical communication, systems thinking, backend programming, and frontend programming) in proportion to their significance to a given role.
We view the challenges themselves and the evaluation of results as having equal value. Performance on our coding challenges, which emphasize not yes-or-no answers but skills and imagination in problem-solving, cannot be "scored" by AI alone. Two senior engineers in our network review the results of each test and make recommendations based on a candidate’s performance. This becomes the starting point for the next steps in interviewing.
You can focus on personal qualities, company culture, career direction, and more–without having to worry about overlooking hidden technical genius.
Learn more about Woven's coding challenges platform by signing up for a free trial. We’ll help you identify top software engineering talent without sacrificing the time and attention of your senior engineers.