Home exercise for automation tester

hi

As part of the interviewing process at our company for the Automation Engineer position, we intend to provide our candidates with a take-home exercise.
Could you recommend what the exercise should entail?
Additionally, I am in search of a website where I can construct the exercise upon—a site that utilizes REST requests with a GUI that is not too basic.

2 Likes

Hi,
Do you already have some criteria in mind for what the automation engineer should be capable of doing?

  • a specific framework or tool; or capability to learn and add adapt to a new tool?
  • a specific programming language used in the company? or capability to learn a new language;
  • familiar with a specific type of product, business, domain and technology stack? or adaptable?
  • with a specialization in coding or testing?
  • junior or senior to the automation? how about to working in testing?
  • work alone or in a team? alone might require self-learning as opposed to a team where you learn more from others and adapt and communicate;
  • on an existing automation framework, or required to create new?
  • is there a testing strategy where automation is included or should the automation engineer define the strategy for testing as well and then find where automation is needed;
  • full-time automation or part-automation, part something else?
  • which type of automation do you have in mind? ex. build tools, scripts or use tools; generate data or use existing data;
  • automation pre-requisites? would the automation engineer be required to manage a product, the environment, the data, and its states or will someone else support it? should the tester come up with the automation use cases or will those be derived or provided by someone?
    …

While I don’t hold high hopes I could sway your decision, I just hope your team has fully thought that through. Take home assignments are widely criticized, and for good reasons.

  • You are filtering out people with caring responsibilities (for child, parent, partner etc.). Depending on where you are, this might actually open you up for lawsuit on the ground of discriminatory hiring practices.
  • You are filtering out a section of experienced, working professionals who consider that asking them to do a free work (you can counter that by offering payment to everyone who participates).
  • You are sending out a signal that you don’t really respect people boundaries and you are fine with asking employees to do work in their personal time. When you also claim to respect work-life balance (as many companies claim), some candidates might decide they are not taking chances here.
  • Candidates might ask or hire someone else to do the assignment for them, so at the end of the day, you don’t really learn much.

Unfortunately, hiring is hard and there is no silver bullet. For me the ideal would be if I could see some moderately complex code that the candidate wrote, and then during the interview I would be able to ask candidate to walk me through, and we could discuss some design decisions and tradeoffs that the candidate took. Unfortunately, not all candidates have a code they can show, largely for the same reasons that take home assignments are bad idea.

When that topic was brought up in my work recently, one person said they like to take a commit from his team repository, remove commit message and show that to candidate. Then they ask to explain what code might be doing, and to try to do a review of that commit. This will filter out people who don’t know anything about programming, and actually puts a candidate in a position similar to what they are going to be doing if they take the job. This also avoids most of the problems with take home assignments or coding tasks. For this to work, you need a commit that is relatively short, self-contained and does not require the context of your entire project to make sense.

3 Likes