DEV Community

loading...
Cover image for A list of assignments I was given when interviewing for companies.

A list of assignments I was given when interviewing for companies.

fayaz profile image Fayaz Ahmed ・4 min read

Writing after a long break.

So I have been giving interviews for quite some time and usually it involves an assignment where they will define some requirements according to which I have to work on them and also a deadline.

Some of these are given as weekend project & some of these have been given to work right while I was being interviewed in their office.

Ofcourse, I won't be revealing the company names but I will mention the industry type of the company I was giving the interview for.

I have also listed the assignments which were difficult for me to do at the end of the article.

All of these interviews happened in Bangalore, India. So the interview process might be different in different parts of the world

1. A responsive web app which consumes an api and lists the data and also make a form and send data via a POST request.

Type: Was given to work over the weekend.

Requirements: Make this with jQuery and Bootstrap & it should handle all the edge cases like validations(without using any external library), api errors & placeholders when the api was loading. I was given 24 hours to complete this.

Role: Junior Frontend Developer

Industry: Healthcare

Status: Selected (This was my first job as a developer)


2. Convert a landing page design prototype (an invision file) to code, without using a css framework.

Type: On site

Requirements: Make this in 1 hour and I can only use pure css. I was given access to internet and they allowed me to google things.

Role: Frontend engineer

Industry: CRM and SaaS for sales teams.

Status: Selected but did not join as I found a better company to my needs.


3. Clone zoomcar (a very popular car rental service in India) webapp. It should have filtering, sorting, add price ranges, should paginate data and filters to be persistent even if move to next page.

Type: Weekend project

Requirements: Make this with vue.js and I was given an api with some data like car mileage, seats,

Role: Frontend engineer

Industry: Vernacular Platform for content writers

Status: Could not complete on time and hence was not selected.


4. Make a clone of trello and it should have cards draggable feature

Type: On site

Requirements: I can use any javascript framework, any css framework. This was a competitive interview with 4 other candidates and we were given 1 hour 30 mins to complete it.

Role: Javascript Developer

Industry: Real Estate property Listing Platform

Status: Rejected, because another developer made the clone flawlessly and my submission looked like a kid in front of it


5. Make an admin dashboard

Type: On Site

