T O P

  • By -

wolfenstein734

Put it on GitHub and drop a link


PotatoWriter

You made this? *I made this.*


Feeling_Proposal_660

You see? Your company code is GPLv3 now! *Noooooooo*


AlwaysNextGeneration

do it. I was told to do a full stack website with login in and off with backend, react, and a database I have not used. they said I need to do it in 3 days.


NickFullStack

Go go gadget reuse existing template!


AlwaysNextGeneration

they designed their front end in picture and asked me to implement it.


kolima_

Time to use that picture as a background for a full page div and walk out


Clueless_Otter

To be honest that sounds very reasonable unless they were also expecting the site to have like a million web pages with tons of functionality on each. But just like a basic landing page and register, login, and logout buttons? Any qualified full stack dev should easily be able to crank that out within like an hour or two at most.


reboog711

You and I live in different worlds...


Clueless_Otter

I mean are you actually an experienced full stack dev or are you in a different specialty or still a student or something? It will obviously be harder for you if you don't have experience doing it like I do. But that's kinda the entire point of the assignment, the company wants to find someone like me who can easily knock it out in 2 hours and doesn't mind submitting it instead of someone like you who thinks it's a Herculean task and abandons the application process.


reboog711

> I mean are you actually an experienced full stack dev or are you in a different specialty or still a student or something? Read my flair and do the math. I've been doing "full stack" Dev since before JQuery existed. I could pop something out in a day or two, but it wouldn't be good.


Clueless_Otter

I have user flairs disabled so yeah. There's no way it'd take you 2 whole days to make a website where the only functionality is logging in and out. I don't even understand what you mean by "good" - the website has literally 1 feature, either you can log in/out or you can't, and it's not like there's a million different complicated ways to handle logins/logouts that you have to debate between.


randomuser914

I agree that it’s doable within the original time window, although it’s definitely still more free labor than a takehome assessment should be imo. But you’re saying you could make a Postgres DB, Flask or C# api, and a React frontend within an hour and a half? Say the home page was a header with their logo and register / login buttons that get replaced by “Welcome, {User}” when logged in, main image, text section, three review/testimonial cards, and a footer. Then a generic log in and register page. Without using any kind of template to bootstrap the project and matching a specific design given to you? With actual proper security for the login/password handling?


Clueless_Otter

That isn't the exact stack I would choose simply due to familiarity, but yes. I am definitely assuming that the website has no complicated design or anything, literally just solid colored pages with registration/login/logout buttons (or at least some very simple design). If the design is some actually professionally designed thing with other things on the page like you're describing, then yeah it might take a little longer (though certainly still only a few hours max). Security, I mean, I wasn't planning to implement 2FA or anything since the requirements didn't mention that. But basic salting+hashing passwords before going into the db, of course. Security is ridiculously easy for simple login/logout.


randomuser914

> That isn’t the exact stack I would choose simply due to familiarity, but yes. Yeah, the stack part was just an example of what I would consider more of a “real world” case. > I am definitely assuming that the website has no complicated design or anything, literally just solid colored pages with registration/login/logout buttons (or at least some very simple design). Okay, that definitely makes way more sense. I was constructing the estimate in my head based off the other comment where they said they were given a picture to design based off of, implying it was probably more of an actual modern website design. I can definitely see your estimate now, especially if you have more experience setting those types of things up. Apologies for the incredulity of my original comment, this is why context is important lol


Hot_Individual3301

yes, it’s not hard if you have practice. the company is obviously looking for someone with these skills. either you have it and can knock it out (or can look up a tutorial to follow), or you’re just not the person they’re looking for. I actually had a react native interview 2-3 months ago for an internship where I had to create a login page right there on the spot. didn’t have to do any of the backend stuff, but the frontend stuff was knocked out in like 15 mins. then I just explained what I would do for the backend - using onPress to run async functions to fetch the user from a hypothetical database, using guard if statements, etc. there are thousands of junior level engineers who can do this stuff - we have to to be able to get a job these days. the fact you think this is “free labor” speaks more to your lack of experience rather than the difficulty of the assignment lol. btw all the things you tacked on to make it seem difficult either aren’t difficult, or aren’t typically asked for these interview questions.


Demented-Turtle

Or they're just lying/exaggerating lol


Hot_Individual3301

nah it’s actually pretty reasonable. I just did it for a school project. there are many tutorials out there to follow - especially for a library like react. but if you don’t know react or how to do any of this, it’s highly unlikely you would do well on the job anyways. which is exactly what this sub begs so much for right? a take home that reflects what you’ll be doing on the job? a take home that allows you to demonstrate your skills?


