Be very careful with this place. They’ll do the usual screening, but admit they’re not the ‘experts’ in the tech they’re discussing – the experts arrive later, if/when you pass the ‘tech test’. Reasonably, it involves building a real app, not some wacky algorithm puzzle or build Tetris in JS (because that’s what we all do on the job, right?)
Afterwards, there’ll be a ‘live code’ session to add something to the app. Shows a lack of trust, and live coding is about as natural as writing an essay with the use of a mouth only – but ok, you can play along.
Then they send you the test – a one page word doc that I would say took 5 minutes to write. Couple of bullet points that say ‘we don’t have the imagination to think of something: here’s some vague premise for an app and you fill in the blanks for us and see how far you can go’.
They recommend 2 hours. What can you build in 2 hours, document correctly and unit test?
I spent 10 hours building something semi-complex. Fully unit tested. JSdoc notation for every method. All DRY. All rigidly by the official architectural guidelines of how to structure an app. There was no direction on the design, so I added a number of features I thought would demonstrate ability.
As I said, I gave myself 10 hours. I didn’t get to run the lint to check if every space and single quote was consistent – who would for such a test, as what would it prove? You can run a lint? I did model everything and comment everything and test everything. You know: the stuff that makes an organised, maintainable app.
First they came back with ‘not going to proceed with the candidate based on the test’. No further feedback. I have 10+ years, I worked with multiple different companies, large and small, and attended dozens of interviews. I’ve never had a problem with an app submission. I was intrigued and asked for more info.
The reviewer did all that is feasibly possible to make the app look bad. Nit-picked everything from occasional single quote/double quote mixing to character spacing. Then went on to say ‘didn’t use the OnPush strategy on all presentational components for performance’.
Here’s where it gets really dodgy. I had no @Inputs on any of the components – OnPush was primarily built for telling angular to ignore a component unless its input had changed. They didn’t explain why I would need it without an @Input.
Let’s move on to architecture/folder structure – I was ‘inconsistent’. Again, no mention as to how. But I had quoted I used the official documentation on folder structure to the letter. In fact, it’s such a basic clone in this regard I’m still scratching my head over the comment.
There was no mention of the bigger details – the documentation, the logic, the unit tests.
I spent 10 hours I’ll never get back working on an app for a company that doesn’t pay me for those hours – and just wants a demonstration of coding ability. I have an entire CV, 10+ years, describing my experience, with links to all applications involved.
Is this what we’re reduced to now? We must spend an entire week on building a ‘test application’ just to get ‘a look-in’? 10 hours is enough. It was always enough for dozens of other clearly smarter companies I applied to. And I always got high praise – great feedback.
Something stinks. I mean, show me an application that can’t be nit-picked to death if you were really that petty and, frankly, odd. Show me an application that’s 100% pristine.
Fair enough if they actually commented on the more complex pieces such as the component logic or the unit tests, but all were suspiciously ignored.