- HR Call (Get to know)
- Engineer Lead Call (Kind of Get to know)
- Take Home Assignment (1 Mandatory Assignment In Core PHP and 3 optional, Will take 8-10 hours)
- Meeting With Team
- Discussion About Assignment
- Closing Talk
So I spent 10 hours for mandatory task and 15 mins for 2 optional tasks (Didn't develop it, but created logic).
First call - Meeting with Team
- 4 total members were there, and was not productive as expected.
Second call - Discussion about assignment
- I explained project directory, did a walk through to code.
- I implemented Namespace, Custom error handlers, Logger, Multi database provision, SOLID principles, some design patterns and Unit test cases.
Last call - Closing Talk
- Will ask for feedback and told to share their feedback from technical team.
--------- NOW SHARING MY CONCERN ---------
- They were not able to find issue in my logic or suggest an alternative logic
- They didn't find any issue in my project directory
- They found only one issue in DB structure (Which I was aware and did that purposely, just to showcase my different skills and I told same to them)
- They told code was not clean (It was clean though but still can spend more hours for code cleanup)
- They told more unit case could be written (Agree, again you can't spend days for this task)
So my concern is, being an employer what you look for in candidate?
- Logical Skill
- Knows OOPs
- Knows SOLID Principles
- Knows Security Best Practice
- Knows where is error or once error identified knows how to resolve that without anyone's help
- Learn and Develop (In case of Unit test cases, I learned what kind of more unit test cases I should add)
- Honesty
So if a candidate is matching all above skills but still they want more :).
So In Nutshell - If you have done 90% of work correct and you know what 10% you missed and can do it. but for them 10% is higher then 90% :)
Also in my experience their development teams are kind of introvert and don't want someone new to be part of them.
Hope that helps!