
Ask HN: What's wrong with my JS? - luk3thomas
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.<p>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.<p>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&#x27;t see it.<p>Obviously, the company can&#x27;t offer any insight, but can you? I&#x27;m stumped. I very much want to know what things I did wrong or areas where I can improve. Thanks!<p>Task description is in README.md
http:&#x2F;&#x2F;bl.ocks.org&#x2F;luk3thomas&#x2F;512896ffd7a5dd325de1
======
bobfirestone
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
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
"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
omg, you're right.

~~~
geetee
Kind of sneaky to put important details in parentheses like they did. I would
have let that omission slide, especially considering the typical candidate we
get.

------
mattkrea
You missed #3 as far as I can tell.

------
poseid
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
That sounds like a huge leap that because they are only going to test the
solutions in chrome that he should have used angular.

~~~
poseid
without putting value to Angular, many companies that say "works in Chrome"
mean "developer friendly". And from "developer friendly", it seems a small
step to Angular. Maybe because many developers don't want to invest time
learning real JS.

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

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

------
whoshallsucceed
Were you limited by time for this test?

~~~
luk3thomas
No, there was no time limit

