markdown guide
 

At Kenna, we give mid and sr level candidates a coding problem. It is from our actual code base and it requires the candidate to write some code in a method in order to fulfill some business logic. We have a set of specs written with all but one commented out to start. One by one we uncomment the specs and have the candidate write the logic needed to get that spec to pass.

There is no trick or one-line solution, we literally just want to see if the candidate can write ruby. During the process we chat with the candidate about their train of thought. They are allowed to google or lookup whatever docs they need to. We have pry setup which the candidates can use to debug. The whole purpose of the problem is less about what the solution looks like and more about seeing how candidates work through the problem, how they debug, etc.

For more Jr. candidates we start them with a take home problem. It is intimidating coding in front of people no matter how much experience you have which is why we like to go with a take home problem for those with less experience. Makes it a little more comfortable for them. If we decide to bring them in for an in person interview, sometimes one of the sessions is discussing that code they wrote and how they could improve it.

 

Depends on the role as well.

Since you are specifically asking about coding skills, and not about skills of being software engineer or web developer, I will narrow down my opinion to focus only on coding part.

Intern:

  • Give 3 type of problems. Easy - Med - High
  • Judge: Code correctness, Coding Style, Performance, Cleanliness, Patterns, OO for 3 type of problem and see when and where he/she excels or fells short
  • Talk: White board session

Fresh college grad:

  • Give 3 type of problems. Easy - Med - High
  • Judge: Code correctness, Coding Style, Performance, Cleanliness, Patterns, OO for 3 type of problem and see when and where he/she excels or fells short
  • Talk: White board session
  • Design: OO concepts, Design patterns and it's usage
  • Projects and past internship experiences

Software Engineer with 2-3 YOE:

  • Give 1 problem. Difficulty level: Med.
  • Judge: Code correctness, Coding Style, Performance, Cleanliness, Patterns, OO
  • Ask to provide at least 3 alternative solutions to the same problem and judge: Creativeness, OO, Vision, Planning, Testing, Ability to find alternatives.
  • Design: OO concepts, Design patterns and it's usage
  • Projects and past internship experiences

Senior Software Engineer with 10+ YOE:

I do not know.

Principal Software Engineer: 15+ YOE:

I do not know.

 

Take the keyboard away then have a conversation about problem solving :) - if that goes well, put the keyboard back and talk about choosing tools & technologies, researching areas of risk and prototyping.. it also really helps if the interviewer has a clue too!

 

What about talking to them and doing a pair programming session during the interview?

Or talking to them and have them review a piece of code in front of you...

 

ask them to solve a problem

by coding using hands

what kind of problem, depends with your requirement. whether just making simple things or solving complex problem

Classic DEV Post from Jan 13

Why is Linux Not More Popular on the Desktop?

Picture taken from wikipedia. There are issues when it comes to Linux being mo...

Anthony Delgado profile image
Anthony has been an explorer of the digital space for over a decade. From transforming start-ups into multi-million dollar organizations, to helping nonprofits solve real world problems with digita...

Do you prefer sans serif over serif?

You can change your font preferences in the "misc" section of your settings. ❤️