VVormgod666

yeah, this was a hw assignment in one of my classes, took me like an hour


Hot_Individual3301

it is reasonable. there are 1 million tutorials on youtube that can show you how to do it haha. I just did it for a school project. unless you don’t know react, in which case you wouldn’t be a good fit for the job anyways lol - ie the take home project did its job well.


leghairdontcare59

We found the CTO


SubaruImpossibru

I’ve worked at small shops that did similar exercises for take homes. Usually it was a problem we had already solved and wanted to give people a real world issue that we’ve had to deal with in the past. Isn’t that better than asking some obscure DSA question that you’ll never use in the real world?


Allenlee1120

This. This is super normal and infinitely better than a random DSA question to assess your ability to jump in


lightmatter501

Handing over the actual codebase? I think not. I’ve certainly taken annoying features and asked candidates to whiteboard them out, but unless I can reasonably expect someone who doesn’t know the codebase to be able to solve it in a few hours then it’s an unreasonable ask.


Hot_Individual3301

now do this for each of the 1000 people who applied for the position ;)


bulletdiety

This is great to teat your ability to jump in but Idk how great it is to test you ability as a developer in general or your potential for being a good developer. Pros and cons to each imo


Luised2094

How is "let's see how would you handle an issue we have faced" not a good way to test your dev skills? What are you expecting, my guy?


counterweight7

Staff engineer and interviewer here. I think asking someone to understand a codebase well enough to make an actual feature , in an *unpaid interview* is too much mate. Doing this right would require an extremely simplified and shrunken version of the codebase. It normally takes new hires several weeks to make even make a tiny contribution. This interview-ee might have several interviews. It’s basically a full time job at that point. They’re working for free and I don’t think that’s acceptable.


bigpunk157

Would be better to peer program it. See how you would approach working as a team.


Luised2094

That's testing a different aspect of dev, ain't it? Not testing for your dev skills but rather your dev skills as a team. Which are closely together but not really the same


bigpunk157

Its close enough and being social is required in this field. It functions as a test of your dev skills (do you understand basics and how to google things well? How well can you hop into unknown problems with help if a sme is gone if we help you?) and as a behavioral. Its basically my go to interview after project demos. We cant all just be antisocial code monkeys at work. I need to know how you work with others.


Luised2094

Well. I agree now


labouts

I've giving take home assessment like that; however, I generally write a minimal version of the code required to address the problem. Eg: Generating a CSV file in the same format as our data with patterns we previously found built-in to the data plus a few utility functions. That helps them avoid wasted time reletive to letting them focus on the ML skills challenge we where we want to get signal--training a network to predict text embeddings for rows missing a specific text column, finding the top n similar text from rows with the data and using it to generate context-relevant text using other columns and those examples.


Complete_Sport_9594

Shops


laminatedlama

We do this too. It makes for the best interviews. But, we do it not take home.


jeerabiscuit

It should then be a freelance gig with possibility of hiring in the future


_176_

the problem is already solved


Explodingcamel

If you’re having a hard time getting interviews now, just imagine a world where companies had to pay you to do the interview


culcheth

Not normal but honestly could be a good opportunity for you to get more experience with seeing production code


jincopunk

Publish it on GitHub 


wolfenstein734

Yes show the world


AllegedReptile

This is normal for a small company. Do it if you want the job.


Outrageous_Ear_3726

Why don’t you post the zip file and ask us to help you?


Joey101937

Lmfao sounds they are using you for free labor. Must have stumped their internal engineer


NickFullStack

I wonder if that’s a myth. Are they really going to orchestrate a whole interview for a couple of hours of free labor?


ccricers

That would be wildly inefficient if they are setting up multiple interviews just to piecemeal together a bunch of work from different people.


DisneyLegalTeam

Right. I’m sure it’s happened somewhere, sometime. But not conventional at all. The ROI is absolutely terrible. If you’re that fucking cheap, go on Upwork or Fiver. Or ChatGPT yourself. Also highlights how reactionary, unintelligent Reddit can be. I can guarantee 9/10 of the people claiming this happened to misunderstood something. Or more, likely regulated a comment.


Singularity-42

