I applied online. The process took 1 day. I interviewed at KeepWorks Technologies in Jan 2020
Interview
This is my interview experience at KeepWorks. The company is fully remote. They've around 30 developers, all of them work remotely. The opening was for ReactJS developer.
They scheduled a 30 minute phone call at the time of my convenience. It was first introductory round with founder of KeepWorks.
It began with a general introduction about me and my experience etc.
Later they said they've one more round which is coding round. I was given 2 options.
1. They were ready to give me a coding assignment and I was expected to complete it and submit it within 3 days.
2. The other option was to submit any of my existing personal projects. They just wanted to look at my coding style and code quality etc.
I chose option 2 and asked them to look at one of my projects hosted on GitHub profile. They did it immediately while on the call and started going through the code repo.
They did not like the folder structure of my code.
They did not like the file structure.
They did not like the file naming style.
They did not like how the JavaScript constants were declared. They expected it to be declared in a separate file.
Feedback received:
I was advised to read AirBnb guidelines for writing JavaScript code.
I was advised to use ESLint extension in my code editor.
I was advised to look at other open source projects to know their file and folder structure.
What I did NOT like about interview:
1. The founder is a developer as well and has over 8 years of working experience. I'm disappointed in how they made conclusions about me and my abilities.
2. Senior developers should understand that they did not achieve seniority from the first day. It is a evolutionary process. It is more about learning on the job and picking up new things as they come.
3. People should understand that the coding conventions and guidelines they follow might not be acceptable at other companies. Different companies might follow different folder and file structure. They can have their own custom ESLint configurations defined for them. ESLint configs can be copied and shared with new employees while onboarding them. Why reject them over this?
4. Companies should identify if the candidate possess desire to learn and pick up new skills. File structure, folder structure, constant abstractions are all things which can be learned. This should NOT be the reason for rejection. It doesn't make sense.
5. Sadly, every company looks for developers who knows everything. No body likes to give people chance to learn. How much did you know when you were just few months old developer?
KeepWorks claim in their job posting that they are a company for developers, by developers. I disagree.
I believe candidates should apply to companies where they meet atleast 60% - 70% of the requirements mentioned in the job listing. Rest 30% - 40% can be learned on the job. The candidate should NOT look for companies where they meet 100% of the job requirements. What would be the learning scope then ?
Employers should understand that the process of hiring is a give and take thing. The employee gets to work at a company where they meet 60% to 70% of job requirements and grow their skills to reach the 100% mark whereas the company gets to hire an employee at a bargain/decent salary.
If I knew everything KeepWorks expected, why would I join them? They can't possibly expect me to fall for "KeepWorks is FOR developers, BY developers" line.
It is easy to hire someone who knows everything. Difficult thing would be to hire someone who meets 60% to 70% of your requirements and to help them reach the 100% mark. Who wants to take the difficult path these days !!!
I accept the feedback I received for my code and I'll improve it and get better at it. I hoped employers to understand that and give opportunity.
Thank you for reading.