4 ms·
I don't know what language/toolchain you're using but this should apply to any language I'm familiar with (Python, Go, to a lesser extent Java): - Have applica
by imauld 9y ago
I don't know what language/toolchain you're using but this should apply to any language I'm familiar with (Python, Go, to a lesser extent Java):
- Have applicants keep their code in their own repo. No need to clutter your VCS with their stuff. Anyone applying for a development position should already have one anyway. If you're concerned about applicants scanning Github for completed assignments, have them upload a zip of the code to <insert favorite cloud service here>. Clear the bucket/folder every 30 days (easily automated).
- Tell applicants exactly what you are going to do test their code. Tell them the steps you will take exactly and that if their code doesn't run with these steps you won't try to debug it. Don't be heartless though, if it doesn't run at first let them know and give them an opportunity to fix it. We all make mistakes.
- As for sandboxing, take care of it yourself. Provide a base docker image or include instructions on how to setup vagrant. We used to provide a vagrant file and include instruction on how to setup it up and get your code inside of it. Developers that struggled with this, struggled with the assignment in general. This is especially relevant if you deploy your code using some kind of virtualization.
- Be very specific in your requirements and in the details of the environment that their code will be run in. If you don't want to jump through hoops getting a machine to be able to run their code let them know their code should work on a clean install of <your favorite OS> with no additional system packages aside from the language itself and required compilers/toolchain (maven, pip, godep, virtualenv, etc). If the assignment requires other stuff be installed, Pillow an image processing lib for Python requires some C libraries be installed for example, install it yourself and let them know the version you have and that their code should work with that. Docker is your friend here.