Hacker News new | ask | show | jobs
by gsibble 1415 days ago
Like I said in my other post, your unwillingness to invest any time into getting hired tells me a lot about you. Let me tell you a story about how I got hired for a job I really wanted.

They had a take home. Ridiculously simple. Build a 4 endpoint CRUD API for bear sightings. Took about 20 minutes in Python Flask. Sent it in, immediately moved to the next round which was two weeks away.

You know what I did in those two weeks? I rebuilt the same API in Node, Typescript, Rust, Go, C++, Ruby, Django, Sanic, and I think a few more.

Then I deployed it on App Engine, Lambda, EC2, Google VM, Kubernetes, Elastic Beanstalk, ECS, and my local home dual Xeon server. (while keeping the compute size of all of the cloud offerings as equal as possible)

Then I benchmarked them all. Turns out how you deployed it made little difference but the language made a huge difference. Sanic came in 2nd place while Rust was far and away the winner.

Then I wrote a 10 page report including my methods, code, charts, and tables showing the results.

Two weeks later when I arrived at my onsite interview, I was scheduled to meet with 8 people for 8 hours to talk BS l33tcode questions. You know what I did? Explained what I had spent my time doing. They loved it.

I got a very nice offer that day and worked there for 3 years.

Sometimes the amount of effort you show a company how much you want to work there is what can land you the job.

I didn't ask to be paid for that time and I was employed elsewhere. I did this in the evenings and weekends during what would otherwise be social media downtime.....and it was fun. I explored new technologies, learned several new languages, and expanded my abilities as a developer. I don't regret that time investment one bit.

And you're saying you can't take one hour to do a take home?

That DOES tell me a lot about you.

edit: To be clear, this didn't take away from any of my other activities. I still ate out, spent time with friends, went out, etc.. This just took away from useless social media time and turned it into something productive. I also had a lot of fun not only exploring everything but also knowing I'd have a lock on a well compensated position and be in control of my interviews instead of their potentially being disinterested in just another candidate. It was time very well spent. I don't nearly expect this kind of investment from any of our applicants but if someone demonstrated they wanted to work for me that much you'd bet I'd hire them.

edit 2: I was also told later that numerous applicants struggled with this take home assignment despite it being literal CS 101 level stuff. That's why getting a sense of it someone can code is so important.

1 comments

So do you have applicants write a 4 endpoint API with flask, or do you have them implement an elevator system which you describe as very hard? I've actually given that question in an hour long interview. But guess what? They get to stop at an hour, instead of guessing how much work they need to do to move on. You and I know that someone could probably make a career working on that system.

When you commit your time and set actual deadlines (such as 1 hour), they don't think they need to write a multi-elevator system with floor input outside the elevator and account for load and time of day or write it in 8 languages and write a 10 page report on the whole thing. They just spend an hour with me and we go through the problem and see how far we get.

You could be spamming that question out to hundreds applicants for all I know. Show you care and spend the time with me. I get several interview requests per day, I'm not wasting my time unless I think a company respects me. I'm in a nice position where I don't need to show I can be exploited by doing a ton of unpaid overtime work.

I think you're making a lot of assumptions about how we conduct our interviews that are way off the mark. First off, my description above was about my going through an interview process, not about how we conduct our interviews (the 4 endpoint API). The elevator system we ask people to see how far they can get in an hour so we can see their problem solving abilities and readable code abilities. That's it.

We're also willing to do zoom pair programming, in person coding exercises, etc.. We let our candidates decide. They overwhelmingly decide take homes. Not sure why you specifically are so against it but that has not been our experience. We want a pleasant experience for our interviewers and frequently bend over backwards for talented individuals to accommodate however they'd like to demonstrate their skills. We don't expect a lot of work (almost never more than an hour), just enough to show your abilities, with our focus being on problem solving and writing maintainable code. We just want to know you can perform up to what your resume says you can since so many resumes are works of fiction.

We also only give coding exercises as the final step in our interviewing process. We do not "spam" it out as we recognize it's asking for a time investment. About 80% pass and get an offer. We do not abuse people's time and respect that it's definitely asking for them to commit to doing a little bit of work.

Again, you seem to be making a lot of assumptions that are potentially true of other companies that do not respect people's time but do not apply to us.