As I recently posted, I’m joining (or if you’re reading this after Nov 12th 2018 – have joined) Automattic as a JavaScript Engineer.

For those who don’t know, Automattic (abbreviated to A8c for the remainder of this article) is a fully distributed company, meaning it’s employees work remotely from all over the world. As a result, to ensure it hires the right people, it has a highly unique and interesting interview process.

Since I was hired, I’ve had a lot of questions from friends and colleagues about the specifics of this process. As a result, I will now attempt to document my experiences of applying and being hired by A8c in 2018, with the aim of both answering these questions and informing others who come after me hoping to apply for a role.

The Application

Applying for Automattic couldn’t be easier. Open positions are listed right on the website. Once you’ve read through the role spec and decided it’s for you, you’re asked to apply by sending a email to a dedicated email address. Once sent, you will receive a response indicating whether your application will be taken further. My response came within 1-2 weeks which seemed reasonable given the number of applications A8c receives.

If your application is deemed suitable, then you’ll be asked to book a spot for a Slack interview (more on that shortly).

In my experience, I spent a lot of time crafting both the email itself and the covering letter you are requested to send along with your application. Written communication is a key skill and so it’s really important to spend sufficient time honing this letter ensuring it:

  • Communicates your skills succinctly and clearly – the A8c team read hundreds of applications, you don’t want yours disqualified because it rambles on or has basic errors
  • Addresses all of the key points indicated in the “How to Apply” section of the job description – missing out one of these will likely automatically (see what I did there!?) disqualify you right off the bat
  • Is grammatically correct and doesn’t contain glaring spelling errors (using “Word press”, “WordPress” or incorrect variants thereof will likely be a fail)

I don’t know for sure, but I’d wager that 90% of applications fail at this initial stage due to one of the issues above. Take the time to get it right – it’s worth it.

The Slack Interview

At this point, you’ve moved onto the interview process proper.

The first stage of this process is a chat with a Hiremattician (someone who works on the hiring team) conducted entirely over Slack. That’s right, it’s a totally text-based interview! No video. No telephone call. Just a one-to-one text chat where you’ll discuss a range of topics – both technical and otherwise – to enable the hiring manager to assess whether you are suitable for the role.

For me this stage was a great experience and one which played very much to my strengths. I’d been using Slack in my current role for well over a year so I was familiar with the majority of the conventions and techniques required to convey myself well over IM.

I chatted with the Hiremattician for well over 1hr, during which time we discussed topics including

  • Why I applied for the role
  • What particularly attracted me to Automattic
  • JavaScript – deep dive into some technical aspects including Prototypes, Closures and the Event loop
  • Wider Web knowledge – general probing of my wider knowledge of the field of web development

After this, I was afforded the opportunity to ask any questions I had about the role and/or the company. I had several already prepared which avoided me scrambling around and appearing flustered (hot tip!).

For this stage of the interview I would recommend:

  • Being comfortable communicating over IM – in particular using Slack. As A8c is a distributed company, emoji are used heavily to communicate more effectively, so take care to use these judiciously throughout your chat
  • Knowing your subject matter – you really can’t blag your way through the technical side of the discussion. It should go without saying that you need to have an in-depth understanding of the tech required by the role you’re applying for. It also helps to have a solid grasp of wider web fundamentals such as security, networking and web application design.
  • Researching Automattic in detail – if you’re applying for a role at a company, you should make sure you’ve done your background research on them (for your own sake as much as for the interview!). You should have a clear idea of what makes you want to work for them (try to avoid “I want to work from home” – it’s a bit obvious) as well as good background knowledge about the company’s beliefs and practices.

Once the interview is complete, you’ll be told whether you’ve made it to the next stage. If you have then it’s on to the code test!

The Code Test

The next stage in the process is a classic code test. Perhaps slightly unexpectedly however, this test wasn’t focused on assessing my JavaScript knowledge, but rather my general approach to code and problem-solving.

For obvious reasons, I can’t reveal the specific details of the test. However, you’ll be provided with an SVN repo containing an existing codebase. You’ll then be asked to complete a set of specific tasks as well as consider a set of wider objectives relating to web best practice.

For this interview stage I would recommend:

  • Learn some PHP – A8c is originally a PHP-centric company. As a result, it’s safe to say that you would be wise to have a good basic-level understanding of PHP before applying for the role. This will put you in a good position throughout the process.
  • Learn some WordPress – as you’re applying to work for the company behind WordPress, you will likely already have experience with WordPress. If you don’t, get some. It’s really going to come in handy (did I mention WordPress?).
  • Clarify the brief – the exercise you’re given has some specific tasks but also some wider objectives. Ensure you read and understand all of these. Anything you’re unsure of, raise it and clarify it before proceeding.
  • Communicate little and often – you’ll be operating over Slack, so it’s vital that you communicate your progress on a regular basis.
  • Focus but go the extra mile – the exercise has a lot of wider objectives but aim to complete the core tasks first. Then move on and address as many of the wider objectives as you can. If you run out of time, provide a detailed write-up of what your next steps would be if you had longer to work on the task. You should be looking to push yourself and do your best work – do not allow yourself to accept the bare minimum.

Once you’ve submitted the test, you’ll likely engage in a code review process with the Hiremattician. They will raise issues and ask you questions about your decisions. You’ll likely then be given an opportunity to address any items you’ve missed or extend your code with further improvements.

