top | item 8877847

Ask HN: What's wrong with my JS?

3 points| luk3thomas | 11 years ago

I recently applied for a frontend JavaScript developer position. The first step of the interview process the company asked me to build a car selector in JavaScript. After reviewing the instructions, I decided to use plain JS and EventEmitter.

I was quickly rejected after I submitted my work. The company said they are moving forward with candidates who exhibit stronger coding indicators. I was surprised to be rejected for work that I thought was good, given the boundaries of the task. I created modular code, wrote tests to influence the design, and even used some functional programming.

Should I have put more love into the UI? Should I have used a JS framework like angular or react? Maybe my code is crap and I don't see it.

Obviously, the company can't offer any insight, but can you? I'm stumped. I very much want to know what things I did wrong or areas where I can improve. Thanks!

Task description is in README.md http://bl.ocks.org/luk3thomas/512896ffd7a5dd325de1

13 comments

order

bobfirestone|11 years ago

To start as a couple of others have already pointed out you haven't implemented all the criteria.

If I was evaluating your solution based on what they are asking for I would have passed on you as well. Your solution is unnecessarily complex and over built. They are asking if can you use JS to manipulate a select box. Not including tests you have brought in 400+ lines of code (184 lines of code + the EventEmitter library) to implement 75% of the functionality you were asked for. That is a lot of code to take an item from a select box and add it to a list. Knowing that developers leave I would not want to inherit a solution like this.

To put it in car terms you built a 911 when the customer was asking for a vw bug.

whichdan|11 years ago

As someone who has interviewed 50+ developers in the past six months: that code sample would absolutely get you an in-person interview. Your code is fine and the company was probably just giving you a cop-out answer for whatever reason. Don't be discouraged; you should keep interviewing!

jqm|11 years ago

"After a car has been added to the wish list, the select box should default to the first alphabetically available car from the same make".

Doesn't happen. Leaves the make and returns to top make after selection.

luk3thomas|11 years ago

omg, you're right.

mattkrea|11 years ago

You missed #3 as far as I can tell.

poseid|11 years ago

this requirement:

"it also only need to work in Chrome – no IE testing necessary"

sounds like they had a preference for AngularJS. I guess your eventEmitter solution was too advanced for that company.

bobfirestone|11 years ago

That sounds like a huge leap that because they are only going to test the solutions in chrome that he should have used angular.

avinassh|11 years ago

Just curious, was it a junior dev position or intermediate?

luk3thomas|11 years ago

The company didn't make a distinction -- just JavaScript Developer.