Bad Interview, Good Practice
Samuel Rouse

Samuel Rouse @oculus42

About: Tech generalist specializing in UI development. UI Architect by day. Playing with JavaScript for over 25 years.

Location:
Maine
Joined:
May 10, 2022

Bad Interview, Good Practice

Publish Date: Jun 20
5 0

LeetCode, Codewars, and similar sites that "test your skill" as a developer aren't good interview tools, but they can be good personal skill builders.

Relevance vs Regurgitation

Rather than highlighting developers who can follow direction and solve problems, using sites like these as skill-validation tools can strongly favor developers who memorized the answer rather than developers who can demonstrate skill in reading requirements, following instructions, and solving problems.

Don't get me wrong; knowing the answer is an important part of development. Not reinventing the wheel saves us time, complexity, and risk. But there are different aspects of the role of developer, and knowing about a linked list is different than demonstrating the ability to recreate one while racing a clock.

Skill Builder

As a personal development tool, sites that offer challenges are great. Not only can you try something outside your usual experience, but you can often see hundreds of solutions and consider the benefits and problems with each. This can help you understand the problem space better, learn about style or language features you aren't familiar with, and reason about code that is very different than what you would typically produce.

Try New Things

While trying different types of tasks can be helpful, these sites are also a great way to try new coding styles.

Have you been meaning to practice more with JavaScript Array prototype methods instead of imperative for loops? What about seeing how compact you can make a given function?

Clever Coding

Coding challenge sites are a great place to try clever coding techniques, where you can accomplish something in a unique way. Maybe you can use an unexpected type conversion or bitwise XOR ^ to shave characters off your solution.

Clever coding is usually discouraged in business because it often trades readability and maintainability for efficiency or character count. Expecting every future developer to understand the particular tricks used and the full problem space adds unnecessary risk.

But in a coding challenge site, it's a great time to try out unusual, risky, or just different code. This can also help you develop the ability to read compiled or obfuscated code. It may be particularly helpful when looking at optimized library methods, which may choose to sacrifice readability for performance.

Conclusion

These are useful pursuits: building familiarity, trying new language features, and practicing your skills in a low-risk environment.

Interviewing is a difficult process, and it's easy to focus on the wrong details. Coding sites can be a good tool for a developer and provide a shortcut when interviewing, but in over a decade of being an interviewer for enterprise developer roles, I've never relied on them because they often don't differentiate between practice and process.

Ask the Audience: Skill Builder Sites?

There are a number of different skill testing sites like these. I'm going to mention Regex Golf. Regex is difficult for a lot of people and learning how to solve problems in it can be very useful.

What are your favorites?

Comments 0 total

    Add comment