At the end of this stage, based on your performance, you’ll be informed whether you’re going to be taken forward to work on contract at A8c.

Contract Stage

The final stage of the technical interview involves working on contract for Automattic on a real project on a real A8c codebase. Here are some key points about this stage that you’ll want to be aware of:

  • It is paid – the current rate is set a $25/hr as a fair midground that should cover people applying from different demographics across the globe.
  • You spend approx 40hrs – A8c indicate that you’ll need to dedicate approximately 40hrs to the contract (in my experience this ended up being more).
  •  There is no time limit – A8c understand you’ll likely have other commitments and so they are entirely flexible with the time frame within which you complete the work. There is no deadline – all they ask is that you keep your Trial Lead informed.

There is a lot of debate about whether this contract phase is fair. My take on this is: get over it! You’re applying for a job with a large company. You want the role? Guess what, you’ll need to put a bit of effort in! More on this later…

During this phase of the process you really start to feel like a fully fledged member of the A8c team. You’re afforded a level of (supervised) access to their internal systems and you can engage freely with existing Automatticans over Slack. You’ll also be assigned a dedicated Trial Lead, who will be your guide during the process and is responsible for recommending you for hiring (or not). Get to know them and show them your best colours – they want to know you’re a good person to work with as an individual as well as an engineer.

Upon commencement of the contract, you’ll be handed a project brief. In my experience, this is compromised of a mixture of both clearly defined tasks and more open-ended objectives. This is designed to test both your ability to complete set goals whilst also assessing whether you can act independently to investigate and find a solution to problems which are more loosely defined.

For this stage of the interview I would recommend the following:

  • Embrace the chaos – at first, you might feel everything is a little “loose”. However, you’ll quickly realise this is part of the process. Embrace it. Take the initiative. Don’t wait for things to come to you.
  • Communicate – I keep coming back to this, but it’s incredibly important. Communicate effectively with your Trial Lead and any other Automatticans you encounter on your travels. It really is oxygen!
  • Read the docs – A8c offers a comprehensive set of documentation and internal guides. Refer back to these regularly as they typically have the answers to most questions. If you can’t find the answer, then demonstrate you’ve at least attempted to find the solution yourself before asking your Trial Lead.
  • Act like you own it – no one is going to spoon feed you on this. You need to show you can act independently to find solutions to problems. That doesn’t mean you have to work alone, but don’t expect your Trial Lead to give you the answers (or even the problems!).

I’m not going to lie, the contract period was extremely tough for me. There’s only so long you can sustain working two jobs (especially with family commitments) without burning out.

In my case, for example, I was working a full-time job 9:00am-5:30pm, with a 3hr train commute each day. I also had a 3yr old and a newborn baby at home. People have asked me: how did you possibly get the work done? My answer is simple: I identified the only time in the day where I had nothing to do – my 1.5 train commute (each way) – and forced myself to work during this period. It was hard, but I really wanted it and so I found a way to make it work. Trust me, you will too.

Despite its challenges, however, the Contract phase is a golden opportunity for you to assess whether you like working at A8c whilst getting paid to do it. I’ll admit that for most people in the western world, $25/hr isn’t going to sustain them as a full-time income. However, due to the flexibility afforded by A8c, with a bit of effort you should be able to fit the contract commitments in and around your existing work commitments. It can be done.

At the end of your contract, you’ll be informed by your Trial Lead whether you’ve made it to the final stage of the process – an interview with HR.

HR Interview

This is the final step in the process. If you’ve made it this far you are extremely close to being hired. However, don’t forget you are still being interviewed.

I’ve heard a lot of people say that A8c CEO Matt Mullenweg, conducts these interviews personally. I’ll say now that my interview was not with Matt so I can’t shed any light on whether this still happens or whether he now defers this work to the A8c HR team.

Once you’ve made it past the contract phase, a HR representative will reach out to you over Slack and work with you to schedule time for a chat. Again, this will be a Slack-based interview, as this helps A8c to ensure they avoid any bias creeping in during the hiring process.

In my experience this interview was comprised of a generally informal chat which broadly covered the following topics:

  • Feedback on Trial experiences
  • Practicalities of the role, and terms & conditions
  • Salary conversation

Of the 3 points above, I wager 99% of the questions I get will, perhaps unsurprisingly, be concerned with the last one – salary. I should say now I have no insight whatsoever into the salaries paid by Automattic so I cannot comment on likely salaries or even ballparks. What I can say is that I was engaged in a conversation which was very specifically tied to my personal attributes as well as my technical skills and demonstrable experience.

This likely be the same for all applicants, indeed as it would be for any job role. It goes without saying that I’m not going to reveal my salary offer here!

All I can offer in terms of advice for this stage is:

  • have a clear vision of why you want to work at Automattic – this should be clearer for you following the trial process
  • sell yourself (something that can be difficult for us UK folks!)
  • have an awareness of your value in the current market

…the rest is down to you!

On Being Hired

I’m very pleased to have successfully made it through the interview process to become a fully fledged Automattician. Overall the process was  challenging, but I found it to be a hugely rewarding experience.

If you’re looking for your next role and believe you have the skills & attributes necessary, don’t hesitate – give it go, you won’t regret it!

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *