50

I am interviewing with a company for a software engineering position. As part of the evaluation, I was given an "assignment" with a handful of small programming tasks.

One of the tasks specifically asks that I deliver it using a specific technology, which I have never used (for clarification: I don't list it anywhere on my resume, so they aren't catching me in a lie or anything like that).

Is it acceptable to submit incomplete work now, with 5 of the 6 tasks being completed, along with a note saying something like "I've never used XYZ. If I can take an extra day or so to learn it then I will submit it when it's done, but here's the other 83% of the assignment."

  • 11
    Having made these tests myself, it is sometimes difficult to judge how difficult to make them. If they're looking for promise, submitting as is will probably be sufficient. If they're looking for an already wound wind up toy then you probably don't fit the bill and maybe it's not a great fit either way. – GenericJam Apr 24 at 9:46
  • 1
    I would note that most companies underestimate the amount of time a challenge should take, even if one has master level skills for the particular challenge. – Mark Rogers Apr 24 at 16:42
  • 2
    Sometimes they are harder for senior devs, as you start to consider all kinds of things less experienced devs might skip over :) – Juha Untinen Apr 26 at 15:03
  • 2
    There are companies that make it intentionally hard to complete such assignments, if not outright impossible, to see how candidates react, or to see how their non-polished code looks like. – PlasmaHH Apr 26 at 20:57
97

It's certainly preferable to not submitting it at all!

Assuming that it's "due" now rather than in the putative extra day or so that you need to have an attempt at the 6th task then I'd do as you suggest - they know you don't know how to work with the specified technology so it (shouldn't) come as a complete surprise to them that you weren't able to complete that aspect.

Suggesting that you can further submit this part in a reasonable sounding timespan is good - even if they don't take you up on doing that you've shown willing to tackle things outside of your existing skillset/comfort zone which is a plus in of itself.

| improve this answer | |
  • 47
    I emailed the incomplete assessment with an explanation that I had no experience in what they were asking for and they came back and said "take an extra day to see what you can put together" for the missing part. So I'm gonna mark this as correct since they definitely emphasized being able to learn new things. – Strikegently Apr 23 at 20:30
  • 13
    @Strikegently Thank you for following-up on the result of the answer, that really makes your question more helpful for future readers as well. – Mast Apr 24 at 6:26
  • 17
    @Strikegently You actually showed them more than that you are willing to learn new things. You showed that you are honest to admit you don't know something and let them know in time instead of just giving up or stealing something off of stackoverflow. – Fildor Apr 24 at 6:26
  • 4
    Depending on how much you want that job, I'd reply that what you gave is what they'll get (but with more polite phrazing). Your time has value too! Them saying "sure, just use up another day" is a tiny reg flag how they respect your spare time. I wouldn't ask it of an candidate. – Martijn Apr 24 at 13:10
  • 10
    @Martijn The OP said "If I can take an extra day or so to learn it then I will submit it when it's done" and they responded back "take an extra day". I don't think they're being unreasonable. OP suggested they wanted to spend an extra day and they agreed. This isn't them abusing OP's time. – Centimane Apr 24 at 14:55
33

Submit it as it is. Simply state "I am not familiar with XYZ and wasn't able to complete task X." Don't offer to learn it and complete it at a later time. The goal is to find out what you know. It's OK to say "I don't know that." Learning it in a day or two isn't going to help you get the position because they know that you learned it for the purpose of the test and don't have any real experience with it.

If you don't get the job because you don't know X, that's OK. It's OK to not know something. Use this as your motivation to learn X, if you think that will help you with the next opportunity.

I don't know lots of things. If I say "I don't know that", it's OK. My life isn't over. I move on and use it as an opportunity to learn and grow.

