
I turned my interview task for Google into a startup - mmoez
https://uxdesign.cc/i-turned-my-interview-task-for-google-into-a-startup-877943fb3b34
======
sethammons
The rule of thumb I subscribed to: have the interviewer(s) do the interview.
Give the candidate 3x time to do it that the in-house people took. Or, framed
in reverse, if you want the assignment to take and n minutes or hours, give
yourself n/3 to complete it, and however far you get is the bar for the
assignment. Interviewees are stressed, maybe outside their domain, and other
things. Make something that they can show you their value. The harder and
correct thing to do is to find how they can help your org. It is easy to find
what they don't know or to play stump the idiot.

~~~
dnaismith
We did this at my company. A developer at the level that that developer was
applying for would do a task that took them 2-4 hours. We then gave the
interviewee four days to complete the task with a recommended time of 2 days.
We also always made sure to include the weekend in the time they had to
complete the task as we know during the week time is precious.

~~~
Zenbit_UX
I'm interviewing with 6 companies simultaneously and like you they all think
they're deserving of free labor.

I'd wager your company must have the worst devs, those who have little self
respect and zero other prospects.

Do you not understand that you're requesting free labor from an applicant? Did
you forget the purpose isn't to have the sickest challenge ever but to
evaluate someone's code/ingenuity?

~~~
zdragnar
Many people prefer this to an in-person whiteboard challenge. It's lower
stress, and doesn't require taking additional time off from your current
employer.

A 2-4 hour challenge is less time than I've spent in interviews at some
companies, and would gladly have done it prior to an in-person interview given
the option. That way, the actual interview time could have been spent talking
about things of value, rather than having them stare at me while I white-board
out problems around graph data structures and recursion and whatever other
trite trivia they can come up with.

~~~
michaelt
To be useful for discriminating between competent candidates, a challenge has
to either be hard to complete (pass based on completion) or hard to complete
to a high standard of quality (pass based on completion+quality). In other
words, it has to be at the limits of what's possible for people you expect to
apply for the job.

If you give me a 2 hour challenge with a timer so I can't possibly take more
than 2 hours, I'm fine with that - but you won't accomplish the "lower stress"
goal.

But if you give me a 2 hour challenge without timing? I know for sure other
people will have spent 8 hours making super-polished, gold-plated solutions.
Can I afford to fall behind the competition? If not, I should spend 8 hours
too.

~~~
zdragnar
> To be useful for discriminating between competent candidates,

I helped redesign the code challenge at one of the companies I worked for. We
(the people across the different technical disciplines we hired for) put a lot
of effort into ensuring that:

* the challenge could be completed in 4 hours * the challenge resembled the sort of work people would do on the job * the goal of the challenge was to inform a follow up interview, not punish people * candidates were explicitly told that they were not being timed, but that we expected the challenge should take them up to 4 hours to give an idea of the upper-bound level of effort expected

The single biggest challenge was balancing "what do we need to know" versus
"what would we like to know" versus the amount of time we were asking of our
candidates.

We didn't hard-fail anyone unless they were blatantly not a good fit from
their submission, and I habitually wrote multiple pages of feedback for them
so they at least got something for their time if they didn't get a follow up
interview.

Again, the purpose of the challenge was not a screen, so much as it was to
help guide the in-person interview and so we had something concrete that we
could discuss.

Follow up edit: Designing code challenges is _hard_. You have to avoid
something so objective it can be copy-pasted from stack overflow, but
objective enough that it can be graded free from personal bias (as much as
possible anyway). On top of that, you can't test for MVC+CQRS+FP+SOLID+every-
other-possible-thing under the sun, because you have to be respectful of
candidate's times.

The previous code challenge (the one I replaced) would frequently take people
8-20 hours to complete, and it was actually pretty simple. As you rightly
pointed out though, candidates often read far more into the requirements than
were actually there, and would often over-achieve in an effort to stand out.
Not only would those submissions waste their time, it wasted ours as well as
they took longer to develop feedback from.

~~~
kbknapp
I think you're missing the point from the previous poster about (perceived)
competition.

Unless your challenge literally stops at, "make X appear onscreen" with no
regard for quality, testing, etc. Giving unchecked/unverified time restraints
isn't fair. It doesn't matter you're giving more time than it should take to
complete. If the task can be done in 2 hours, but you give "6" and Candidate A
does it in 3, but Candidate B does it in 32 (but tells you 6) you're ranking
two totally different submissions. Candidate B might have a super polished
submission, while Candidate A has a baseline submission.

The poster you replied to was suggesting that tests should be either 1) not
based on quality of submission and simply rely on difficulty so that only a
few candidates can complete them or 2) based on quality and difficulty, but
with a checked and verified time to keep the playing field level. However
those options are both at odds with "low stress."

~~~
zdragnar
Again, in our case, we didn't use it as a screen unless the code was an
unmitigated disaster or didn't complete the basic requirements.

So, if someone submitted something that could have been done better, see might
ask what could be done to improve it in the follow up interview. A good answer
would include the technical bits, and a better answer would describe the time
recommendation and why a more polished version would take longer or be
considered over-architecting.

This purpose- to inform a conversation with a concrete, familiar code base- is
better than both take-home screen assignments as well as the in-person
whiteboard exercises, which encourage route memorization and don't reflect the
nature of the job we were hiring for.

------
jboggan
During a recent interview process I was given a take home assignment for data
engineering. Well, I had to wait two weeks for the team to come up with a take
home since they didn't have a data engineering assignment at the time.
Eventually they sent it to me with a 2 hour time limit. I read the multi-page
problem description which had bulleted requirements at three different places
in the document, somewhat at odds with one another. There was a request to
code a certain NLP technique from scratch and create a recommendation engine
based on similar user history. I read through the sample data which had no
notion of individual users or any table like that.

The whole thing seemed like something copied and pasted together by committee,
with a strong smell of "PhD CTO" trying to test for intelligence by quizzing
on an esoteric corner of their own grad school experience. After about an hour
of trying to figure out conceptually how I could begin to implement the things
asked, let alone the 6+ hours I thought it would take in practice, I emailed
the recruiter back and said "Thanks but no thanks!"

My other recruiter friends later confirmed that they had burned through almost
every firm in town with their ridiculous take home exams that no candidate
could pass within the allotted timeframe. I think bailing was a good choice.

------
amelius
> You have ‘4–6 hours’ to design a slick product, with a memorable brand and
> cohesive working method. No one acknowledges the fact that in reality,
> you’re about to dedicate up to 5 working days on this task, with the
> potential for them to ghost you straight afterwards.

To make this more fair, why not let the designer work at the company's office,
so the interviewer can actually see how much time it took, and the interviewee
doesn't waste more time than necessary?

~~~
itronitron
>> advised that we should spend no more that 3–5 hours on the task

I have to wonder if they didn't get the position because they spent more than
the advised time for the task.

~~~
bryanrasmussen
As a general rule when I'm given a programming task that takes 4 hours to do
then - IF everything I will need for the task is already installed on my
computer and all dependencies bugs and so forth have already been taken care
of in these things - it will take 4 hours.

Maybe the same situation applies in Design somehow? I mean yeah it takes 4
hours to make the product if you happen to have all the graphical elements you
will be using already downloaded and organized.

on edit: although I have noticed a disappointment in some places that I have
not done a lot of time cleaning up the code after writing it and making
everything beautiful and writing a good readme to tell them everything to do
and so on and so forth and normally I don't do those things because I spent
more than 4 hours because there was stuff that needed fixing and anyway if
they wanted all that 4 hours would not be enough.

~~~
Zenbit_UX
Unfortunately not.

Coding is like math homework. When your doing the math homework you know when
your done, it's very obvious and anyone can check your work and clearly see
it's either right or wrong.

Design is like a book report for English class, it's bottomless and can always
be improved given more time, albeit with diminishing returns. Design
challenges are evil and bullshit, you can poor hundreds of hours into a design
challenge and still iterate further.

~~~
seanmcdirmid
> Coding is like math homework

Agreed, unless they want a good polished solutions, meaning it has been
refactored, has decent comments, is well tested, etc.... then it becomes a lot
like design where the sky is the limit.

My wife got her first job in the states because of a take home design
challenge. Other companies were wary of her because of her foreign degree and
no US experience, and she was able to show off in the design challenge they
gave her (she spent more time than estimated, but not incredibly much more
than that). In this case, it really worked out for her.

------
davidbanham
> You have ‘4–6 hours’... No one acknowledges the fact that in reality, you’re
> about to dedicate up to 5 working days on this task

I fixed that problem for my candidates then turned it into a startup:

[https://takehome.io](https://takehome.io)

~~~
pbhjpbhj
Meta: I assume you're doing a website update at the moment. I prefer the blue!
Though I might still use a white version on the homepage to remove emphasis
from the header. Also, on you signup page it would IMO look nicer if you
pinned the page footer (eg [https://matthewjamestaylor.com/bottom-
footer](https://matthewjamestaylor.com/bottom-footer)).

~~~
davidbanham
Thanks for taking a look! I actually have always had a different style on the
landing page from the rest of the app. One was designed to be eye catching and
the other functional. The landing page is probably due for a fresh coat of
paint, though. I'll give some thought to pinning the footer.

~~~
pbhjpbhj
That's fine, and probably works, but the other pages look better finished and
the menus jump around, etc., which gives a "in progress" feel to the site IMO.

------
llamataboot
I love take-home assignments. Especially reasonably scoped ones. They allow me
to show off my skills. However, my opinion is that it should be paid labor.
Give me a day of work and pay me to do it. This values my time, it actually
doesn't add all the much more to the hiring expense (all that engineer
interview time, resume review time, etc is expensive!), and it makes sure you
are screening out early and often and not wasting 20 people's time doing a
bunch of take home work for one dev position.

~~~
dmoy
I don't like takehome assignments because my current employer's moonlighting
policies mean I can't do them.

Ideally that wouldn't be a legal policy for my company to enforce, but that's
the reality for me right now.

~~~
llamataboot
interesting, didn't think about that.

From a practical perspective, I'm not sure that spending 20 hours+ working on
something for free is any more/less likely to make you less productive at work
than doing it for pay, but I see where the letter of the law comes in.

------
josh2600
Someone on my team once asked an iOS engineer to add a button to a codebase
during an onsite interview. That is actually a horrible test to complete in 45
minutes if the codebase is large (and particularly hard if it’s not super well
maintained because even just familiarizing yourself with the codebase can take
a great deal of time).

It’s one of those things that sounds easy but really, really isn’t possible to
do in the time allotted. I learned a lot about interviewing people that day.

~~~
ScottFree
I can't tell if this is brilliant or sadistic. On the one hand, it really
tells you who's smart enough to realize the task can't be done in the allotted
time. On the other hand, not being able to do something as simple as adding a
button in 45 minutes has to screw with the candidate's mind. That sort of
thing would shatter what little confidence I have. I'd probably tank the rest
of the interview.

> I learned a lot about interviewing people that day.

Could you share what you learned?

~~~
josh2600
Yeah, adding a button to a codebase is an awful test.

If someone made it to an onsite and you don’t know whether they can add a
button in swift, something failed in your screening process. If you’re testing
how someone navigates a codebase, you can just look at it with them, and let
them drive the chat.

If you’re testing an engineer for a serious job, do an algorithms test. If
you’re testing an engineer for a specific thing, test that specific thing.
Both of those should be handled in the screen, not the onsite.

IMHO, the onsite is about seeing how people think. Whether you can jam a
button into a repo doesn’t tell me whether you can think or not. I guess it
tells me whether you get flustered, but it’s pretty unfair to design things
that are impossible just to see if people break.

That candidate turned out to be awesome but I remember the interviewer telling
me after they interviewed them “well, they couldn’t add the button, but as
they were doing it, I realized I wouldn’t be able to add the button either so
my interview was inconclusive”, and I replied “well it sounds like you need to
design a better interview question”. The worst part was, the interviewer spent
the first 20 minutes of the interview talking with the candidate before giving
them 25 minutes to add the button!!

There’s a question we gave candidates really early on which we no longer do
because it biases towards math nerds that I absolutely loved. It’s based on a
movie called 13 Tzameti. I’m probably screwing it up because it isn’t my
question but it’s basically like this:

You’re in a dark room after being abducted by a gang. The lights come on and
there’s 12 other people in the room in a circle and everyone has a revolver
with 1 bullet in it (6 slots in the chamber). Your instructions are to spin
the chamber on the revolver and, when the lights go out, shoot the person to
your right in order.

What are the odds you make it to the next round?

It’s a crazy question and, what’s even crazier is that for some reason, as you
increase the number of people in the circle, the odds of making it to the next
round converge on 1/e. No one has figured that out in the interview. Also no
one has figured out why it converges on 1/e so if you have any ideas, let me
know.

I like this question because it shows you how free thinking people are. I
dislike this question because it biases towards smartasses and probability
nerds.

~~~
eschneider
Your odds go way up if you repeatedly fire at the guy to your left.

Being a senior engineer is knowing the difference between doing what your told
and figuring out what needs to be done to achieve project success. In this
case, getting to the next round.

Next question?

~~~
michaelt
He never said you had to spin the chamber by an _unknown amount_ , aren't your
odds even better if you make sure the bullet is in the next chamber before you
shoot left?

Of course, many game theory calculations assume all players know the payoff
matrix and equilibrium strategies of the others; making sure the bullet _isn
't_ in the next chamber is the rational universal strategy if the game has a
fixed number of rounds.

Presumably the actual question has a bunch of provisos making sure you can't
intentionally miss, or accidentally miss, or dodge, or shoot early, or fail to
pull the trigger, or shoot the gang.....

~~~
eschneider
There are many 'optimizations' once the lights go out.

------
jordansmithnz
This reminds me of a take home software engineering interview I was once given
via email. Same deal, I was told about 5 hours. I’m an iOS developer, so I was
expecting a pretty simple app.

I opened the PDF to find not one, but three separate tasks. Completion of all
three was expected, with an estimate of about two hours each. One of the tasks
was to replicate Apple’s ‘Reminders’ app in its entirety, backend sync
functionality included. Another, a task requesting Visual Studio (iOS devs
have no need for any experience with this).

I promptly replied declining to continue the interview process. If you’re ever
in a similar situation, interviews can sometimes tell you more about the
company than they can learn about you. Good chance I dodged a bullet, and
could have been working for someone setting highly unrealistic client
deadlines, with the expectation that I can build something in any technology
proficiently.

~~~
irrational
We've joked about giving potential hires a challenge to fix a problem we are
currently experiencing, but we wouldn't really do it. That takes some balls to
ask interviewees to write or fix production code.

~~~
klyrs
Back in 2000, I had an in-person interview at a very small b2b website. They'd
been using overseas contractors (zero local technical people) and the
founder/interviewer barely knew a thing about computers. He didn't know how to
run a technical interview, so he sat me down at a computer, logged in as root
on prod (lol the only server), and pointed me at a couple of bugs. I knocked
them out lickety-split and was hired on the spot. The world sure has changed

~~~
harlanji
I'm making it like that again. I'm back down with the blue collar proles in
Mountain View, landscaping and moving and waiting tables and the like. That's
how things work outside of speculation... employer has a business where they
get paid, and they outsource their own functions. I'll never run an
engineering org like Silicon Valley again, it's so broken in delivering
results as a result of the speculative nature. I have a project website up
serving two cities. We use Clojure and static generation, and operate and
maintain IT like an old tractor. I train my replacements to keep myself
available and customers getting a good price (minimum wage). It lets people
start their career with hands-on work. It's in BigTech's interest to make us
think tech is hard, but I'm using most of the same stuff as I did when I was
14 and self-taught 20 years ago, and it's gotten far far simpler and better.

~~~
klyrs
I'm in high tech and dying. This is making me feel nostalgic and thinking...
maybe taking 3 steps back would be 10 steps forward in terms of my mental
health.

------
threwawasy1228
When people are turning their interview questions into successful companies,
maybe it is time to start asking some easier interview questions. This is a
visceral demonstration of how absolutely ridiculous interviews have gotten.

~~~
bufferoverflow
Google can afford to do that. They have so many applicants willing to jump
through the hoops, they can pick the top 1-2%.

~~~
onlydeadheroes
I hope they find the 1% top developers that can fix gmail interface.

~~~
y-c-o-m-b
Or increase the performance of Gmail (or Google Maps!!) back to what it was.
Funny how the two apps ran perfectly smooth on devices 10 years ago, but they
struggle with the horsepower on devices today.

------
VBprogrammer
Urgh. I recently had a similar situation. I started interviewing with a
company who have a take-home assignment which I could have completed in the
required time without taking any care over the quality of code I was
submitting, but to do it properly I spent a bit of time thinking about it and
building a reasonably extensive test-suite along the way.

I was asked to come in for a face to face interview, for which I made clear I
was having to take a day off of work, which was cancelled a few working hours
before (so I wasn't able to cancel the holiday) without an apology. I was then
interviewed again by phone and told that there was 'a bug' in my code and that
I should try to find it and resubmit it without any other details. The spec
was a puzzle with lots of weird edge cases and horrible inconsistencies.

I decided at that point that I didn't want to work with them.

~~~
kemiller2002
I had one a little while ago where I spent a fair amount of time on the
request, and I thought was pretty well done. It completed all their tasks,
showed how to use their api, and it showed I know how to integrate several
different technologies, from front things like React to building an API to
interact with theirs and setting up and configuring cloud technologies. They
came back, and said, "We don't want to continue, we expected more from him." I
sat there baffled and so did the recruiter, as it clearly did everything and
more than they asked for in the assignment.

I am so glad they didn't want to go further as I am sure they are a nightmare
to work for.

~~~
LameRubberDucky
There have been anecdotes on HN about companies using this type of process to
get free work out of people. If your code solved the problem they needed
solved, they may have taken your code/ideas and used it and left you by the
wayside. I hope that's not the case but it's possible.

~~~
lawlessone
If it was an android app you'd honestly want to download their app and put it
in the apk analyzer .. just check.

------
nwatson
A few things ... the word 'Crunchr' is real hard to make out when overlayed on
the image of the person mid-pushup ... in that same-but-too-small font is your
company name 'Tona' or 'Tonu'? ... the busy graphics on almost every screen
looks great at first but would wear me out and get between me and my info, and
looks too much like a cult-of-body-and-youth or like Men's Fitness, definitely
not relatable ... the need to select a fancy background for every class
listing would be tedious and would require extra info on whatever back end
manages schedules, nobody will go through all that work and will be left with
weird unrelated defaults ... that your original interview submission contains
no rough work would make me worry you'd commit to a suboptimal path without
opportunity to reset the course after a preliminary critique.

I don't like all aspects of its design but after getting through its initial
quirks the Android Simple-Workout-Log app is dead simple and bare-bones and
works quite well without the busy graphics.

EDIT: additional point.

------
rdez6173
I am a software engineer and I was once asked during an interview at a large
hedge fund to pick a side and debate why war is justified.

When I pressed them about the relevance, they indicated that they often have
heated debates on all manner of topics, so they wanted to see my thought
process.

I enjoy solving complex problems, but socio-ethical problems are way outside
of my wheelhouse.

I politely indicated that I didn't think the company was a good fit for me.

~~~
agrippanux
When interviewing execs who would be building new departments a few years ago,
I would pose the question of "In the wake of Arab spring in Libya, the people
decide that you are their next leader. What happens in your first 100 days?".

The answers ran the gamut from lazy to fantastic to terrifying. A lot of
answers where generic "coalition building" variety. The better answers
identified key areas to focus on like infrastructure, basic services, etc. The
best answers had clear goals and possible government structures supporting
accountability.

Bad answers had the exec consolidating power and crushing opposition. The
worst answers had the exec killing people to achieve their goals. Not joking,
I had several answers that where "I would find my rivals and kill them".

Overall I thought it was a good question as those who performed well on it and
where hired built great sustainable orgs and those who did poorly where
usually shown the door within a year. Those who did well where able to take a
crazy situation, break it down into smaller problems, and then solve for them
while those who did poorly where usually relying either escaping the problem
via committees or flat out crushing opposition.

~~~
corndoge
>Bad answers had...

Asking a politically charged question on statecraft and judging the answer
based on your own personal ideas about how to run a state strikes me as a
bizarre way to conduct an interview, even for an exec.

>The worst answers had the exec killing people

Play stupid games, win stupid prizes?

~~~
pembrook
This is why we need less humans and more AI/ML in the candidate selection
process.

The guy posing Arab Spring interview questions sounds just like those 65 year
old talent scouts in MoneyBall skipping over a talented 3rd baseman because
the kid “doesn’t have good legs.” Humans are immensely stupid and irrational
when it comes to judging other humans.

~~~
rimliu
I wonder what makes you think AI/ML is better.

~~~
Loughla
My same question. If we make terribly biased decisions, why would something
with those biases baked in make any better decisions?

Maybe because they're faster?

~~~
MichaelDickens
You train the AI based on outcomes, not based on humans' judgments of what
they expect outcomes to be.

~~~
johnhenry
But if your training data is based on previous decisions made using human
bias, you're in trouble.

------
ravenstine
None of the places I've worked at had me do a coding challenge. Either they
already knew who I was through networking or they asked me to show them a
personal project and explain how it worked. Each job was a great opportunity.

When I start looking for a new opportunity in a year or two, I may consider
coding challenges to be a soft red flag in that I don't think they're worth
wasting time over. I spent so many hours in the last 6 months doing various
code challenges, some of which were borderline unreasonable, none of which
landed me a position. I ended up getting hired by one of the top 3 places I
wanted to work, and it was mainly because I had already networked with my
interviewers. Maybe they looked at my GitHub, but I never asked. Regardless,
coding challenges of any kind have consistently been a waste of time for me.

Unless I really _really_ want to work for a particular company, from now on I
will immediately end my interview process if they ask me to do the following:

\- On-site coding challenges

\- Take home coding challenges

\- Whiteboarding

\- Brain teasers

I don't have time to waste on that shit anymore. If having years of experience
and a GitHub don't demonstrate to you that I can write code, then I really
can't help you with whatever it is you're looking to achieve. Developers have
to shotgun apply to many places in order to play the numbers game of getting
hired, and life is too short to work an extra hour or more every night to code
something no one will ever use that won't get me hired anyway. People are
generally biased towards feelings rather than facts, and any of the above
bullet points mostly serve as a Rorschach test for interviewers who have
already decided whether they like me or not. Someone just breaking into the
industry _might_ want to go through the hazing process of hammering out coding
challenges, but I refuse to have my personal time wasted.

To anyone reading this, networking _is_ a biggie. My dad used to tell me that
and I never took him seriously because I hated the idea that schmoozing
outperforms merit, but it's absolutely true. In reality, networking _should_
be better because, at the end of the day, most people can tell whether you're
competent and if they want to work with you based on how you naturally
interact with them. Formal interviews barely work because everyone rehearses
for them and they only prove that you were able to tackle one problem(which
recruiters often alert candidates to anyway).

~~~
brianpgordon
Refusing take-homes is a reasonable stance but refusing to whiteboard strikes
me as overly critical. It's a pretty standard thing to do in an interview...
while whiteboarding may be a little silly, walking out of an interview after
someone's already blocked time for you because you think whiteboarding is
silly is even more silly than whiteboarding is. If I were the interviewer I'd
be concerned that you can't be even a little bit flexible with things that you
personally don't like.

~~~
ravenstine
> It's a pretty standard thing to do in an interview...

I'm not interested at working for _standard_ companies. :) But everyone is
different. If whiteboarding is someone's thing, the more power to them.

> walking out of an interview after someone's already blocked time for you
> because you think whiteboarding is silly is even more silly than
> whiteboarding is

If there was a misunderstanding where they blocked out time in an interview
for whiteboarding, I wouldn't be rude and refuse in person.

What I do is ask in the phone screening or the first engineering interview
about whether the technical interview would involve whiteboarding or brain
teasers. If the answer is yes, I politely end the interview process. That way
their time is wasted minimally.

However, I have no qualms about walking out of an interview that involves
brain teasers.

> If I were the interviewer I'd be concerned that you can't be even a little
> bit flexible with things that you personally don't like.

Interviewing is a two-way street. How about _you_ be a little bit flexible and
_not_ make me do something that you personally like? No? Yeah, I didn't think
so. I'll just work for companies that don't do whiteboarding in interviews,
which are a dime a dozen.

Yes, that was a bit crass, but it amazes me how people in the position of
interviewing believe that interviewers should care about whether they're
concerned over something.

~~~
binarytox1n
As a hiring manager I would take a refusal to whiteboard or participate in an
in-person coding problem as a sign that the candidate knew they were not
qualified to write code and therefore declined so as not to waste anyone's
time.

I'm sure that doesn't matter to you as you don't want to work at standard
companies anyway, but I have seen plenty of people fail to solve fizz buzz who
had the nerve to show up for a Senior Dev role and therefore I will always ask
my candidates to write code in front of me. Anyone can copy and paste their
way into an active looking github profile, much fewer can talk me through
their thought process as they solve a real problem that I have given them to
solve.

~~~
ravenstine
If all I had to do was a problem like fizz buzz, I'd probably go ahead and do
it. In my experience, most coding challenges that are in-person or take-home
are more involved than that Fizz buzz, taking an hour or more. I can't think
of a single coding challenge I did in the last 6 months that didn't involve
either building a full application or something with complicated or game-like
logic. The closest thing to fizz buzz level of simplicity might have been the
custom file/directory system I had to work on, but even that was more involved
and nuanced than writing fizz buzz.

------
thoreauway
I interviewed at Uber before they launched. Their "take home" was to create...
Uber.

Here's the exact challenge:

UberCab Coder Challenge

1) Write a program that determines the wait time, trip time, rating, and fare
for a black car trip in San Francisco, given that the customer's pickup
location and destination is randomly placed anywhere in San Francisco proper,
and given that there are X number of cars all placed randomly across the city.
Use GoogleMaps API for trip duration time. Run simulation 100 times for 1, 5,
10, 20, and 50 cars. Output average wait times and trip times for each # of
cars the simulation was run on.

2) Take #1 and do the same pickup and trip time calculation given that there
are Y customer requests per hour (extra credit if this is done with a Poisson
distribution ;)). Take into account each car's availability (given that they
may have been selected to carry a customer and are in transit on pickup or on
actual trip, and thus unavailable). Run simulation given the number of cars in
#1, but for each simulation in #1, run once for Y=1x, 2x, 5x, the number of
requests per hour (X being the number of cars in the city, as defined in #1)

3) Take #2 and then make a GoogleMaps mashup that then shows the various trips
that were taken for each simulation. Provide mashup interface showing all
trips but also provide ability to only show trips for each driver.

4) Write a "Hello World" app on the iPhone that for a certain driver logging
in shows all of his trips taken in the last simulation, the average rating
that he got, and the total fares he collected during those trips.

~~~
distances
Having never worked in SV, are these home assignments common there? I know
several engineers who would refuse to do any homework at all as a matter of
principle, so a task of this magnitude without compensation sounds laughable
on the face of it.

~~~
ummonk
It's not the norm but it's not uncommon at startups. Also, it seems to be
standard practice for data science interviews.

I personally don't put up with it, but then there are always lots of
commenters in HN who bemoan whiteboard interviews and prefer take-homes. To
each their own.

~~~
meddlepal
I prefer take homes if they are reasonably scoped and turn around expectations
are around 1 week.

I would rather whiteboard about the design of the app/tool than some random
question another engineer pulled out of their ass twenty minutes before the
interview and has unreasonably strong opinions about the design and
implementation based on whatever source they stole the problem from because
they don't actually understand the problem either.

~~~
mattkrause
The scope is important. Some of the data science take homes I've seen could be
looking for a decent/good-enough solution that takes an an hour to a full-
fledged research program that would keep a few FTEs busy for a year.

------
JansjoFromIkea
Is there a reason there's no naming and shaming going on here?

One company asked me to do an implementation of the Bay Area MUNI network
which fetched live updates of the locations of all buses every 10 seconds;
there was more to it but I can't remember it now. This was to be done in React
with D3 and no additional libraries were to be used to help with integrating
D3 maps in React. The role was junior level, the job listing did not specify
D3 as a requirement (which pretty much guarantees a lot of people would start
into it without realising maps are one of the more complicated things to do in
D3 as a newbie or how poorly D3 played with React), the role was in Europe. If
someone can confirm I'm not breaking any rules I'll happily share their name.

