Latest / DevQuestions with Tim Corey / 056 How Much Should I Do In a Take Home Interview Exercise?
Transcript
- 0:00SPEAKER_01: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:03SPEAKER_01: Join us each episode as we tackle the questions you are asking about a career in software development, understanding the industry, and new technology.
- 0:12SPEAKER_01: If you're just starting out or you want to grow stronger as a developer, this is the place to get your questions answered.
- 0:19SPEAKER_01: Now, here's your host, expert developer and online educator, Tim Corey.
- 0:25SPEAKER_00: How much should I do in a take-home interview exercise?
- 0:29SPEAKER_00: This is a question that Rolf's asked me recently, and I think that it's one we need to dive deeper into.
- 0:35SPEAKER_00: So let's talk first of all about what we're talking about here.
- 0:40SPEAKER_00: So if you're interviewing for some companies, they'll give you an exercise to take home and do.
- 0:45SPEAKER_00: So maybe you've passed through the initial screening interview and maybe in a first kind of pass-through on a technical side.
- 0:53SPEAKER_00: And they say, okay, I want you to do this work to kind of prove what you can do.
- 0:59SPEAKER_00: And they send you home either with a short thing, half an hour, hours worth of work, maybe even do it on site, but not with a person present, or they may send you home over a day or the weekend or even a week or longer to get something done.
- 1:15SPEAKER_00: So I think that this question needs to be broken down into two parts.
- 1:20SPEAKER_00: The answer does.
- 1:21SPEAKER_00: The first part is, should you even do it?
- 1:24SPEAKER_00: And the second one is if so, what should you do with it?
- 1:30SPEAKER_00: What should you put into it?
- 1:32SPEAKER_00: How much uh effort should you put in?
- 1:34SPEAKER_00: So on.
- 1:34SPEAKER_00: So let's start off with should you even do this type of interview?
- 1:39SPEAKER_00: And it's not a cut and dried answer.
- 1:41SPEAKER_00: Of course, nothing is in programming, it seems like.
- 1:43SPEAKER_00: But the answer is not cut and dried because it depends on why they're asking you to do this, how much they're asking you to do, and if it's really relevant or important.
- 1:56SPEAKER_00: So um this can be a way.
- 1:59SPEAKER_00: Let's just let's start with the extreme.
- 2:02SPEAKER_00: The extreme negative here is there are a few, I wouldn't say many, but there are a few companies that will use this as basically free labor, where they ask a number of people to do real jobs or real parts of a job and then evaluate it and say, hey, you know what, we're just not interested right now, but then take that code and actually use it in their company.
- 2:28SPEAKER_00: Not ethical.
- 2:29SPEAKER_00: That's totally not ethical, not okay.
- 2:31SPEAKER_00: But that's an extreme.
- 2:32SPEAKER_00: I don't think that happens for the most part in the majority of employers.
- 2:39SPEAKER_00: They giving them the benefit of the doubt, they are trying to find out if you are a good fit for the position.
- 2:45SPEAKER_00: Now, if that job they give you is an extreme one that's going to take hours, days to complete, you probably shouldn't just do that.
- 2:58SPEAKER_00: Now, if you say, hey, you know what, this feels an awful lot like me doing the actual job, if I'm gonna do that, I really should get paid for doing that, maybe as a contract or something like that.
- 3:10SPEAKER_00: That's what, as an employer, if I was gonna ask a potential employee to do a real job, I would give them real pay for it.
- 3:20SPEAKER_00: Because that just makes sense.
- 3:21SPEAKER_00: You're you're getting something out of it, therefore you should be showing them that you will pay for what you get.
- 3:27SPEAKER_00: So there's a little bit of a weird situation there where is it really real?
- 3:32SPEAKER_00: Is it um something that I use, or is it just a good example to give all employees or potential employees that try out?
- 3:41SPEAKER_00: So it's a little gray area there when it comes to how much.
- 3:45SPEAKER_00: But this can be a really good way to show off what you can do.
- 3:51SPEAKER_00: So, should you do it?
- 3:53SPEAKER_00: Well, yes and no.
- 3:56SPEAKER_00: If it is, I don't want to give a firm number here, but let's just say an arbitrary number of four hours.
- 4:02SPEAKER_00: If it was less than four hours to complete something, yeah, I probably would if I was really serious with this company.
- 4:10SPEAKER_00: Now, if you're applying to a hundred companies and a hundred companies ask you to do this, no, don't do that.
- 4:16SPEAKER_00: But at this point, you should be in the final stages of interviewing.
- 4:23SPEAKER_00: This should be the last or almost last round of interviews or cuts before they pick the final candidate.
- 4:33SPEAKER_00: This should not be something they ask 50 people to do.
- 4:36SPEAKER_00: So, unless that's really small.
- 4:40SPEAKER_00: But in general, that's what it should be at, is it should be the final kind of round of interviews.
- 4:45SPEAKER_00: So, in that case, you're you are saying, yes, I want to go forward to this company, and this is the way I show off that I would fit in here.
- 4:54SPEAKER_00: It's also gonna be a good way to figure out if you can do a job.
- 4:58SPEAKER_00: Hopefully, they've given you a task that fits in with what you will actually do with your actual job.
- 5:06SPEAKER_00: This is something that's very hard to figure out in interview process, because that's really the goal of the interview process, right?
- 5:15SPEAKER_00: Is to find someone who can do the actual job.
- 5:20SPEAKER_00: And while you can say, hey, I've got 20 years experience in C sharp, that's great, but is it 20 years of different experience or is it 20 years of all the same experience?
- 5:30SPEAKER_00: Have you only done this little piece of C sharp?
- 5:32SPEAKER_00: Do you know about the different things that we use?
- 5:35SPEAKER_00: Do you know how to work in our environment?
- 5:37SPEAKER_00: Those are the kind of questions that employers have to figure out.
- 5:41SPEAKER_00: And it's really hard to match up just by terminology.
- 5:46SPEAKER_00: I can say, you know, yeah, I know, I know Python, and I do.
- 5:51SPEAKER_00: Um, I know enough to maybe write hello world in Python.
- 5:56SPEAKER_00: That's about it, but I've seen it and I've seen it more than once, and I probably have actually written three or four programs in Python.
- 6:03SPEAKER_00: But that doesn't mean I'm really in-depth on Python.
- 6:07SPEAKER_00: So I could, I shouldn't, but I could put Python on my resume, and then an employer has to figure out, yeah, but what kind of Python experience do you have?
- 6:16SPEAKER_00: Um, and the same thing with a person of C sharp.
- 6:20SPEAKER_00: Maybe they've got my that same Python level but in C sharp where they've done a few programs and can still prior remember how to do a hello world console app.
- 6:30SPEAKER_00: That's not the same as my C sharp experience.
- 6:34SPEAKER_00: But on a resume, it says C sharp and it says C sharp.
- 6:37SPEAKER_00: We try and put years around it, but that doesn't really help because a lot of things are much more modern and much more recent in their development.
- 6:49SPEAKER_00: So having a practical test can be very helpful.
- 6:55SPEAKER_00: Because if you look at the test and say, man, I just can't do this, then if it is, if it relates to the job well enough, that's what you're gonna feel like on day one of your new job.
- 7:09SPEAKER_00: And while there's always gonna be a sense of overwhelmingness on day one, no matter what, um, you want to know that you can actually do the programming job.
- 7:20SPEAKER_00: And if you just can't get it, then you probably won't just get it on day one or day two or day twenty of your new job, and that's gonna cause some stress for your employer and for you.
- 7:33SPEAKER_00: So having that ability to try out what they're asking you to do is great.
- 7:39SPEAKER_00: So, should you do it?
- 7:40SPEAKER_00: If you can, yes.
- 7:42SPEAKER_00: If it's not, if you don't think it's asking too much, then go for it.
- 7:47SPEAKER_00: If you don't think it's just an exploiting you as a free laborer, then as long as they're not doing that, go for it.
- 7:56SPEAKER_00: So the next part is how much effort should I put into it?
- 8:00SPEAKER_00: Well, you want to do a good job and you want to treat it like the real job.
- 8:05SPEAKER_00: So if they say this should be a four-hour task and you put in 30, you may have some great code at the end of that, but they're gonna expect that you can do that in four hours.
- 8:20SPEAKER_00: So when you get to the job and they give you another four-hour task and it takes you half a week to do, that's gonna cause some more stress between you and your employer.
- 8:32SPEAKER_00: So you really want to keep it to the time frame they give you or recommend.
- 8:38SPEAKER_00: You really want to talk through why it took you longer or what things you need to think about when it comes to the timing of it.
- 8:47SPEAKER_00: You can push back and say, hey, you know what?
- 8:49SPEAKER_00: You set us a four-hour task, but here's the reasons why it took me six or eight, and be very clear and up front with that.
- 8:58SPEAKER_00: Because you want to treat this as if you're really talking to your boss.
- 9:04SPEAKER_00: Because they will be your boss, hopefully, in the future, if this goes well.
- 9:08SPEAKER_00: And if right away you have a clash over how long it should take or what's expected of you, you kind of want that before you even sign a contract or become an employee.
- 9:21SPEAKER_00: Because moving on from a failed interview or an interview that where you say no isn't as as hard or is easier than actually becoming an employee, getting into it and going, oh, this is not gonna work.
- 9:37SPEAKER_00: Because now it's really messy.
- 9:39SPEAKER_00: So try and get that out front and aware of hey, this is the expectation versus what I expect, and they don't match up.
- 9:50SPEAKER_00: So it's a great opportunity.
- 9:53SPEAKER_00: Now, the other part of it is how much do you show off in this code?
- 10:00SPEAKER_00: You could dump every best practice, every design pattern, every you know, trick you've ever learned into this code and make this mess of code to show off, hey, I can do all this.
- 10:12SPEAKER_00: But I would really recommend that you do exactly what you think is best for the situation.
- 10:20SPEAKER_00: Show off not just that you have skills in programming, whatever you're you're um interviewing for, but that you also have the skills of discernment, logic, um, situational awareness.
- 10:35SPEAKER_00: These are really important for developers.
- 10:38SPEAKER_00: Some people ask me about um design patterns.
- 10:41SPEAKER_00: We'll probably do another video on design patterns at some point, but they ask as if you should always know or always use these design patterns.
- 10:51SPEAKER_00: And that's that's kind of a rookie mistake.
- 10:54SPEAKER_00: You don't want to just always do something.
- 10:58SPEAKER_00: So when it comes to writing your code, you want to write the code that you think fits best for that specific situation.
- 11:05SPEAKER_00: And then if you're going to not be presenting the code, if you're gonna just give them the code and they read it over, I would put code comments in.
- 11:15SPEAKER_00: I'd say, hey, I didn't use dependency injection here because it didn't look like that's already existing in the rest of the application, or you know, this might be a place for a good logging pattern, but it didn't seem like that was already in place.
- 11:30SPEAKER_00: And I didn't want, I want to conform to what's already there.
- 11:33SPEAKER_00: You know, talking about, hey, I'd probably do these things, but it didn't look like that fit in this situation.
- 11:41SPEAKER_00: So you're showing off that you know that they exist, that you know that you'd want to do those things, but also that you know that your code has to conform to what's already there and how the current patterns of that particular code base work.
- 11:57SPEAKER_00: All right.
- 11:58SPEAKER_00: So it's really a great opportunity.
- 12:01SPEAKER_00: So let's kind of back up and go back to that question, the the main question.
- 12:06SPEAKER_00: How much should I do in a take-home interview exercise?
- 12:10SPEAKER_00: That depends on why they're asking it, but in general, show off what you can do as if it's a real job.
- 12:20SPEAKER_00: Don't cheat and do too much and pretend you did it in four hours when it's really 30.
- 12:26SPEAKER_00: Um, don't get a don't just do it because they asked for it and you know that they've asked 20 other people to do it.
- 12:36SPEAKER_00: Be discerning on when you do it.
- 12:38SPEAKER_00: But if possible, if this is kind of like the showing off what you can do, final countdown for the few people who are left in the interview process, take it as a huge opportunity to show off what you do in the real job and then use it as an opportunity to talk to your potential employer as if they were your boss.
- 12:59SPEAKER_00: Make sure you're on the same page as far as expectations, make sure you're on the same page as far as how you write your code and what your thought processes are on what you might do differently or change or want to change in that code.
- 13:14SPEAKER_00: All right.
- 13:15SPEAKER_00: So it can be a great opportunity, it can be a bad one as well, but in general, um, take advantage as much as possible if it feels right to you.
- 13:25SPEAKER_00: All right.
- 13:25SPEAKER_00: So I hope that answers your question, Rolfs.
- 13:28SPEAKER_00: If you found this episode helpful, I would really appreciate it if you'd share on your social network.
- 13:32SPEAKER_00: As always, this is not only a video, but it's also a podcast.
- 13:36SPEAKER_00: You may be listening to the podcast.
- 13:38SPEAKER_00: Hey, there's a video of this.
- 13:39SPEAKER_00: And you may be watching the video, in which case, hey, there's a podcast of this.
- 13:42SPEAKER_00: Um, the podcast is on all available um, you know, Spotify, iTunes, and all the traditional places you find the podcast episodes.
- 13:51SPEAKER_00: And the video is on YouTube on my I Am Tim Corey YouTube channel.
- 13:56SPEAKER_00: Thanks for listening.
- 13:57SPEAKER_00: And as always, I am Tim Corey.
- 13:59SPEAKER_01: Thank you for joining us for this episode of Dev Questions.
- 14:02SPEAKER_01: Tim is committed to making it easier for you to become a developer.
- 14:06SPEAKER_01: If you would like to help make more content like this possible, please like, subscribe, rate, and share Dev Questions.
- 14:13SPEAKER_01: You can also send your questions to questions at IamTimcorey.com.
- 14:18SPEAKER_01: Until next time, remember, you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 14:25SPEAKER_01: When you're ready to learn to think and code like a professional developer, head over to Iamtimcore.com and enroll in a course.