Requirements: Whatever javscript framework I can use, but they mentioned brownie points if I use react (which I didn't). An use case of Employee details platform was given. They were expecting a dashboard with data filtering and sorting and I had to decide how to visualise the data and show it in the dashboard

Role: Frontend Engineer

Industry: An HR management SaaS Portal.

Status: Rejected (Assignment was completed as requested), when asked for reason they said I did not make it scalable and my project structure was not good enough and I did not document the code properly (I think I didnt name the variables properly).


6. Make a Tic Tac Toe game

Type: On Site

Requirements: I was given as much time I want, I can use any framework and I had to make the game responsive (should look on phones too)

Role: Growth Engineer

Industry: Gaming App.

Status: Selected. I worked there as a consultant for some time.


7. Make a e-commerce platform with Vue.js

Type: Weekend Project

Requirements: A mock api was given and I had to showcase these products. They wanted animations involved in it and I was supposed to use Vue.js and Any CSS framework I am comfortable with.

Role: Frontend Engineer.

Industry: An agency which builds only e-commerce sites.

Status: Rejected, because I could not crack their technical round.


7. Make a Data Visualisation portal of Sachin Tendulkar's sports career

Type: Weekend Project

Requirements: Sachin Tendulkar is probably the best cricket player of all time and I was given a csv file to showcase the data in using Tailwind CSS and Nuxt js, the project came out very well -
Demo - https://sachintendulkar.netlify.app/stats & here is the source code.

Role: Senior Frontend Engineer.

Industry: A SaaS company which specialises in Data Visualization.

Status: Rejected, reason not mentioned.


8. Make a text analyser from a text file.

Type: Weekend Project

Requirements: Make an api with Node which accepts a text file and I was supposed to return the most repeated words in it. A huge text file (around 7 mb) was given to me as an example. Here is the code if anywants to know how I built it https://github.com/fayazara/text-analyser

Role: Full stack engineer.

Industry: A service which makes AI bots for enterprise companies.

Status: Selected.

The assignments 7 & 8 (data visualization and text analyser) were probably the most difficult to make for me personally and I completed and I am proud that I was able to complete them.

There were some other assignments as well which I think were not worth mentioning, let me know in the comments if you want those as well.

I hope beginners & people who are looking for a job will benefit from this and feel free to share some of the assignments you were given while interviewing.

Illustration by Stories by Freepik

Discussion

pic
Editor guide
Collapse
javier123454321 profile image
Javier Gonzalez

The thing that is annoying about this is that it is so much value that is wasted into an app that no one will use.

Collapse
190245 profile image
Dave

I'm currently hiring for a team (not front end).

Why do you think the time is wasted? Why do you think no-one will use the application? How else is a hiring manager supposed to judge your skill (apart from resume & your word)?

As a point of reference, I give juniors two technical questions during a Skype call. One is "fix the bugs" (spoiler, there's a missing semi-colon) and the other is "fix the bugs & optimise the solution."

That last question is a little evil really, because it's deliberately designed so that it's impossible. Test #1 proves you know the language, Test #2 tells me what you do when you don't understand how to improve something.

My senior test, is a list of maybe 7 requirements, and they're given a week before interview. People already employed that have tried the test can do it in a little over an hour & give a passable solution. Some candidates I've talked to have taken around a day (7 hours), mostly because of the "showing off" during an interview factor.

Collapse
fernandogv667 profile image
Fernando

Glad to see the hiring process moving away from writing algorithms about prime numbers or fibonacci series (using a terrible online IDE).

Thread Thread
190245 profile image
Dave

Thanks. I changed it because I also hate those online IDEs.

Though I'll hold my hand up, the junior test still talks about perfect primes. But that's in test #2.

Collapse
darkwiiplayer profile image
DarkWiiPlayer

Why do you think the time is wasted? Why do you think no-one will use the application? How else is a hiring manager supposed to judge your skill (apart from resume & your word)?

(EDIT: This goes mostly for over the weekend homework type tasks described in the article, not the smaller things you described in your comments that happen during an interview.)

By not being a complete dick and compensating the possible future employee for their work?

How about just having someone work for a day or two? They get paid, you get some extra help around and, if you end up hiring them, the'll already have those days of experience in the new environment and will be as productive on day 1 as they would otherwise have been on day 3. Everybody wins.

And even if you're not going to pay for that short time, at least it's a two-way thing and the applicant also gets a better impression of the company, so they still benefit more than with the one-sided interrogation mirror of a weekend homework.

Conclusion: Stop treating software engineers like schoolkids.

Thread Thread
190245 profile image
Dave

Lets keep this both civil, and to the point shall we.

All applicants have to send their resume. From there, I make a decision about seniority.

Applicants for a Junior position on my team get ONE Skype call (set at an hour, but we can be a little flexible). During that call, we cover everything, including a two question technical test. After said call, we make a decision and either hire them or reject them.

Applicants for a Senior position on my team have a take-home test to do. A passable solution can be done in an hour and change. We allow a week for the turn around time, and it's a simple "Create a CRUD application that has 3 entities, use your own judgement for test coverage and documentation." After that, they get an interview, and in some cases, that is set at 4 hours.

Neither of those are "work" and neither of them are paid. Nor will they ever be.

So, kindly explain (and I've censored for you) how you think I'm being a d*ck? The compensation is the feedback I give (I've lost count of the times that Senior applicants have replied to the feedback with "thanks, I've learnt some things I can take with me").

Re "just having them work for a day or two" - lets skip the domain specifics, having someone new in the office means onboarding them. It means other people on the team have to invest time & energy into that candidate, and as a result, they're not working on the projects we get paid for. If we're talking about a junior candidate, I wouldn't expect them to be productive for at least a week. If we're having them work in the office, it means the desk, the laptop, the network all need to be setup in advance, for someone we may not hire.

Now lets factor in the legalities... lets say I've hired you. I have a fresh laptop sitting on your desk, fully setup with relevant permissions on the network, and I've even installed your favourite IDE into your user profile. You cannot access the building without signing security paperwork, and you cannot (legally) access the floor where your laptop is until you've signed even more paperwork. Allowing time for you to read that paperwork before signing, it's after lunch time on your first day before you even get to touch your laptop.

Lastly, considering my approach is always "I put in twice the amount of time that a candidate does" (to the extent that ~400 lines of code can warrant 2 pages of feedback)... I'd love to hear why this is a "one sided interrogation"

I completely understand that other employers might not act the way I do, but lets not tar everyone with the same brush, shall we? (My style is actually modelled on an interview I went through as a candidate, where I had a 45min chat, some whiteboard drawing, and a 50min paired programming exercise)

Thread Thread
darkwiiplayer profile image
DarkWiiPlayer

I should probably have made it clearer that I was talking mainly about cases as described in the post, which is what the top-level comment was talking about, which you replied to.

There's nothing wrong per se with having a job applicant solve some sort of challenge interactively, but I see a clear line being crossed when people are asked to build whole applications that may take them an entire afternoon.

Neither of those are "work"

You're not directly profiting from those tasks, but you're still telling the applicant to do them so one way or another they deserve to be compensated for it (ideally by gaining an equal amount of insight into the company).

You say you give them very detailed feedback on their projects, which does sound reasonable, but how common is that? And do you always give this feedback? Even if you already decided to not hire the person?

Re Re "just having them work for a day or two": What you describe sounds awfully restrictive. I will assume you work in a field where such an emphasis on secrecy is warranted, but for most cases so much paperwork just to give someone a computer to work on some simple task seems overkill.

My newest coworker just came here for one day, got my desk as I happened to not be working that day and got to work on some simple tasks. He spent an entire 8-hour work day here, and the company spent an entire 8-hour work day on him. That sounds fair, no? Sure, he wasn't being very productive, but again, on his first day, he was already one day ahead.

Lastly, considering my approach is always "I put in twice the amount of time that a candidate does" (to the extent that ~400 lines of code can warrant 2 pages of feedback)... I'd love to hear why this is a "one sided interrogation"

What does that feedback tell the applicant about the company? Do they get to know their coworkers? do they get an impression of real code as it is used in the company? Does it tell them anything about the work ethic? Does it show off a common workflow at the company?

Surely your feedback is valuable to the applicant, but it probably doesn't give them the same sort of insight than you get.


Overall what you've detailed sounds very reasonable. Roughly an hour is about the upper limit of what seems acceptable for homework, but here are two thoughts on that:

  • Are you sure most people don't spend way more than an hour on the task? I imagine most people would spend at least a few hours to make sure it's spotless.

  • Aside from direct feedback, do you also offer the applicant an insight into the company? A while ago someone (might have been here on dev) mentioned that in interviews they always ask to see one one example of good code and one of bad code written at the company, which seems like a very fair deal considering the applicant has to provide a code sample as well.

Thread Thread
190245 profile image
Dave

Thanks for the reply, taking your points in order:

You're not directly profiting from those tasks, but you're still telling the applicant to do them so one way or another they deserve to be compensated for it (ideally by gaining an equal amount of insight into the company).

Insight into the company is both tricky (for reasons I'll shed more light on in a moment) and of limited value to a candidate - especially if that candidate gets rejected during the hiring process. Granted, giving them exposure could improve our word of mouth, but we use recruiters for the PR type issues around recruitment.

So instead, I treat candidates with a "you're trading your time for my knowledge of the tech stack, if I can give you more knowledge about the stack, you can freely use that in your future, whomever that might benefit." Of course, I could meet a candidate that already knows more than I do about the tech stack... though unless they fail the "personality" side of the job, they'd be hired without having to worry about salary negotiations (we'd probably offer them higher than they came in the door requesting).

You say you give them very detailed feedback on their projects, which does sound reasonable, but how common is that? And do you always give this feedback? Even if you already decided to not hire the person?

Always? Yes. Especially if it's a rejection. I know what it's like to be a candidate & get no feedback other than "thanks, but no." Even for hires that we make, I've not only given them the feedback verbally during the interview process, but they then have access to the git repository where I store it (everyone has to attempt the same requirements, so I treat them as Merge Requests, and comment on them before the interview).

If I'm expecting to interview a Senior candidate for 4 hours, I've already put in around 6 hours dedicated to that one interview, between discussions with HR, my management, the team, reviewing the Resume & making notes on it, reviewing the take home test, etc etc. After an interview, I still probably have 2 hours of work to do around that one candidate. All of this is the same if I'm hiring them or rejecting them. In fact, it's more if I'm rejecting them because I then write up my notes to pass back to the candidate via the recruiter.

I will assume you work in a field where such an emphasis on secrecy is warranted, but for most cases so much paperwork just to give someone a computer to work on some simple task seems overkill.

Valid assumption - because of the work involved, there's legal restrictions around who can go where/when, and unless the paperwork is signed, I can't simply grant access to our code repositories. Oh how I wish...

As for demonstrating work ethic etc, candidates have two choices... either they can accept what I'm telling them, or I can hook them up with an OTR video call with someone else on the team (they all know the rules around what's a legal minefield to talk about... and things like how we run Agile or what the PMO folks are like to talk to is all perfectly fine to talk openly about). Of course, such OTR conversation adds more time that the candidate is spending on the application.

Roughly an hour is about the upper limit of what seems acceptable for homework...

I agree, though since we ask for it in a git repository (so I can see what commit strategy you default to, and I can see if you copy/pasta'd a solution or if you actually worked on it)... I know most candidates spend longer than an hour on it. I want to say that the average is "about a day" - and in most cases, during the interview, I'll be telling them how they could have written the same functional code, in less typing to save time. Unfortunately there's little I can do to control for that, but I do tell recruiters to "expect it to take an hour or so, but if they're sinking a whole weekend into it, that's a red flag, and they're free to get in touch to ask questions to clarify at any point."

If a candidate worked on it for an hour or two, and submitted a partially complete application, didn't fulfil the requirements etc... I'd still take the time to read what they wrote & make an informed decision about the next steps. If you were to write good code, but slowly, I'd still want to talk to you (maybe there's some personal reason like your new born baby that kept screaming in your ear). Half a submission still lets me see what I'm looking for, so it's always better than no submission at all.

A while ago someone (might have been here on dev) mentioned that in interviews they always ask to see one one example of good code and one of bad code...

I've honestly never been asked that... though if someone did, say, ahead of the take-home test for a Senior position... I have enough examples of good/bad that we could demo both sides of everything Uncle Bob talks about, for example. Despite our legal obligations, it wouldn't be hard to find some method to demonstrate that doesn't expose more information than needed, and worst case, I might have to lightly refactor some things for the purpose of sharing.

And this one is out of order on purpose:

I see a clear line being crossed when people are asked to build whole applications that may take them an entire afternoon.

I completely get your point, and one candidate I talked to recently felt the same way. Their response to the test was "I already have my own CRUD application using the same tech stack, hosted publicly on GitHub" - so they skipped the test & I reviewed the work they'd already done.

Some industries, yes, having someone sit at a desk, talk to the team, get paid and get given free coffee etc all day is do-able. Unfortunately, I still work in a "dino industry" (it was only in recent months that the development team were allowed to see logs from the Production system, owing largely to the InfoSec policy).

Collapse
tilakmaddy profile image
Info Comment marked as low quality/non-constructive by the community. View code of conduct
Tilak Madichetti

hey boomer, chill out.

Thread Thread
190245 profile image
Dave

Now, see, you have me interested... your profile says you're looking for work (amongst other things). Yet you openly reply to someone that says they're hiring, with a comment like that? Why?

(I would have hit the "report abuse" button, but lets be honest, I'm perfectly chilled & your comment isn't enough to constitute "abuse" in my eyes).

Thread Thread
darkwiiplayer profile image
DarkWiiPlayer

I would have hit the "report abuse" button

Well, it's not really abuse. Just low-quality, tasteless and unconstructive.

Thread Thread
190245 profile image
Dave

That'd be why I didn't report it as abuse.

Collapse
davelsan profile image
David Velasco

In my opinion, the problem here is an old one: the golden hammer approach. In this case, applied to recruitment and hiring.

Technical assignments can be a valuable measure of competence. These might even be welcomed by a candidate when there is no combination of previous projects to show, references that vouch for skills, and a clear experience record. In this situation, both the employer and candidate have an even field to assess and demonstrate applied knowledge, respectively.

However, I too believe their value is overrated in many situations, especially when a good personal interview and a careful review of previous experience in the field should be sufficient.

This opinion comes from someone who has never been X years in a single industry. For me, assignments have been and still are useful. For many other folks around here, probably not so much.

Collapse
fayaz profile image
Collapse
javier123454321 profile image
Javier Gonzalez

I mean these projects, it's all "wasted" labor

Thread Thread
fayaz profile image
Fayaz Ahmed Author

Dude, if you had a company and you were hiring, how would you evaluate their work?

Thread Thread
jlave_dev profile image
James Lave

Their previous body of work + a pair programming session. These projects are just a waste of time for everyone involved.

EDIT: What I said above isn't necessarily true. If you learned something from the assignments or they're things that you can anonymize and add to your portfolio, then obviously it wasn't a waste for you.

Thread Thread
fayaz profile image
Fayaz Ahmed Author

I personally have no issues with these assignment, I find them interesting and I find so many use cases and solutions to them.

Maybe when you have like >10 years of experience, these projects dont make sense.

Collapse
zbzzn profile image
Boris Kozorovitzky

Do you think that at some level of experience you will refuse home assignments?

I am 22 years in the industry and I feel that after some point giving a 48 hours home assignment is disrespectful for your personal time (work-life balance), especially if you are working full time at another place.

Collapse
fayaz profile image
Fayaz Ahmed Author

I think they might not be necessary when you reach a certain level of experience, but the employers have no other way of evaluating interested candidates work other than giving them a task which they think the interviewees should be aware of, so I guess it's fair.

Collapse
ikirker profile image
Ian Kirker

Whether it’s a fair examination of the candidate or not, it’s a significant amount of work. And some of these seem like the company just wanted some free coding done.

Thread Thread
fayaz profile image
Fayaz Ahmed Author

Free coding done for what? These are just make believe scenarios, I don't they wanted some "free code".

Collapse
twigman08 profile image
Chad Smith

I have a few issues with companies handling interviews like some of these were. So much that I honestly would had told them that I don't see myself as a good fit, thanks for the opportunity, and walked away.

Example: you had 1 hour and 30 minutes to make Trello against 4 people. Unless you are interviewing to be a competitive programmer, that proves nothing. Interviews are already hard enough, turning it into a full on competition is what should not happen.

How does the person making a really good Trello clone in that time limit mean that they a good fit for the company? Did they work well with others? Do you see them working well with the current team members? There are so many questions that a competition does not answer. It is not the type of work that they will be doing for the company. And if making something in 1 hour and 30 minutes is the type of work that is happening at the company, be glad you were rejected.

I'm fine with technical assessments/problems. Though when I interview people I am not looking for the right answer. I'm looking more for how you think. What was the process like for you to solve it? I want the people I interview to work with me to solve it. To talk to me and for us to have a conversation. I learn so much more about how they work from that, than some timed competition that they must do perfectly.

Collapse
fayaz profile image
Fayaz Ahmed Author

It's up to the employer on what they decide for the interview and how they eant it to be done, and if you want the job you do what they ask you.

Collapse
twigman08 profile image
Chad Smith

Then I guess I won't work there. There are a ton of very good companies that don't believe in competitive programming as a way to interview.

Just to clarify, I have no problem with technical assessments/challenges as interview questions. My issue is with competitive type programming and judging someone purely based on solving them correctly.

I will work where I am a member of the team. When you are interviewing for a company you should also be interviewing them and have just as many questions for them. See if you find yourself fitting in there. If I don't see that then I won't take the job.

I have personally turned down some interviews to go further because I can tell it's not a place I can see myself happy at.

Thread Thread
fayaz profile image
Fayaz Ahmed Author

I understand and I just think it's fair for the company to have the interview their way, it's up to us at the end.

Thread Thread
alphonsemg profile image
Ed

Chad is not talking about whatever is fair for the company, he's talking about better ways to approach job candidates on which I completely agree.

I can assure you I'm not the best full stack developer, but beyond my decent skills, I would say my personality has opened many doors at workplaces than my skills, to the point that managers don't want to let me go, offer salary increases, and even give me side jobs after leaving the company. All that occurs because I am a team player, provide great customer service, are positive on any situation (issues) 99% of the time, have a sense of humor, doesn't get easily offended, are reliable, etc. Most of those personality traits are difficult to show when asked to code something too difficult.

Collapse
aleaallee profile image
Alejandro esquivel

I think it's better to be a good and productive productive programmer than to be a good fit to the company, does being a good fit make you a better programmer or something?

Collapse
twigman08 profile image
Chad Smith

Actually, I would say that fitting in at the company can make you better.

For a few reasons:
1: if you are not happy working there, chances are your productivity will go down at some point. You will just have the mindset of just getting the job down and that's in. It'll effect your work and productivity.
2: if you fit in and are happy, chances are you enjoy who you are working with. Which means you'll probably learn from each other.

I've been in the situation before of being unhappy, and not enjoying it. It very much made me worse at my job.

Thread Thread
aleaallee profile image
Alejandro esquivel

Was it because of the technology stack used, or your teammates personality and tastes?

Thread Thread
twigman08 profile image
Chad Smith

It is mostly not agreeing with how the company does things. From everything being a huge push/deadline or just feeling like you have no say and that you aren't a team member.

I have found that companies that usually do crazy coding completions or put you in a boxed time limit to complete a technical assessment usually end up running their company that way, and it kills employee morale.

I just believe you should be looking for a company where you are a team member, not just an employee. And their is a big difference between the two

Collapse
stereoplegic profile image
Mike Bybee

A few thoughts, from someone who has been on both sides of the interview numerous times:

  • On-the-spot, timed exercises tell you nothing about a dev's ability. How is it that so many experienced developers in charge of such exercises fail to consider that, if you're not taking adequate time to reason about what needs to be written, you're probably writing terrible code?
  • A weekend for a take home project is crap. You have a life outside of work, and it shouldn't revolve around potential work. I insist upon giving candidates a week (including, but not limited to, a weekend) to complete a take home project, which itself is no more than a few hours of work, so they have time not only to reason about the challenge in an ongoing manager, but to do it in their spare time here and there rather then a huge chunk all at once (if they decide to do that, they're free to, but it's not required).
  • As long as they've met (or come close to) meeting the project requirements, I follow up with a code review interview. This is where you truly learn something, by making them defend their decisions (even if part of the solution was lifted from Google/Stack Overflow/GitHub, which I'm more likely to count as a positive than a strike against them - you need to know how to Google).

Furthermore, terminology quiz interviews are crap. I've seen great devs bomb (and I've bombed plenty as a candidate even when I knew all the answers, because my mind was on actual problems I was solving at my current job), and was overruled when I said they were likely the best candidate anyway. Homie don't play dat anymore.

My first round is always conversational. The more experienced the candidate is, the more it's about trading war stories. Either way, we're talking about the tech they've been working with and how it might apply to what I'm looking to hire them for (they might have a solution I never even considered), and letting them ask plenty of questions and make suggestions for what I've already got in place. This is a phone call, so they don't have to stress with a commute to an interview (I work remotely anyway, and so will they) or worry about the feeling of being in a fishbowl during a Zoom interview.

Why? Because it's a lot easier for me to detect BS if they're at ease, and conversely it gives them a chance to make their best case on their terms.

Collapse
keshavc profile image
Keshav Chakravarthy

I guess most of these companies are startup’s in “growth phase” and they care lot more about shipping out code fast, rather than making it good. They probably don’t see any value in an Engineer thinking deeply about code structure and shipping something out over 2 days, compared to someone who gets the job done in 2 hours.

I recently saw a series of videos by DHH on how he thinks about his OO code. He goes into a detailed analysis about how a variable should be named, where it should be placed, should he use a constant, should he make it private, where should the constant be in relation to the method that uses it etc... I guess DHH would find it pretty hard to get a job in Bangalore.

Collapse
fayaz profile image
Fayaz Ahmed Author

Yes, I believe you are right, most of these companies are in their "growth phase" & I am sure DHH will bash the companies for having this kind of interview process but I guess it is up to these companies on how they want to hire their employees.

Thread Thread
keshavc profile image
Keshav Chakravarthy

Well obviously. It's a free country. So of course they have a right to hire the way they want to.

Thread Thread
fayaz profile image
Fayaz Ahmed Author

People getting furious for some reason that "I" jad to write these assignments 😂.

Collapse
ankitbeniwal profile image
Ankit Beniwal 🙂

Wow. Exactly what I feel about hiring process especially here in India.

I Wish, I see an interviewer like you soon. ❤️

Collapse
robinhoeh profile image
robinwatson

Hmm something I haven't seen in the comments is what happens when you refuse to do the assignments for time constraint or life stuff. Is it possible to work out a smaller assignment or have them adjust it in any way? Interviews should be as transparent as the people you work with I think? Whats the worst that can happen if you don't do exactly what they are asking Interviews are two sided right?

Thanks fort the list dude!

Collapse
fayaz profile image
Fayaz Ahmed Author

PS, I have rejected assignments, during my last job hunt, I was told to build a Google Keep clone with Next.js, I said I dont have enough knowledge on react to work with, they were generous enough to offer me 7 days to complete it, but I had to reject because I was not comfortable enough to work on react.

The employer appreciated it and said he'll be looking for othet candidates

Collapse
robinhoeh profile image
robinwatson

Ah ok cool - ya good to know. I mean the fact you have so many assignemnts means you had lots of interviews. no shortage of work in the end right? Good job guy!

Thread Thread
fayaz profile image
Fayaz Ahmed Author

A lot of people said these projects are a waste of time and resources & that the companies were just getting some free code written for them.

I would strongly disagree, I have learned a lot from them and I have used them in a lot of projects as a freelancer.

Thread Thread
robinhoeh profile image
robinwatson

Fair enough. People gonna hate. No idea why people get so mad about these trivial things. You do you. Devs in general get a lot of choice. Choice many people will never obtain.

Keep posting dude!

Collapse
lachlanv profile image
lachlanv

I have mixed feelings on these assignments.

On one hand, the demand for competent software engineers is growing and growing, to the point that a bachelors degree or other qualification is often given "nice but not essential" status on position descriptions. Employers like some way to verify a candidate they like knows what they are doing, to a reasonable degree. I get that.

The issue is often time frame. Sure, if I am really keen on a job I'll put in the effort. I'll take time out to go to interviews, do phone screens and the like. But the time it takes to complete these assignments feels could be a lot, even for skilled developers.

You're handed a full-stack web application assignment on Friday afternoon to do over the weekend? What if you have a family that you'd rather spend time with and you've been working all week? How about just experiencing the outdoors? Seeing a movie? Maybe you're working through an actual bachelors degree part-time.

To reasonably expect a candidate to complete these assignments, along with possibly continuing to work their current job, I would honestly say they'd need a few weeks. A weekend timeframe might simply filter out candidates who are not workaholics who willingly neglect other aspects of their lives in order to spend the majority of their out-of-work time building applications.

I enjoy building my own applications as much as anyone. I like the feeling of building something out of nothing. But a weekend to build an API-driven responsive web app with POST requests? For a junior position? Sure, it can be done in that time, but I'd rather spend my 48 hours of non-work time at the beach or something.

A whole separate issue is when companies use these assignments to farm candidates for unpaid development work, with no intention of actually hiring.

I'd be sceptical of any company which is not OK with these assignments becoming open-source projects on the candidates own GitHub.

Collapse
hunterheston profile image
Hunter Heston

I’ve given enough of my weekends to my current company. If any future company plans on starting the relationship with weekend work I will politely decline the remainder of the interview process.

Collapse
brogrammerben profile image
Ben

I completely agree. Sadly, it’s a competitive field and there are people willing to jump through whatever hoops they have to in order to get a job. The whole industry needs to rethink the process.

Collapse
breadistaken profile image
Vikrant

Hi Fayaz, thanks for sharing this post 😄, i just got my very first assignment 4 days ago and time limit to complete the task was 48 hrs. i did it within 24hr and submitted the answer on github repo, i haven't got any response yet so far 😥 and as per repo's traffic statically says there were atleast 3 unique viewers. does this mean they ghosted me or somewhat?

Collapse
jlave_dev profile image
James Lave

It's common for employers to collect resumes and coding assignments from a bunch of candidates and then review them all at once. Maybe it's busy and they won't start reviewing them until next week. Don't give up hope yet. 🙂

Collapse
fayaz profile image
Fayaz Ahmed Author

Give it some time, if they twke more time than expected, contact and ask for an update.

Collapse
brettfishy profile image
Brett Fisher

This was a great read, thanks for sharing! I've always been interested in interviewing with a company that provides the challenge of building projects like these. I've only experienced LeetCode / HackerRank type questions at interviews, which I'm not really a big fan of to be honest.

My point is, are knowing DP and binary tree manipulation important? Of course, they have many applications. But I would receive questions about these topics in interviews for webdev positions and never use my knowledge of them even once in the job. I would think that companies would be more interested in learning about my skills related to the actual job rather than how many different ways I know to determine if a string is a palindrome.

That being said, I'm still in university and have only applied for internship positions. I'm also in the US, not India. Maybe these types of project based interviews are more common for full time positions / in India? I'd be happy to hear what insights other people have on this.

Collapse
donohutcheon profile image
Donovan Hutcheon

No.3 sounds like a ridiculous amount of work for an evaluation.
You probably missed out on the Sachin Tendulkar one because the company was an Aussie company - you were supposed to use Sir Donald Bradman or Shane Warne or something as the subject. Live and learn.

Collapse
fayaz profile image
Fayaz Ahmed Author

😂.. That was actually an Indian company & they ran the show.

Collapse
bizzibody profile image
Ian bradbury

@fayaz - a great read. Thank you.

In previous roles as development manager we relied on 2 stage interviews. Technical test and personal interview. Get through the tech test and then we can talk.

The technical test was on site and designed to see if the candidate could read and follow instructions - not to see how well they could code - in that the technical test described exactly how to deliver the task*. Candidates had full access to the Internet and could take as long as they liked. What amazed me was that so many people gave up, sometimes after several hours attempting the test. It was always such a shame as the answers were right there on the page. I came to believe that candidates were looking for a deeper trick and over thinking everything - when there was none and even after we had told them there is no trick just follow the instructions.

The real interview was the face 2 face and really this is where you begin to understand the candidate. The most important attributes I looked for - and would still today - were honesty, openness to new ideas and change, ability to quickly understand problems and ability to follow instruction. 4 traits. The goal was always to find someone who you could merge into the company culture and the educate specifics of the industry.

Anyhow. Good luck @fayaz

  • Two text fields, two buttons. Button one sorts letters from text field one into text field two. Button two clears text field one. There were instructions as to x/y position of elements and colours.
Collapse
kris profile image
kris

thank for sharing

Collapse
jakeerc profile image
Jakeer

Salamalaikum ,
Helpfull
Jazakallah khair

Collapse
noble247 profile image
Emmanuel Peter Ekpobimi

Thanks for sharing

Collapse
fayaz profile image
Fayaz Ahmed Author

Glad you liked it.

Collapse
akdeberg profile image
Anik Khan

Thanks Vai for such wonderful share 😀

Collapse
fayaz profile image
Collapse
djamaile profile image
Djamaile

Ah Trello one sounded very annoying to do.

Collapse
fayaz profile image
Fayaz Ahmed Author

Yup, but it was interesting.

Collapse
darkwiiplayer profile image
DarkWiiPlayer

It's pathetic how people agree to this kind of thing. Working for an entire weekend unpaid just to prove oneself to a company is a scam. [See reply below for clarification]

Collapse
fayaz profile image
Fayaz Ahmed Author

Not pathetic at all. It's upto the candidate if he/she wants to do it or not. Let's not decide on behalf of them.

Collapse
darkwiiplayer profile image
DarkWiiPlayer

More than on the individual scale, I find it pathetic that the field of software development is at this point. This isn't something a single job applicant can fix; it's a large-scale problem. It's hard not to see the trend in the software industry where developers consistently under-value themselves. Large companies have somehow gotten it into peoples heads that they constantly need to prove themselves. This might be linked to how "impostor syndrome" is constantly a topic in software communities and how programming requires an uncommonly high investment of free-time to learn things.

This isn't OK. It's not pathetic that a single job applicant agrees to BS like this, but it's pathetic that we as a collective are still putting up with such a toxic culture.

Collapse
danielyapaeiou profile image
Daniel Yap

Kudos to your success! These are very interesting assignments.

Collapse
fayaz profile image
Collapse
timsternation profile image
Tim Hulley

This is a very helpful post. Thank you!

Collapse
robinhoeh profile image
robinwatson

How did number 3 go? Are you applying to vue only shops?

Collapse
fayaz profile image
Fayaz Ahmed Author

The zoomcar clone was a very interesting project, but since this wwas during my junior dev days I was not able to complete it on time.

I was able to do the listing part and pagination, what I couldn't do was the filters part, applying multiple filters at once

Collapse
robinhoeh profile image
robinwatson

Ah ok ok cool - ya some of these features we use 1-3 people sometimes at work to do. OR a senior. Sometimes its nice to get blown out of the water and then look back and be like, ohhh thats why I couldnt do it before; cuz i didnt understand 'this' concept or whatever

Collapse
asyraflabs profile image
Amirul Asyraf

I like the Trello part , I want to try build it with React... Thanks for sharing

Collapse
mindset profile image
Jayesh Tembhekar ⚡

There is demand for Vuejs in India?

Collapse
fayaz profile image
Fayaz Ahmed Author

I personally prefer and look for vue js jobs.

Endless react jobs though.

Collapse
keshavc profile image
Keshav Chakravarthy

Great list. These seem to make for a very harsh interviewing setups. I guess the jobs scenario in Bangalore must be extremely tight. Congratulations on landing your job.

Collapse
jack_garrus profile image
Nadia G.

I really find annoying that despite a lot of candidates has some updated side projects on github/gitlab and a some years of online documented work, they're still be asked to work on an assignments

Collapse
tracycss profile image
Jane Tracy 👩🏽‍💻

Very helpful. Thank you.

Collapse
fayaz profile image
Fayaz Ahmed Author

You're welcome. Do share, if you have any of these assignments.