Unprofessional evaluation of a test by Thomas Seropian, Technical Lead from Jamie Oliver company
A few words about me (the author of this article):
I am a Web Developer with around 8 years experience, more focused on Front-end but with good knowledge on Back-end too.
In the last 6 years I worked intensively with Wordpress building custom themes and I improved my skill all the time, working with the latest versions of HTML, CSS, JS (jQuery, some Angular and a bit of React). Expert level on responsive websites and cross browse techniques.
On the Back-end side I have experience with PHP and MySQL.
I am looking to be hired by a company and for this, I am talking a lot on the phone with Recruitment Companies, doing test and going to face-to-face interviews. This process is tough!! I am saying this because a lot of patience is needed, all king of people are in leading roles but they are not necessary leaders, feedback is coming many times after weeks and sometimes even with a test sent people forget the one who applied, because in reality they don't give a sh*t and respect for other people is only when they really, really need them.
The reason of this article: To review the feedback of the Technical Lead (Thomas Seropian)
...which in my opinion was not fare.
For the Jamie Oliver role, I had to go for a face to face interview which went well (I got some more information about the company and I told a few more things about me) and to do a test after.
The test was not complicated and they said to do not spend more than 2-3 hour on it.
I started the test on an evening, and this because over the day, the amount of phone calls from recruiters is too big even if they present a new role, give feedback or simple want to know how I am doing (this is the most annoying call I can get because I don't have time)
Here is the request of the test:
Web Developer - Technical Test
Thanks again for coming to meet us for the first interview. As mentioned we have a short brief we would like you to answer to, before the 2nd interview. Your answers don't need to be long and will help us assess if the role is a good match for your skills and interests. Our technical background is the usual LAMP environment, and our websites are mainly based on WordPress and its ecosystems.
For backend and frontend tasks, we don’t want you to over-engineer the solution but we may ask you to extend some of the functionalities in the next step of the interview process. We are expecting a solution that you'd be happy to go live with and that works "out of the box”.
Please create local git repositories and then commit to this as you work. When you have finished, please zip up the whole folders (including the .git folder) and email it back to us. Please do not make your solution public.
Write a HTML/CSS file that will reproduce the following wireframe.
- Create a new WordPress theme - Note: There will be no ‘front-end’ to the theme (so need to create any templates). It’s only purpose is to expose data that can be accessed via AJAX.
- Register a custom post type - 'Recipes' with the ability to add the following custom fields/metadata in the CMS:
- Title (string)
- Difficulty (enum) - values: super-easy, not-too-tricky, showing-off
- Cooking Time (integer)
- Ingredients (text)
- Method/Instructions (text)
- Create a PHP class that registers two AJAX methods, one that will allow for retrieval of ‘Recipes’ data via GET and another that will allow for new ‘Recipes’ to be created via POST.
- The client should be able to provide the following (optional) parameters in order to sort/filter the response from the AJAX endpoint:
- sort (string) - value should be either: ASC or DESC. For the purpose of the test, it is presumed that this parameter will only be sorting the ‘Title’ field.
- limit (integer) - The number of ‘Recipes’ to return from the request. Providing ‘-1’ as the value should return all Recipes.
- offset (integer) - An offset of records to exclude from the query (i.e. for pagination).
Please spend no more than 2-3 hours on your solution. If you are unable to implement/finish your solution within this timeframe then please submit anyway, with a detailed list of any outstanding tasks you would have undertaken.
Tell us about one thing you find most websites are doing poorly? How would you fix it?
One of our remote staff is facing a bug on the website you cannot reproduce. How would you proceed?
And here is the test feedback
- Q1/ Missing 2 answers (the 2 general background questions)
- Q2/ Front-end work is good but there is a lot of code which is irrelevant to what was asked (some code related to an online casino site). I presume it is a copy/paste from another test/project, that wasn't cleaned up
- Q3/ Backend is working out of the box (which is good). However it is missing a lot of the points.
My review of the feedback
- Q1/ Missing 2 answers (the 2 general background questions)
Me: True, I was so focused to do the first practical parts that I forgot to answer to the general questions. When I remembered, late on the night, the test was already sent. But they didn't even got the chance to answer them later!
- Q2/ Front-end work is good
Me: This is great!
but there is a lot of code which is irrelevant to what was asked (some code related to an online casino site). I presume it is a copy/paste from another test/project, that wasn't cleaned up
Me: True, I started the structure of this test by doing a copy paste of a different test and I forgot to remove a custom.js file. On the HTML part of the test no JS file was needed anyway.
- Q3/ Backend is working out of the box (which is good).
Me: This is great!
However it is missing a lot of the points.
Me: A lot?! Which ones! I can't find anything important missing. And let's remember that is a test and it doesn't have to be completed to show the level of knowledge.
Me: I ended by doing the HTML part and the Wordpress part at a good level (I am curios if Thomas Seropian can do better) but I had a few BUTs which are "really needed" to do a great test.
For Jamie Oliver Web Development Team Lead what I done was not good enough to convince him that I can do what they need on the role and he actually looked at some BUTs to eliminate me from the list. I would't be frustrated if I was a junior or on a medium level, but I am not and he didn't care about what I am capable to do.
Here is the repository link of the test in case you are curios on what I done and what I missed.
A preview of the HTML task
A preview of the Wordpress task
As part of my feedback I will answer to unanswered questions
Question: Tell us about one thing you find most websites are doing poorly? How would you fix it?
Answer: Optimization for SEO. Web developers are not really expert in SEO, but they may know a lot of things. Any website should go after the development process to the SEO department to be helped on being indexed in Google (the most important one), Yahoo or Bing. Also, when a website is developed many times ALTs or TITLEs on images and links are neglected. H tags are not proper used, the same with other html 5 tags as <article> or <header>. The content itself is not properly optimized with keywords. Usually when a website is done in terms of development, people think that everything is done and the website will have traffic too. That is wrong!
Question: One of our remote staff is facing a bug on the website you cannot reproduce. How would you proceed?
Answer: If the project can be cloned I would clone it on my machine and try to fix it. If is related to it's work environment, I would login, with Team Viewer or something similar, to it's machine and doing step by step debugging. When weird bugs appear and the cause can't be found, to find where is the problem I will:
- isolate pieces of code
- comment out things that can help to simplify the debugging process
- start from scratch if is a small thing that can be built different but in a short time. Sometimes, on small things, debugging process can be longer then building again but on a different, better way.