How to clear take home assignment rounds for European/American/Indian jobs (Coding only)
You might have got assignment rounds in a job interview and in developed market this is a must for entry level to senior level jobs.
Here are few tips to tackle this:
Write unit test cases first
Unit test cases shows the quality of a developer, so you must start with writing unit test cases even though you run out of time for writing actual feature.
Make them thorough and compilation error free. Use coding standards here as well including proper casing for your variables, modularity of functions etc.
Read the assignment carefully
Check for what is mandatory and what is optional. Don’t spend too much time on clearing out optionals before you complete mandatory parts.
Once you complete both mandatory and optionals, you can provide your own touches if needed.
Avoid over engineering
It is easy to get into engineering when task is to show your skills, however you should avoid making your application cluttered and hard to understand.
Don’t bring in unnecessary third party plugins. This shows your inexperience as a programmer.
Stick to a known guideline for your respective programming language instead of creating your own complex setups.
Optimize your code lines
A good programmer carry out the job in best way possible. You should reduce unnecessary loops, side effects and any anti patterns. If you can replace a if condition with tertiary loop that should be done.
Add enough fallbacks and edge cases in your code to make your feature rock solid and again don’t forget add unit test cases for this.
Make it beautiful
Add good method descriptions, add strong typings wherever needed.
Exception handling
This is integral part of judging a quality code, a code without properly handled errors is not deployable to production and whatever you write in assignment should be production ready if completed
Know why something is done in your code
If there is more than one way to do some task, choose your way carefully and be ready to explain your thought process and accept in judging round if you have made an error in choosing.
Demo ready
It should be ready for demo if completed with a presentation. I will also advise to shoot a video because there is a high chance that something might break in your infrastructure while demoing.
Github manners
Use proper names to your branches, write precise code commit comments. Whenever you release add a release tag. In short you should work like you work in a big organisation even if you are alone.
Example of a code repo which helped me clear an interview: https://github.com/inms-adarsh/movie-app-webc