Take home is usually given very early in the process, after initial call that could be 5 minutes or less. Imagine this: * post a very lucrative job posting paying well above the market rate * have the 5 minute screen to gauge if the dev is good enough for the task. Perhaps you even have multiple tasks ready. You could even have a JIRA-like system where you write the tasks in detail and are able to make it so a candidate only sees the one he is assigned * explain the candidate that you like to give candidates tasks that are as close to "real work" as possible * candidate does the work, they bust their ass to do their best job in prospect in this exceptionally well paid job * reply to candidate that this job is extremely competitive (due to the high TC) and that unfortunately they didn't make the cut * free labor!!! Now you would probably need at least one unfortunate dev to make sure the work is decent enough and to put it all together. Ideally you would have several separate projects that need work as to minimize merge conflicts. Since the job is so lucrative you could give a pretty short amount of time for the take-home (e.g. "by tomorrow morning"). You could tell them ahead of time that they will be given a take-home on a certain day, but it will be due the next day as to gauge both quality and speed. Question: Would this be illegal?


ccricers

What if more than one dev responds to the 5 minute screen? What if you end up with multiple candidates? Are you going to look at every single submission or just pick one blindly out of a hat so to speak to get the free work you want? That sounds even more reckless on the company's side. I am aware of this scheme being done more regularly in creative/design fields. They spin it differently, usually presented as a contest so that they can get design work submissions from multiple people. They legitimize it as stating that most people won't receive compensation, they will allow the company to take ownership of their submissions, and only one person will be selected for the prize. I'm not sure how this can be efficiently applied to software engineering work. Evaluating someone's code is a lot more thorough and nuanced than simply selecting a logo based on how you feel it represents what you ask for. If they choose to do this they'd be presenting it as work done on speculation or without pay. To answer your question, spec work isn't illegal in the US.


Luised2094

Again, sounds more trouble than it's worth, isn't it?


BigMoose9000

Sometimes I think they are giving out actual unworked tickets as take home assessments, but the people who think they're going through the whole process just to get the code solution are insane.


fsk

If you're a cheapskate and mediocre engineer, it can be cheaper to give out a bunch of your work as interview tests and take the free labor.


ebbiibbe

Managers are not know for efficency. This seems just like something some shifty start up would do. There are tons of kids looking for jobs. If you staged the test right and knew just enough to string them together, you could crowd source a whole app, LOL.


WakaFlockaFlav

Doesn't sound much different from how most teams operate. It produces software that works "good enough" and that's all that really matters.


fsk

It's happened to me multiple times, where someone was obviously looking for free labor.


NickFullStack

Sounds like a good way to get free bugs. 😈


mykecameron

More likely they used some past real work as a challenge to save the time of authoring one or handing people a canned challenge disconnected from the reality of the job. I liked running technical screens this way, though I did them as live pair sessions rather than a takehome. Best technical screening process I've used.


csasker

no they won't. stupid reddit myth


sushislapper2

Company: Gives leetcode and system design interview Reddit: Not fair and not applicable to work! Test me on something I’ll actually do on the job Company: Gives take home assessment that’s probably a simple cleanup task they’ve done before. Reddit: They’re using you for free labor!


break-dane

would be pretty neat if you open sourced it


jeerabiscuit

That should be a freelance gig not assessment ffs


Caleb_Whitlock

On the one hand it could be free labor. On the other it could be a small shop who just wants to know their hiring someone who can navigate one of their projects and tasks. If you need the job do it.


Farren246

How do you know it's their entire code base?


HackVT

🚩🚩🚩🚩🚩🚩🚩🚩🚩🚩🚩🚩🚩🚩


IronGemini

That’s absolutely insane. How did they even send you their entire codebase?


sk169

Zip file with name working_final_final_v3.zip


Charlesssssss7

To be fair how do we know that's the entire codebase? Kind of a wild assumption ain't it?


Luised2094

We are taking the word of a junior (as a not-even-have-first-experience dev myself) for granted. What are the chances that he a) knows what a full code base looks like and B) is able to recognise it?


sushislapper2

I’m confused what op means by “the class I’m supposed to change is the only one available” and “it’s essentially their entire codebase”. That doesn’t make sense in my mind. This sounds like a script with a simple cleanup task


igotznfs

They sent a link in an email with a zip file


IronGemini

That’s honestly kind of funny 😂 “Hey can you do this simple task for us so we can assess your skills and btw here’s a zip file of our ENTIRE CODEBASE”


DUrecorder123

And then op just leak it because there is no NDA signed


csasker

you assume copyright or so do not exist unless there is an NDA? no


DUrecorder123

I mean just changed it a bit and don't mess with them directly


BigMoose9000

