Take home projects are met with a plethora of opinions by candidates, depending on the project that was assigned as well as the amount of time required and the details provided. Most likely when you receive a take home project, you view it as an opportunity to impress your potential employer and are excited to get started. However, pursuing it in an organized manner will save you time and help you deliver successful results. Companies' use take home projects as an assessment tool among candidates. Oftentimes candidates prefer this in lieu of whiteboard interviews. However, it's important to know where and when to draw the line. For example, some start-ups and tech companies have been known to assign actual projects to candidates in an effort to get free work, rather than to assess their abilities. Fortunately, this is not the norm, but worth being aware of. Below are tips on what you should and shouldn't do on a coding challenge.
Should a company ask you to complete a large project, contribute to services they already have in place, or request that you develop and submit an entire app, consider setting boundaries.
Typically, a take home project should not exceed more than four hours of your time, and if it does, it's acceptable to request compensation. This sets the precedence that you value your time and expect others to as well. Also, if the company agrees to compensate you, it is a good indication that they are respectful of you and quite possibly view you as a very likely candidate.
Should you find the need to request compensation, a good rule of thumb is to ask for a rate that is equivalent to a freelancer fee in a comparable field.
Another issue that candidates sometimes encounter is the lack of tools or the availability of free time at home. Not all developers have all the softwares needed to complete certain tasks in their personal computer.
If you fall into this scenario, ask the interviewer about the possibility of working on the project in their office or providing you the softwares you need. Not only will this provide you with the work environment necessary, but will enable the company to monitor your progress along the way, and give you an opportunity to see what the atmosphere is like.
Should You Say No
Just because a take home project is assigned, doesn't mean you have to accept the challenge. If the project will take a substantial amount of your time and the company is unwilling to compensate you, it may be a sign of their overall lack of values. However, take home projects are gaining momentum as part of the standard interview process and when requested, it is usually an indication they are sincerely interested in finding out how you would fit in with their needs. Take time to look at the big picture before you say no.
Consider Your Options Carefully
Some candidates prefer take home projects versus a whiteboard interview because it allows them to shine through their talents, rather than enduring the formalities of a whiteboard. When taking this into consideration, accepting the take home project even without compensation may help you land the job without the added stress of being outside of your coding comfort zone.
Review the take home project and ask questions to gain a clear understanding, if necessary. Some companies assign vague projects in an effort to see what approach you take, while others fail to know exactly what outcome they are looking for. Attempting to tackle a project without enough details could result in scope creep on your part, causing you frustration and unnecessary time in attempting to guess what the company wants while trying to impress them.
Once you're at the point of completing an assigned task, don't start too hastily. Refrain from beginning without first taking time to plan. Getting organized in advance and planning out the steps necessary to complete the process will prevent you from rewriting and save you time in the long run.
Likewise, thinking through the process prior to actually starting will offer you the opportunity to brainstorm and consider it from various angles. Additionally, this approach will enable you to envision the big picture upfront and plan the steps accordingly, rather than trying to focus on the final outcome and individual details simultaneously.
Although testing is not always the most enjoyable part of coding, when you include testing in your take home project, it will show the company that you think outside of the box, know how to anticipate issues, took ownership of the project and were dedicated to making it work.
Overall, a take home project will be an opportunity for you to see what the actual responsibilities of a job would entail while also allowing you to flaunt your abilities. While devoting a few (or several) hours of free time may seem like you're being taken advantage of, it could open the door to the career of your dreams. Determine what is acceptable to you prior to beginning interviews, so you can respond with confidence when the time comes.