I'm having trouble with how to
exactly attack the data science.
Take home portions of the interview.
When you get one of
these take on problems.
By far, the most important thing to
do every single time is to clarify the
problem, right?
This is the biggest
mistake that I've seen.
Like I said, a lot of different take-home
problems out to a lot of different, you
know, students around the world, whether
it's a, a more junior position, an intern
position, a more senior position.
Whatever it is.
I've sent out a lot of
different take home assignments.
I've done ones that are more algorithms
based, ones that are more analytics based.
Ones where I've given people an option
of kind of do whatever you want, but the
biggest problem I see is that people don't
clarify the problem and they start right
off the bat by making
incorrect assumptions.
So what does this mean?
This essentially means that I'm asking
them to solve some particular problem and
they end up solving some different
problem, which my response is right away
that this is totally worthless.
The work that you've
done means nothing to me.
How can I hire you if you're not going
to do the thing that I need you to do?
So right off the bat, you have to make
sure that you understand what they're
asking, what they're looking for, right?
Like there's really kinda two things that
you want to try to clarify, which is like
what they're asking and what they want
you to do, what the problem is that you're
trying to solve at night.
This is, this is an opportunity
where you want to ask them questions.
You want to send them an email, you want
to talk to them on the phone, you really
want to make sure.
That you're nailing exactly
what they're asking you to do.
And the second thing is they might not
necessarily answer this one for you.
You can't necessarily just ask them, but
you want to try to figure out why are they
asking you to do this, right?
Do you want to think about it from their
perspective with this problem that they're
giving you?
What's their motivation, right?
Like what's the, what's the motivation of
the hiring manager of whoever's sending
this to you, right?
Are they trying to test your Python skills
or they're trying to test your analytics
skills.
Do they want to see your logical reasoning
ability, your attention to detail.
Think about the particular problem that
they're giving you and figure out why are
they giving me this problem based
on my conversation with them?
What sounds important to them, right?
Like when you talk to them, you want to
figure out what seems like it's the most
important thing to them.
So you can really focus on doing that
well, and one thing you want to do, like
you always, always, always want to do this
when you clarify the problem is when you
make, like, even if you know what you
think they need, just summarize it.
Let's see if I can spell that correctly.
just summarize what it is
you think they're asking.
Summarize the problem you think they want
you to solve and stated back to them.
You can say, Hey, just wanted to clarify.
You're asking me to take this data set.
You know, look at this feature, make a
model that does this prediction, and then
I'm going to save the file, give it this
name, and then I'm going to email it to
you by next Friday before 5:00 PM like you
want to summarize all of the information
you have in your own words, stated back to
them and make sure that they gave you the
green light to go ahead.
Because the worst thing you can do.
Is simply solve a problem that they
didn't ask you to solve because again, the
problem with that, even if you do really
good work, the problem with that is it's
difficult to trust you as an employee if
you're, you know, if you're not working on
the right thing, if you don't take two
seconds to actually clarify that what
you're doing is correct.
Right?
Like this is such a small time investment
versus the amount of effort you're gonna
put into this.
You might spend a two minute conversation
clarifying the problem and then you spend
10 hours working on it.
So don't make those 10 hours wasted
because you wanted to save two minutes or
not bother them or whatever.
Make sure you clarify the problem and
figure out what they really care about,
like what they want you to
do, what's important to them.
Why they're giving you
this assignment, right?
Is it based on algorithms?
Do they want to see something
that's high performance?
Do they want to see really thorough EDA.
Like, what do they actually care about?
And once you do that, then
you can start working on it.
And you've got to be really, really
careful with your time when you're doing
these take-home assignments.
Cause another problem I see is people
spend their time doing the wrong things.
Like it's really easy to fall into this
trap of wanting to do something perfect
that you get this idea, Oh, I
want to do really great EDA.
And you spend all your time doing EDA.
And then you build a crappy model, right?
Or you spend all of your
time building the model.
You don't spend any time in the EDA like
you've gotta be really careful with your
time.
So what you want to do is start by
designing a minimum viable product and
think about, okay, now that I understand
what they want me to do, why they want me
to do it, what's the absolute minimum
work that I can do to accomplish this?
Try to figure out what
would probably pass this.
Take home assignment.
What's the absolute.
Minimum, not going above and beyond at
anything and start by completing that.
Like make a little checklist of, I've got
to have basic ADA that touches on, you
know, points a, B, and C.
I've got to do a covariance matrix.
I got to do this, this, and this.
I've got to save my output as
an Excel file, whatever it is.
Like, you know, based on clarifying
the problem drop minimum requirements.
So you can work on those first.
Cause you've gotta be really
careful with your time here.
It's easy to run out of time on these and
there's nothing I hate more than hearing
some shitty excuse about why
they couldn't finish it on time.
That's literally the, the only other thing
is bad as not clarifying the problem.
Doing the wrong thing is
not finishing on time.
How am I going to hire someone who
can't finish assignments on time?
I can't.
It's, it's useless.
Like the business has deadlines.
Things have to be done.
Even if it's, you know,
just a minimum minimum work.
Even if it's less than that, like
you've got to finish on time.
Got to finish on time or your debt.
I don't want to hear excuses about how
you had homework assignments, how you had
exams.
How your parents are sick, your dog is
sick, your girlfriend kicked you out of
the house.
Like, I don't care about
any of those things.
I'm trying to hire an employee that's
going to do work for me to help make our
company successful, right?
And maybe if you've worked for us for a
long time, obviously we're going to be
more lenient.
You're going to have the ability to get
time off and all these other things.
That's fine.
But when you're in the interview process,
no one's really going to care about your
excuses, right?
Cause no one really knows you to know if
they're even legit excuses or they're just
kind of made up BS.
So finish things on time.
So create this, this list of minimum
requirements you need to finish and finish
that first, right?
So just create a list and then
you're going to finish this first.
And then you also want to, you
know, increase, expand this out.
And so, okay, if I finish this minimum
is absolute minimum where I test like.
One machine learning model.
I do some super basic EDA, you know, just
absolute basics that you have to do to
finish this.
Then say, okay, what are the,
what are the extra things?
What's an extra thing
that's gonna set you apart?
This one, you don't want to go crazy and
you don't want it to say like, all the
different extra things possible.
You just want to think about something
that's going to set you apart from other
candidates, right?
So this, this is something that you want
to present as a unique skill that you have
that other people don't have.
So it could be using deep learning.
It could be doing really
nice visualizations.
It could be making a great
presentation at the end.
You know, it could be tuning the model.
So it's absolutely perfect.
Could be automating stuff, right?
It could be object oriented programming.
Good software design.
There's a lot of different angles you
could take to improve your minimum project
here.
This is gonna make you unique and stand
out and be more successful than other
people.
Cause you're gonna be
able to talk about this.
Like what's good.
If you do this, you can talk about this
during the interview process and you can
explain to the company, okay, here's
why I'm going to make you successful.
And help your company in a
way that other people can't.
I'm going to help you solve this problem,
this problem using my unique skill set,
which is going to drive
revenue for you, et cetera.
And that's going to set you apart
from other candidates, right?
So finish your MVP, and then if you have
time, you know, this is a tough angle to
write at, by the way, you know?
Then just review your work and you can
start working on those extra things.
So one reason it's important that you
always try to review your work as much as
you can.
Obviously this is.
A time constraint problem that you're
working on, so you can't like review this
thing 30 different times and make sure
that there's absolutely zero bugs and
everything, but you want to have like at
a minimum, a couple of basic test cases,
even if they're basic and it's not a
hundred percent coverage and there's all
kinds of gaps in this.
Just try to have some basic test
cases because really what you want to
demonstrate by reviewing your work is
that you have high conscientiousness.
Essentially, you want to show that you
have high attention to detail, right?
Like you can't turn in work that's bad.
Like we can't give it to a client.
If it's going to crash and
cost them millions of dollars.
So make sure that you review you.
Your work has them.
Couple a couple of basic test cases
here, and then you can add on those extra
things.
And then at this point, you're basically
just iterating with number three, right?
You're just going to review your work, add
some extra stuff, review your work, add
some extra stuff, review your
work, ask some extra stuff.
until you run out of time.
All right?
So you're just going to review your work
and then do extras over and over again
until you're out of time.
and that's pretty much it.
Like the other part of this question
probably is how do you do MVP?
How do you actually solve the problem?
we did a call on how to solve any take
home assignment or case study a few weeks
back.
I think it might've actually
been at the end of January.
so go check that one out in
the mentoring program site.
But one thing you basically want to
do here is just reverse engineer your
solution.
Right?
Don't try to think of something creative.
Don't try to be clever, right?
No one's going to appreciate
you trying to be clever.
They want a solution to the problem.
So once you've clearly defined the
problem, think of what a solution would
look like and then step backwards,
backwards, backwards, backwards, breaking
down that solution so you get to the
initial conditions and then build out
those initial conditions.
Put them back together.
To create the solution.
So just reverse engineer something simple,
like a simple solution is much better than
something clever or creative.
Trust me, like if you worked there
for awhile, you're going to have the
opportunity to do some clever and creative
things at some point in your career,
maybe.
But for the most part, they just want to
see like, Hey, can you think logically?
Can you come up with a solution?
So this clearly defined problem.
Can you complete it on time?
So those are the few things
you want to show off, right?
You can write, you can define the
problem, you can break it down.
Think logically.
You can provide a solution
and it's on time, right?
These like if you don't have one of these,
if you don't define the problem, you're
going to fail.
If you don't logically break down
a solution, you're going to fail.
Like if you don't actually solve
the problem, you're going to fail.
If it's not a time you're going to fail.
So if you start by just getting the
basics done, you're going to be fine.
This is actually going to be, you'll
be way ahead of most students.
Right?
Or most people in general,
they get take home assignments.
they don't clearly define the problem.
A lot of times the solutions kind of
harebrained, they try to be clever and it
doesn't really impress anyone, right?
They just jump to like, Oh,
I got this deep neural net.
That's awesome.
And it's like, well, I made a
better solution with random forests.
So why did you use something more
complicated than is necessary?
Right?
So don't overcomplicate it and
keep this simple as possible.
Make sure you solve the
problem and finish it on time.
You'll do much better than most people.
All right, so hopefully that helps a
little bit for take-home assignments.