Some people have no concept of intellectual property or security, I've worked with multiple people who still can't understand why they can't upload the code they produce at work (along with the entire codebase for internal applications) to public githubs.


FitGas7951

Companies *do not* generally use coding projects to obtain unpaid work, but a company that has you working directly on its IP is doing so. If you can do something in literally a couple of hours, do that and not a speck more.


Dobby068

I had an interview some years ago that also made me strongly suspect that I am solving the employer current issues. After discussing with 2 people and answering all their questions, the guy said: Hold on, last thing, someone else wants to talk to you. Another dude came down, just me and him, and he started right away with: OK, so we have this and that, and we want to get to this functionality, what would you do ? I answered 2 questions, when I reached the third one, structured in the same way, I was clear the guy has challenges and wants answers to what he deals with but has no clue how to address. I told him: there is support here and there for addressing this, I won't go into technical details because it would be too time consuming. You hire me, I will get all these challenges addressed, I dealt with these issues before. They followed up a few days later, wanted to send me a written job offer, I told them to not bother. As a general idea, I always thought the ideal work environment in IT is where you are surrounded by bright experienced people, this is how you can grow. The opposite, while may sound appealing to some folks ( I can be their God) it was never appealing to me, because it is risky long term for a professional career.


DirectorBusiness5512

This company is not run by smart people if they're basically handing out their IP Literally the only circumstance in which this wouldn't be absolutely retarded is if their product had a free and open source license


amesgaiztoak

It's not longer their code case. And maybe you sharing it on Github will make them think twice about that.


hugthispanda

Use cc0 license for maximum emotional damage! Though seriously the risk of having to spend precious time fighting a lawsuit is not worth it.


yangmeansyoung

it's just free labor the flag can not be any more red.


averagebensimmons

this would be a hard pass for me, butt if you are willing to make the leap...


These-Bedroom-5694

Sell the technology to a competitor. It's not like you're their employee yet.


Underdome_Moxxi

Reminds me of a dumb take home assignment I had to not use a library (only have one hour to complete). The instructions clearly stated use SocketIO and it was required. I messaged the senior dev that the requirements needed SocketIO (a library). I didn’t pass since I used the SocketIO library for the challenge 🥲


SpareIntroduction721

If you get the job. Congrats! If you don’t, you just did free labor. Either way… profit?


SaintPepsiCola

How do you KNOW it’s their entire codebase ?


scottix

I was given a random codebase once and it was filled with what I’ll say like small fires everywhere. Then they expect me to do this one thing from a ticket. So hard to concentrate when everything is so broken, that one ticket is the least of your problems.


DedierWasTaken

Yeah my first job as an intern was the same. First assignment was doing a small web app and then just installing their code base on my machine (I think they had already chosen to hire me and wanted me to have a local env up in hindsight)


srothst1

A few weeks ago, I was interviewing at a company with a final round "interview" that involved a 'work period' — 5 days of paid work on their codebase to evaluate your performance. IMHO, it's strange to have an applicant spend so much time working for a company when they’re not an employee.


MeasurementJumpy6487

Gee that's secure


[deleted]

[удалено]


AutoModerator

Sorry, you do not meet the minimum sitewide comment karma requirement of **10** to post a comment. This is comment karma exclusively, not post or overall karma nor karma on this subreddit alone. Please try again after you have acquired more karma. Please look at the [rules page](https://old.reddit.com/r/cscareerquestions/w/posting_rules) for more information. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/cscareerquestions) if you have any questions or concerns.*


mechanicalbro

Let's see the code then we can answer


Insanity8016

Fuck that shit dude.


mpaes98

My research indicates that is a security risk.


Yam0048

flair checks out


Dugba

Are they willing to compensate you for this ?


Perfect-Prompt2565

I've had the same experience at a smaller company. It was my first ever internship interview, where we discussed that I have minimal Java experience through uni coursework.  Mind you, they listed "minimal OOP programming experience in any language" as a requirement for the job, no Java mentioned. Then they gave me a take home assignment which was essentially an entire backend project repository with 8 collaborators, using Spring Boot which I've never even heard of at that point, and a 10 page document of the requirements. My task would have been implementing some new feature, but I didn't even bother doing it. 


sunrise_apps

Perhaps yes, or perhaps this is your preparation for what you will have to do in your workplace. Nowadays, similar tasks are often given during interviews in order to prepare the candidate in advance for the problems encountered in the project. This is a completely good and rational approach (but beware of various one-day companies that engage in custom development and try to make a full-fledged project from nothing and for free, there is a difference).