The best interview experiences I've had are with groups who just went through
my (not very impressive) Github. A small coding challenge can be good as a
thing to talk through during the final interview but anything longer than that
and I'll tend to pitch sending them something I wanted to make in my own time
regardless.

~~~
zymhan
> Is there a reason there's no naming and shaming going on here?

No, there is no rule, unless you signed a contract stating you will never
disclose any interview information, and even then, they'd have to find your
post, find out who you are, and then take you to court over an extremely shaky
premise.

Just name the damn company people! You're giving companies far more credit
than they deserve in these situations. I'd argue you owe it to other people
who may follow in your steps to know when a company is exploitative,
deceptive, or just plain corrosive.

edit: now with less snark

~~~
JansjoFromIkea
> "Is there a rule I don't know about"

> Goes on to not violate the rule that seems to exist

Anyways, it was ThousandEyes

~~~
zymhan
I appreciate you having the courage to call them out :)

~~~
JansjoFromIkea
No courage in that! The true courage is in admitting I was stupid enough to
take a stab at their challenge.

The interview itself was a whole other tale of awfulness but I'll limit my
overview of it here to saying that they didn't bring up the coding challenge
once despite being repeatedly asked for feedback before, during and after the
interview. Maybe they felt awkward about saying how crap they thought it was?
Be pretty weird to bring me in for an interview in that case though...

------
hising
Awesome to read about you turning this into your own startup.

One thing I came to think about regarding the "4-5 hours" and throwing 5
working days on it, is that, maybe as an interviewer it is quite obvious that
you put more than 4-5 hours into it and what they were "really" after were the
trade-offs you would have made if you put 4-5 hours into it. Just a thought.

~~~
dannyw
Not Google, but similar company and can confirm. If you spend 5x the amount of
time we suggest, it’s obvious and the expectations scale a lot, lot higher
than if you just spent 5 hours.

~~~
gowld
So I should spend a few more hours going back to add flaws to make it look
like I spent less time?

------
zrail
I recently completed an interview junket. One of the companies I really wanted
to get into gave me a take home. I completed it in the time they said it would
take, submitted it, and then got bounced out. My inside source said that the
submissions are run through an acceptance test suite (not exposed to the
interviewee, of course) that can automatically bounce people out of the
process with no or little human intervention.