| improve this answer | |
  • "I move on and use it as an opportunity to learn and grow" - I wholly agree with the latter half, but isn't that the message I would send by telling them "I don't know XYZ, but I learned enough to complete the task" ? – Strikegently Apr 23 at 14:26
  • Can you really learn it in two days? Can you learn it enough to be proficient enough to work with it in your daily role? The goal of the test is to determine what your skills and knowledge are and if they fit the requirements of the job. Learning something over the course of a few days doesn't develop experience and proficiency. It's OK not to know something. It's OK if you don't get this job because you don't know X. Keep working with and studying X until you develop more knowledge, experience, and proficiency with it. – joeqwerty Apr 23 at 14:31
  • @Strikegently, by all means submit away(as it is). And move merrily on to the next job ad, keep applying, its a numbers' game out there, both ways. – Rickka Apr 23 at 19:27
  • 15
    @joeqwerty: The point of submitting the last task later isn’t to claim you’ve learned enough X to be fully proficient; it’s to show that you were able to quickly learn enough X to complete the assigned task. Which is different, but still a good skill to demonstrate. – PLL Apr 23 at 23:38
  • @joeqwerty Many job postings aren't going to get a "perfect" candidate that has all the training and experience for the role they'll fill. Instead a job posting a "wish-list" and candidates only need to meet some number of them to be in the running. Pretty much any new hire (especially in software engineering) will need some kind of training or to learn some technology regardless of experience level. With that said, if a candidate demonstrated an unwillingness to try to learn, that's reason enough to discard them. Nothing is more frustrating than "I've tried nothing and I'm all out of ideas" – Centimane Apr 24 at 15:09
5

Sometimes companies test if people are capable of working with technologies they don't know - if they're able and willing to learn, especially on their own.

I don't know if this is the case here, but it's a possibility.

I know that when I interviewed others, I intentionally gave candidates some tests that were outside of their area of expertise, and I told them it's ok to google for the info, that it's not a test of what they know, but a test of whether they're capable of learning. I certainly did not want a team member who, if he meets a technology he didn't use before, is totally blocked, dead in the water until someone holds his hand.

By submitting the part you already know how to do right away, you show that you already know how to do it (if they have to wait before they get anything, they might think that you don't know any of it).

By offering to complete the rest in a couple days, you show that you're willing and able to learn. Thus it's good to at least tell them that this is possible.

The whole thing might be intentional or might be just an omission on their part, there's really no way to know (which is why, if it was intentional, they should have clearly told you so), but it's good to be ready for either.

| improve this answer | |
2

This could probably be a common task that is given to most of the interviewing candidates. It is very much okay to tell them that you do not have knowledge about certain tech and hence couldn't answer a question.

But, do not tell them If I can take an extra day or so to learn it then I will submit it when it's done.

This would leave the ball in their court and they could question you when you might want to learn to complete this or could be any other question.

Never promise anything that you do not know, yet. Esp, in tech field. We could run into unforeseen issues and that could hamper a lot of things.

| improve this answer | |
2

I would submit what you are able to complete to the best of your ability and include a write-up about the parts that you did not have time to complete and how you would approach it if you had had more time. Come prepared to discuss it in the interview. The point of this assignment isn't actually have you do it, but see how you work and approach challenges. Sometimes that means determining what is actually most important and delivering what is possible within your time constraints.

In my last interview, I had a technical assignment to design a program with a series of classes and include unit tests for all of them. I was not familiar with the test harness technology, however, and just did not have time to learn it on top of doing the rest of assignment, and living my life. Instead, I focused on just designing the program as well as I could and did it in such a way that unit tests could be added on later. I then went into the interview and had a good discussion about my design approach with the time constraints I had. I showed how I was able to work within those constraints to deliver the most value and discussed how I left the design open to add on the other parts later and how I would go about doing it if I had had more time. I got the job.

| improve this answer | |
1

I suggest you sent it incomplete. The goal of such 'homework' is for them to assess your current skill and for you to show what you can do. When I evaluate the assignment (im a programmer myself) given by an candidate, I'm not looking for the exact solution. I care more about how you split al files/code, your naming convention, coding conventions etc.

The more code I get presented, the more solid my assessment can be, but there is a certain threshold point that if you can make that (and 5 out of 6 assignments probably is enough) I have enough material.

I would apreciate a nice message that you ran out of available time and would really like at least a theoretical solution where you explain which choices you would need to make and why (thats 75% of what I want to know anyway). The way you handle running out of time also tells a lot.


I would phraze it in such a way that it's obvious (but polite) that this is the amount of work you're willing to do. If they ask to do more, I'd push back. It's your free time, them asking to spend more on something no-one is ever going to use is a bit respectless IMO and a tiny reg flag how they respect your free time.

| improve this answer | |
0

"Sure, no problem. Be honest. I've been on the other side of that desk, and I was pleased to get a timely response that "wasn't b(!)t." The applicant did his best, concerning all the things that he did know how to do, and was completely forthright about the rest.

To me, that implies: "integrity."

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .