4 ms·
That's true if and only if the codebase is something that's easy to set up. I tend to get these assignments from companies that are like "Here's our Github repo
by Jemaclus 13y ago
That's true if and only if the codebase is something that's easy to set up. I tend to get these assignments from companies that are like "Here's our Github repo. Clone it and fix issue #12345." When I get to the repo, there's an INSTALL.MD file a mile long, where I have to install a dozen dependencies and so on. And it never, ever goes as smoothly as it should. They inevitably forget to document some quirk or another.
That's not true for everyone, but it seems like it's the rule rather than the exception.
My point being that you're not just asking me to fix a to-do item, you're asking me to recreate your dev environment locally, research your codebase (to isolate the bug and figure out a fix), and then actually fix it. And if this takes more than a few hours, I may not have time to do it whether you pay me or not. Like I said, I'm looking for full-time work, not contract work...
That's all I'm really saying. I agree with you, though, that the to-do thing is a good idea. I just think there might be some middle ground, like if your task is "Build a feature to send verification codes through Twilio", then instead of using your codebase, I do it on my own in my own way. Then you can use my code as a model for your own. You don't have to research the whole problem -- just port my code into your codebase. And I don't have to fiddle with your codebase until you hire me.
Something like that. (Just thinking out loud here.)
- codinghorror 13y agoI like the way you think! This is the sort of thing one tries to get out of audition projects.
- mcb3k 13y agoYou could also, as an employer, supply a pre-built development environment appliance for VirtualBox that already has your source and everything set up. Then a person just has to install VirtualBox, add the appliance, and boot it. I think there is even a way to get it where the person doesn't even have to install VirtualBox. As an employer you could also allow access to a remote instance of a machine that is already set up and configured and the person can SSH/RDP into the box and do development there. I'm thinking that there probably isn't going to be a clear cut, one size fits all answer to this, but I do think there are some good options in any case.
- Jemaclus 13y agoThis solves the "setting up the codebase" question but doesn't quite solve the "learning your codebase" issue. Especially if we're talking about a codebase with any sort of custom frameworks or heavy modifications of existing frameworks. If I can't get a "Here's a real problem we have, solve it however you want" thing, then this is the second best answer. You're absolutely right.
- cwp 13y agoOpen-source projects will generally be much easier to set up than a typical corporate codebase. A lot of effort to set up a corporate dev environment is annoying, but to an open source project it's death. Getting familiar with the codebase is still an issue, but at least that knowledge has the potential to be useful even if you don't get the job.
- Jemaclus 13y agoThis is true, but generally speaking, most companies aren't working on open-source projects like Jeff's Discourse is. Most companies that want us to do this "real" coding assignment are in corporate dev environments. I have no doubt this process works well for Jeff's company which is open-source (as far as i'm aware), but it doesn't work so well for, say, Stripe or Kickstarter, whose codebases are NOT open source and likely have complicated dependency requirements.