PROTIP: don’t do that.

~~~
yingw787
That doesn't sound fair unless the acceptance test suite is available to the
candidate before final submission. In which case, depending on how the
infrastructure is set up, could be expensive or slow. Seems to be a lose-lose
situation.

------
ahoka
Actual Google app:

[https://www.wareable.com/media/images/2017/03/google-fit-
app...](https://www.wareable.com/media/images/2017/03/google-fit-
app-1490141873-TZ46-column-width-inline.jpg)

WTF Google?

~~~
saagarjha
Are you complaining about the design of this app?

~~~
infradig
I hope so. Google Fit is atrocious.

~~~
ahoka
Yes, the app described in the article looks much better.

------
swish_bob
I once completed the task sent to me by a prospective employer, and then
thanked them and said I wouldn't be submitting it, as it told me enough about
the way they worked to know I wouldn't enjoy it.

Never forget that the interview process is two way ...

~~~
comboy
Those few big companies probably have more than enough candidates. If you have
too many candidates you need to adjust interview difficulty to still hire only
as much as you need. I don't think these companies care that the task is too
difficult for 99% of people, or that there are smart people who are not
motivated enough to complete it as long as they can get as many smart and
motivated people as they want.

That said, finding a job in IT if you are good at what you're doing is a
dreamland currently, so declining if you think you won't enjoy working for a
given company seems only natural.

Given dynamics above I think you're likely better off not working for one of
those top few companies if you don't care about prestige and long term job
stability.

~~~
hobs
Simply put, no.

If you have "too many people" you dont make the quality of your hiring
"better" by making the process worse.

Being more selective about who you hire is not related to making a stupid
test.

~~~
mceachen
You're assuming that most recruiting pipelines are reasonable.

------
nerdjon
Some companies do technical interview great, but there are a couple things
that I have noticed that always make me question if I actually want to work
somewhere:

\- Being sent to a website to do a take home coding exercise, with a checkbox
basically saying "I won't use the internet, stack overflow, or similar". I get
that you need to test my knowledge, but shouldn't you care more that I know
how to search for my problem and understand a fix instead of flailing around?

\- (this one I have noticed in person) Being handed a thing to build, being
told I have a limited amount of time. That all they want is a proof of
concept, but the tooling they are asking me to use go completely against the
idea that it is a "proof of concept" since they make certain assumptions about
the end goal. EX: deploy something with terraform but we don't want you to
build an AMI or anything like that so just manually go into each system once
you create it

~~~
jacurtis
I hate companies that act like it is a sin to use Google or Stack Overflow
when coding.

When I hear this BS, then I know it is clear that they have never coded
themselves. I would love to meet a software engineer who truly can sit in a
padded room and write code with no internet access to use for help or
reference.

Especially those of us that juggle multiple languages (full stack). Sometimes
I know I need to run a method but I can't remember the actual method name or
how it is formatted in this language. I know it exists, I have used many times
before, but I might not remember the exact way it is worded. So I have to look
it up. It adds <60 seconds for me to find.

Or I might know a method exists but not sure which parameters it accepts. I
might usually use the first 2 params and leave the rest, but this specific use
case requires changing something i don't normally need. So guess what, I have
to look it up!

Sometimes I might get an error message that I don't recognize, so a quick look
at StackOverflow reveals that a configuration item is off, or something was
formatted incorrectly. I often can understand my problem with only just
reading the first few lines of the selected answer on SO. I might be able to
solve a bug in 60 seconds by using Stack Overflow, that might otherwise take
hours to do without them.

Especially as software developers keep getting asked to know more and more
stuff, we have to rely on documentation and helpful sites in order to do our
jobs. It is crazy to expect that you don't use those resources.

Oh and ObjectiveC/Swift developers have it really bad. Some of the method
names are entire structured sentences.

~~~
allenu
You're right about ObjC/Swift. Even though that's my line of work, I use C++
to answer questions in interviews. There's no way I'm going to remember method
names for those.

I did have a Google phone screen where they asked me to live code something in
Objective-C, but they gave me an existing class whose code I had to fill in
and they were lenient with remembering common method names.

------
albertgoeswoof
This is a really great marketing example! The creator has combined a top page
HN post with a PH launch at the same time with really polished looking apps &
landing pages.

Essentially this will give them a huge traction boost on the app stores and a
bunch of new users. Super impressive.

~~~
allenu
It's definitely good marketing, so kudos to the creator. I will say though
that so many Medium articles I read now are essentially marketing pieces.
They'll cover some topic very, very lightly and have a call to action at the
end to view the author's product or company.

------
cecilpl2
I recently was given a toy problem in an interview - read data in some format,
process it, and write the output. Expectation was 4 hours of work, which is
pretty close to what it took me to get all the edge cases, test suite,
requisite documentation, and VS project/solution files.

The feedback I got afterwards was "We're passing on you as your code doesn't
compile/run on Linux", a requirement that wasn't specified.

~~~
0xffff2
>The feedback I got afterwards was "We're passing on you as your code doesn't
compile/run on Linux", a requirement that wasn't specified.

I have to ask, was there something that implied that it should specifically
run on Windows? If I got a software spec that didn't spell out exactly which
platforms needed to be supported, one of the very first things I would do
would be to ask for clarification.

~~~
max76
Applying for a dotnet position and assuming dotnet framework instead of dotnet
core would have been very responsible two years ago.

~~~
0xffff2
I guess I have a fundamentally different view of software requirements. Even
before dotnet core even existed I would have explicitly confirmed that the
company wasn't using Mono if they didn't spell it out for me.

~~~
max76
Mono's use was very limited because it was an out of date and slower
implementation of .NET. It's used in such niche contexts (Xamarin and Unity)
that it was easy to determine if the team you are applying is using MONO or
Framework.

.NET core changed the ability to make the Windows assumption. Almost everyone
has received the memo by now, but there was a period of time between .NET core
1.0 (June 2016) and the release of .NET core 2.0 (August 2017) where the
platform was changing so much and the performance wasn't as good as framework
that anyone without a simultaneous interest in Linux rightly ignored it. After
the release of .NET core 2.0 the entire community began accepting it as a
faster platform that runs comfortably on cheaper servers. A larger and larger
portion of new projects have been running .net core. Now, with the planned
release for .NET 5 next year .NET Framework is dead. However, if you were
interviewing with a .NET team before June 2016 even asking the question "What
operating system will this run on?" would have been a sign of incompetence. Of
course you'll be building .exe and .dll files. Of course the webserver is
going to be IIS. Those were the only things .NET was good at building.

~~~
0xffff2
> However, if you were interviewing with a .NET team before June 2016 even
> asking the question "What operating system will this run on?" would have
> been a sign of incompetence.

It really depends on how you're asking the question. "What OS will this run
on?" is going to be perceived differently from "Are you expecting anything
unusual like Mono support?".

The OP didn't actually say that this was a .NET application, but if it was the
answer to either question would have been important. If the answer had been
that the company expected a standard Windows environment, I don't think it's
likely that the second question would be perceived negatively.

------
kbknapp
> They presented three design challenge options to pick from, with a weeks
> notice and advised that we should spend no more that 3–5 hours on the task
> (wink, wink)

I know this self-selects for people willing to do extra work for no extra
compensation.

However, let me play devil's advocate for a minute as a thought experiment. I
would actually worry that this issue is also a self fulfilling prophesy. If
I'm told to do X in Y hours, but it takes me 10 x Y hours perhaps the employer
_really does_ expect it to take only Y hours. Maybe the typical workload at
that employer is for someone who really can do X in Y. As long as that is
properly compensated, I see no problem with that. If the employer is asking
for an extremely high caliber developer, and will also compensate as such then
it's no issue. However, an average developer applies and thus has to lie about
what they can achieve in that time-frame. Let's say they get the job and then
when the workload is dumped on them it obviously takes longer than the 40 hour
work week and they cry about "self selecting for people willing to work extra
for no compensation." When in actuality, the employer expected, based on a
false presentation, that it was within the average developer's abilities.

Of course, I'm being somewhat satirical and without knowing the exact position
and compensation being offered (as compared to average) no one can say if this
is the case.

------
amingilani
What a great launch story! I don't mean to reduce your experience to a
marketing gimmick but I know that you intentionally crafted the story to be
impactful and to coincide with your launch. Most importantly, though, you
pulled it off really well!

I can't help but admire the way this was done :) I hope my launch story is
this good.

------
btbuildem
People can tell whether you spent 5 hours or 5 days on a task.

I wonder whether that's the reason for him not getting the job. Likely, the
interviewers wanted to see what this person is capable of doing in a short
timeframe, how they'll prioritize and deliver under such constraints. This guy
failed to do what they asked for.

------
djhaskin987
Is HN truly this bad of a bubble that everyone thinks interview tests are
normal?

The last time I had to do a test it was on site and I was just out of college.
Most interviews just talk about the challenges of the team, my past work on
similar problems, and how I solved them. I've been on the other side of the
table too. It's usually easy to tell if the applicant is a quack or if they
are skilled by how they talk about different technology: commiserating about
familiar pain points, how they solved common problems. I almost feel at this
point that it's unprofessional to hand out tests to people.

~~~
thomascgalvin
> It's usually easy to tell if the applicant is a quack or if they are skilled
> by how they talk about different technology: commiserating about familiar
> pain points, how they solved common problems. I almost feel at this point
> that it's unprofessional to hand out tests to people.

The problem with what you're describing is that it's using a proxy
(discussion) to vet a particular skill (ability to program).

It's very easy to vet someone's programming skill by having them program, and
it doesn't take much longer than a wide ranging discussion, so why not skip
the proxy and test what we're actually hiring for?

Should a programming test be several hours (or several days) long? No. But an
hour or two, I can't see how that's a terrible imposition.

~~~
simongr3dal
Maybe just ask applicants to spend an hour or two onsite without internet
making them to solve project euler-type problems and discuss their solutions
afterwards.

I’m sure you can somehow include technologies relevant to the position and
keep the problems to the same scope.

Or these companies could begin creating actual value instead of just draining
it from the world. Why don’t they expand their pipeline that converts
intern/junior positions into more senior positions? And make it a big enough
so they don’t need to hire as many ready-made 10x engineers from outside.

~~~
thomascgalvin
> Maybe just ask applicants to spend an hour or two onsite without internet
> making them to solve project euler-type problems and discuss their solutions
> afterwards.

I 1,000% do not care about someone's ability to solve a random programming
puzzle without the internet.

Again, this is a (bad) proxy for the skill I'm actually trying to hire for. If
I'm hiring a backend engineer, why would I ask someone to implement QuickSort?
Wouldn't it be better to give them a realish application and have them add a
feature or fix a bug?

> Why don’t they expand their pipeline that converts intern/junior positions
> into more senior positions?

My company has a very healthy pipeline of interns and junior developers. In a
year or two, they'll be very good. In five to ten years, they'll be amazing.
But I also have shit that I need to get done by the end of the month, and I
need people with years of experience to complete them.

And regardless of which level I'm hiring at, I want to see them code, and I
want it to be in an environment as close to how they will be working as
possible. Google, Stack Overflow, an IDE, a build system, unit tests ... I
want to see how they will perform as _Software Engineers_ , not Euler-
grinders.

------
beyondcompute
Why is Googleʼs design _so_ bad then if they have such a tough interview
process? Corporate structure/culture kills even best-of-the best talentʼs
initiative? I think, what they need is non-conformism. But they donʼt select
presumably for non-conformism during interview. They select for obedience.
(Just thinking out loud) When Google (having so much resources) will release a
product whose UI would make people say, “wow?” Not just the (superior) data-
processing capabilities or pretty good hardware.

~~~
killerdhmo
Clearly this is subjective, but I'm regularly impressed with Photos and Maps.
Thoughtful, subtle, and yet informative. With some delightful interactions.

------
tombert
I really despise these take-home projects. In NYC it's not uncommon for a
developer to make ~$60 an hour, and these take-home projects can take anywhere
between 2-6 hours, meaning that these companies are expecting you to spend up
to $240 on a task where there's not even a guarantee of getting the job.

Whenever I've done these, I usually end up doing them in JavaScript in a
hyper-functional style (as is my nature since usually they won't allow me to
do them in Scheme or Haskell), which ends up with the reviewer asking me to
write it in a more "modular" way (which really means "please write Java in
JavaScript").

I have a line in the sand now that I'm done doing take-home projects; I really
don't need to donate my after-work time just to have someone who doesn't
understand functional programming explain to me how it's not as modular as
some Java OOP crap, especially when I could spend that time building a project
that will, you know, _actually_ make me money.

EDIT: I realize that this came off as overly-hostile to Java. I'm not a fan of
the language, but my point wasn't really the bash it, as much as complaining
about people acting like my functional code isn't good because all they know
how to write is OOP Java.

------
siscia
I believe Google have brainwashed us all.

Are we sure that it is worth all this effort? Are they so much better than any
other company or startup?

Is our own self so much more valuable if a random intervier liked our works an
epsilon more than the other candidate?

People inside FAANG are unhappy as well, they leave their company as well.

I believe we should be less impacted by the ads that Google is running to
sponsor itself as the best workplace ever.

~~~
allenu
I agree with you. I was immediately struck by the tone of the article that the
author was "fortunate" enough to be interviewed by Google. Maybe it's because
I've been working for nearly 20 years now and am becoming an "old man", but
the feeling that Google is this promised land of opportunity rubs me the wrong
way. Every company has pros and cons and I suppose Google may have a lot of
pros (free food, good perks, and good pay) but at the end of the day, it's
just a big company where you work on large projects and will likely have
little say in the final product's look and feel.

~~~
jd_nlp
Recently interviewed at Amazon and I got that vibe as well. Didn't really
"sell" the job to me at all, just assumed I would automatically be in love
with them. Obviously they're there to evaluate my skills, but in my opinion an
interview should be something of a two-way street.

------
bitL
Are you sure you didn't sign any NDA, preventing you from working on ideas you
might get during interview? Google used to have pretty water-tight policy on
outflow of ideas (but inflow was encouraged) during interviews.

~~~
saagarjha
Does Google make you sign an NDA _before_ you interview?!

~~~
joshvm
Implicitly, when you print your visitor badge you consent to the NDA. Though
that may be a generic site NDA, not an interview one.

I never had to provide an actual signature, aside from a verbal agreement with
the recruiter to not share interview questions.

------
jacurtis
Getting hired at Google is as much of a Lottery as anything else. You really
can't look at interview questions and beat yourself up. There are Google
employees who got hired doing much less, and other employees that had to work
even harder to get hired.

At that level, anyone who gets called to interview for Google is already
qualified for the job. It really is a lottery at that point if you get the
job.

------
marapuru
Interesting read. Its good to realize that a interview process and the work
involved can turn into your own business.

Shows again that good efforts pay off anyhow.

~~~
jmkd
Equally revealing on how submitted interview tasks can have exploitable
business value.

------
TallGuyShort
My last company did interviews like this - I was always disgusted at the way
most of the team would sit around and just find things to pick on in the
person's code. Dumb stuff too. It became an excuse for a lot of the engineers
to just make fun of someone who had successfully completed the program, but
didn't take the time to JavaDoc everything and follow the same code style best
practices we did. Things you can easily address with a bit of training and
code review, and that maybe they already do when they're not trying to
interview for a lot of jobs while still in school. Sad, really.

~~~
rickyc091
Not saying this approach was correct, but given a choice, what type of
interview would you prefer? Hackerrank? In person, programming challenges,
smaller take-home assignment, other?

~~~
TallGuyShort
As both an interviewer and interviewee I prefer in-person. Where you simply
meet 1:1 with a few people - some talk to you about fit / experiences and some
sit and work with you on a problem. Ideally, you would do the second in a work
environment you're used to on a real computer instead of a whiteboard, and I
haven't had a chance to do that before. I've seen a few poor performers slip
through this before, but I do feel it gives a lot more room for people who
just misinterpret what you're going for initially because there's more room
for immediate feedback [1]. I've also had some disastrous experiences working
with people who were amazing coders but were terrible and sitting down and
talking through a problem with someone - I'd rather have a mediocre coder I
can talk to. It gives the interviewee a finite time bound, and the company is
spending equal manpower resources of their own (instead of giving you a 5-hour
problem that you might secretly spend more on, when maybe they already are
leaning towards a no but wanted to give you a final chance before ghosting).
The downside here is it depends a lot on the consistency and skill of the
interviewers, but I believe with good culture and training you can make most
people good at this.

[1] edit: Also, I think you can tell a lot about how qualified someone is by
how they clarify the problem and how they communicate their thinking - not
just the code they arrive at.

------
stevenwoo
One California company that used cheap labor in third world countries to
interact with customers asked me to create a scheduler so that available
workers would make the system have 24 hour up time, log all employee actions,
and determine employee status (fire or not) based on employee action history,
they were doing it mostly manually at that point so the completed task
probably would probably have fit into their production system (got access to
old production data for making system), also 24 hours for a first pass, and 48
hours for a fully functioning system, for zero pay - also, they wanted someone
open to writing software to replace the third world labor after this task was
complete.

------
ronilan
_“My mind instantly went to an app I love, Strava. I use it almost daily ...”_

So do I.

And the other day, 200m into the run, I took a first glance at Strava and
noticed it was way off (gps error). Ususally I would reset and start over.
But, that one time I just turned it off. 30 minutes later I was back. I don’t
know how far I ran (5 point something), I don’t know how fast (also 5 pint
something) and obviously have no idea how my performance on sections compares
to others.

But it was a great run. A bliss.

So, I’m not saying fitness activity tracking is no good or that google
interviews are. I’m just saying, that, yah, every once in a while, in both,
ignorance, is, well, you know...

------
krm01
Great job. One should always do the best work possible. If this means someone
else rejects your efforts, it'll still be a tangible satisfactory memory that,
like this specific example, could turn into something more.

------
awwstn
Some companies use a process where the candidate doesn't see the challenge
until pressing "start", and then they have x hours to complete it.

This seems to be far superior for obvious reasons:

1) It normalizes the submissions, making the review process more accurate/fair
2) It removes any ambiguity or implication around the amount of time that
should be spent 3) The amount of time a candidate has/is willing to devote to
an unpaid homework assignment is likely not meaningfully correlated to their
ultimate success in the role, but the process described by OP likely over-
indexes for that.

------
_JasonE
Correct me if I am wrong, but couldn't Google claim this is their IP since
they provided the options?

------
qihqi
When I was in college I preferred take-home coding challenges and whiteboard
coding questions than talking through experiences.

...Because I had no experience, and school projects didn't count.

I had time that no one is paying for, I had skills (at least i believed), but
no interviews because of experience. So coding challenge is the one thing that
I can compete fairly with people with experiences, and I even had an edge
because I value my time less.

Of course, now I don't. But I was thankful that it is a thing so I can land my
first job.

------
jcadam
Maybe I should try to get an interview with Google so they can feed me startup
ideas.

"Wow, great interview task! Oh, I'm no longer interested in pursuing a job
with you, but thanks."

------
mv4
Just a crazy thought, from seeing all these posts referencing their interview
materials:

1\. could a company go after you for violating the NDA

2\. could a company, in theory, also make claim to your IP

Would love to hear your opinions.

------
maitredusoi
This how interview task should be made : generate something joyful and useful
; instead we usually have boring throw away to do task. By the way I had the
same @ [https://www.captaincontrat.com/](https://www.captaincontrat.com/) the
task was to create a pokemon game, and from that task, I am building my
current startup ;) (more on that later)

------
bumby
>No one acknowledges the fact that in reality, you’re about to dedicate up to
5 working days on this task, with the potential for them to ghost you straight
afterwards.

Is this as common as the author makes it sound? This seems like shady
practice. I've heard of marketing firms doing this as a way to get 'free'
ideas/work

------
JacKTrocinskI
Someone I once worked with asked me a question that I think is relevant here
and I will never forget it (roughly translated to English): Do you work to
live, or live to work? It's beautiful, simple, and for me it put into
perspective what really matters. I value and enjoy my job but I refuse to
dedicate my life to it.

~~~
jacurtis
That is a great interview question. I would happily answer

"I work to live, and any company that doesn't want to hire me because of that
answer is a company that I don't want to work for"

------
flashgordon
It is interesting to see this outrage from a lot of candidates. Back in "my"
day (ie 10-15 years ago), it used to be that treatment of employed engineers
was shoddy enough (without the benefit of decent compensation or environment)
that it was relatively less risky to start a startup (aka ISV). But back then
interviewing was specific, experience based and not standardized. Ofcourse as
companies caught on and started selling the "we are Agile(tm) but also pay
really well and pamper you", the incentives to start your own decreased. This
resulted in an increased supply of candidates (at least for the "branded"
companies). I wonder if the next catalyst to start startups is the shoddy
treatment of candidates who are now pretty much moved through the cattle class
of interviewing pipelines?

------
xrd
Wouldn't it be interesting if everyone participating in these types of
interview challenges refused to do them unless the work could be turned into a
reference piece like this guy did?

I doubt many companies would like that, but if a majority of people refused to
participate without that clause, who knows? Clearly several people in this
thread felt like they were being asked to do work which would be put into
production and this would prevent that (though I personally am REALLY
skeptical of those stories).

It seems crazy that people are being asked to do work for even a few hours for
"free" much less several days of work. If you are doing that, it seems totally
fair to indicate that this work will be made public afterwards and made into a
portfolio piece.

------
mtnGoat
This sentences stuck with me and clearly illustrates how screwed, unhuman, and
selfish hiring is in this business

"No one acknowledges the fact that in reality, you’re about to dedicate up to
5 working days on this task, with the potential for them to ghost you straight
afterwards."

I was ghosted by AirBNB once, and I'm fine with not being good enough, but no
feedback and never a response was pretty freaking rude. You ask me to do a
task, i put part of myself into do it, and then no response, ever. I'm glad
they never responded, i don't want to work for a soulless company such as
that.

------
milesdyson_phd
The last take home thing I did, I put it up on GitHub with an MIT license
(didn’t sign any NDAs/etc). I figured if there was a chance they would
actually use it, might as well open source it for everyone.

------
SonOfLilit
Don't found your startup based on the first idea you fall in love with. Don't
found your startup based on the first idea you fall in love with. Don't found
your startup based on the first idea you fall in love with.

Make a list of attractive markets to play in, talk to a lot of insiders in
those markets, choose three ideas out of at least 30 that you generated, put
some serious work into validating their business models, _then_ let yourself
fall in love with one and spend 10 years sweating to make it a reality.

------
maaaats
I like the concept. I use Strava a lot for cycling, but it's not very good for
non-cardio activities. Lots of people I follow also track their strength
workouts on Strava, but I haven't done it myself as I find it hard to track
progress when the system is not made for it.

Before I have used Fitocracy, I'd say this may be the biggest competitor to
this, as it is (at least 5 years ago when I used it) more tailored for
strength, where one can log specific exercises and track them over time.

~~~
evanspa
You should check out my strength tracking app, Riker:

[https://itunes.apple.com/us/app/riker/id1196920730?mt=8](https://itunes.apple.com/us/app/riker/id1196920730?mt=8)

[https://play.google.com/store/apps/details?id=com.rikerapp.r...](https://play.google.com/store/apps/details?id=com.rikerapp.riker)

------
tqwhite
One assumes that, now that you have told the world you got the idea there,
that they will show up soon to claim your startup as their intellectual
property.

------
wpietri
Is this common?

> I was told it was extremely close and that I should reapply in 12 months,

It seems really weird to me to put this burden on the applicant. If someone is
above the hiring bar but just got edged out, shouldn't they go into the bucket
of people to contact as soon as there's an opening? And for designers at a
place the size of Google, wouldn't that be much sooner than 12 months?

~~~
allenu
I interviewed at Google and was told something similar. However, in their case
they did reach out to me about 12 months later asking if I wanted to reapply.
This was for a dev role though.

------
paulcole
Biggest takeaway to me is that the candidate didn't do as asked because they
thought they knew better. When someone asks you to do 3-5 hours of work, do
that.

If it's obvious you spent DAYS on this, what does that tell me as the
interviewer/recruiter? I have no idea if this person can follow instructions
and I have no idea what this person can do in 3-5 hours.

------
phendrenad2
A lot of people are saying they declined to continue interviewing after
receiving a take-home programming assignment that was too difficult to do in
the expected timeframe. I wonder if the better tactic would be to simply tell
the recruiter that it's too difficult, and see what the company says.

------
adamredwoods
In regards to a lot of talk about unfair pre-interview "projects", I highly
recommend everyone ASK for an interview before working on the assignment, or
if the assignment is short enough, work on-site, and request a code review in
person.

------
neilv
> _with a weeks notice and advised that we should spend no more that 3–5 hours
> on the task (wink, wink)_

Was Google wink-winking, or is there a well-known practice of ignoring a real
time limit, or is the writer imagining a wink-wink?

------
ppcdeveloper
Product looks good. I have been working on an app like this but haven't had
the time to complete (only time for wire frames, research and other peoples
stuff). It's good to see what should be.

------
brailsafe
Looks like the visual style of the most brand materials were _heavily_
inspired by [https://css-tricks.com/](https://css-tricks.com/)

------
neilv
This isn't typical startup origin story IP OPSEC. Aren't you supposed to say
the idea came to you in the shower, the day after you and a couple coworkers
quit your jobs?

------
cyberfart
I love metrics that are essentially irrelevant but sound very cool like "our
BETA users have burned two million calories collectively and lifted 500,000
tonnes".

------
ppcdeveloper
This is nice. I've been working on something like this for a while but never
finished(only time to build mocks and gather research). Good to see what could
be.

------
john_borkowski
How did you get your first 5000 users? Was it word of mouth, or did you do any
specific marketing?

I am currency confounded by how people get users to sign up to products pre-
launch.

------
fendy3002
Seems like, if somehow your startu is a successful one, google can just buy
your company. Win win

------
nojvek
Hahaha. TLDR: Google asked a designer take home question. Candidate did a
phenomenal job. Google still rejected candidate. Candidate turned the take
home assignment into a real startup.

Just goes to say how much the industry sucks at evaluating candidates in
general. This would have been a phenomenal candidate.

------
judge2020
I guess grudges aren't held, but I do find it humorous that even after being
rejected, the product's website "tona.fit" uses GSuite.

------
eruci
That's awesome! Working for yourself is also more rewarding in the long run.
Keep your eyes open for more interview question ideas.

------
djohnston
i love this. so many companies try to get free work out of interviewees, nice
to see tables turned

------
baskint
Great story - well done!

------
ignoramous
A lot of people don't realise it but a lot of the tasks you do for you
employer could very well have been a startup. There's a reason your employer
has you working on those problems: They know what their clients want.

Cisco is famous for funding startups by its fromer employees that satisfy
their client wants. Google might be trying something similar with Area120?

Being successful at startups is although an entirely different matter, and I
guess that's why most people don't take up the opportunity. The paychecks are
golden handcuffs, for some.

I think, these pg essays are relevant:

[http://paulgraham.com/before.html](http://paulgraham.com/before.html)

> _The component of entrepreneurship that really matters is domain expertise.
> The way to become Larry Page was to become an expert on search. And the way
> to become an expert on search was to be driven by genuine curiosity, not
> some ulterior motive._

...

> _At its best, starting a startup is merely an ulterior motive for
> curiosity._

...

[http://paulgraham.com/start.html](http://paulgraham.com/start.html)

> _...you don 't need a brilliant idea to start a startup around. The way a
> startup makes money is to offer people better technology than they have now.
> But what people have now is often so bad that it doesn't take brilliance to
> do better._

...

> _The best odds are in niche markets. Since startups make money by offering
> people something better than they had before, the best opportunities are
> where things suck most. And it would be hard to find a place where things
> suck more than in corporate IT departments. You would not believe the amount
> of money companies spend on software, and the crap they get in return. This
> imbalance equals opportunity._

> _If you want ideas for startups, one of the most valuable things you could
> do is find a middle-sized non-technology company and spend a couple weeks
> just watching what they do with computers. Most good hackers have no more
> idea of the horrors perpetrated in these places than rich Americans do of
> what goes on in Brazilian slums._

> _Start by writing software for smaller companies, because it 's easier to
> sell to them. It's worth so much to sell stuff to big companies that the
> people selling them the crap they currently use spend a lot of time and
> money to do it. And while you can outhack Oracle with one frontal lobe tied
> behind your back, you can't outsell an Oracle salesman. So if you want to
> win through better technology, aim at smaller customers._

~~~
naveen99
sorry for being offtopic: i see you list people you follow in your profile.
Are you using a 3rd party service to follow them, or using the hn api yourself
?

------
Zenbit_UX
I recently went through an interview with a company posting on HN and was
shocked by their challenge.

They provided their current UI (barebones dashboard) as well as instructions
to launch the backend server locally and requested I upgrade their UI to
include a side panel for filtering a data table.

The task itself wasn't difficult, but the realization that these scum bags
wanted me to upgrade their current product under the guise of a challenge. I
instantly knew this wouldn't be a company I'd want to work for even if they
did provide an offer.

~~~
hdfbdtbcdg
Are you sure it was the latest version of their product? Asking someone to do
a task that you have recently done could be a really good code test.

~~~
Zenbit_UX
They had given me a live demo of their product on a call beforehand, so I know
they didn't have this. They wanted me to design a feature they didn't have yet
on their current product.

~~~
grogenaut
If they had paid you for your time would it have been ok?

~~~
entropicdrifter
Depends on if you're happy just being a hired gun instead of an employee.

The real problem is that they've broken the social contract implicit in the
interviewing process, which is that the work you're doing is only to prove
yourself and that they won't benefit by it except to be able to gauge your
skills. If instead they had been honest up-front that they wanted to hire you
short term as a trial period type thing with the possibility of hiring you as
a full employee down the line, that would be fair.

~~~
DoofusOfDeath
Not worthwhile, but it would have been interesting if you'd completed the
project and included some telltale sign that you'd authored the code.

Then, if you found they'd deployed it without you having granted them a right
to use your copyrighted work, you'd have an interesting basis for a lawsuit.

~~~
WrtCdEvrydy
I would have sent it from a public Github repo.

That's what I usually do with code challenges!

------
sonnyblarney
Looks great!

------
p0nce
Easier to create a software company than work for one.

~~~
leesec
Nope.

~~~
p0nce
Try it and see for yourself.

