Becoming an Automattic Code Wrangler : Beginning to End

·

Looking back, I remember how anxious I was throughout the whole process of applying, interviewing, and going through trial at Automattic… I also remember that while there are many stories of the process for Happiness Engineers, there were very few for Code Wranglers.

Because of this, I’d like to share my experience from applying to accepting the job offer.

Applying to Automattic

Applying to Automattic is a pretty straight forward process. Go to Automattic’s Work With Us page, find your job, then send an email that follows the instructions at the bottom of the page.

After that, sit back and relax. It took a little over 6 weeks to get a response back to my application.

Interviewing and Code Test

If you make it past the application stage, then the next step is interviewing, which will likely be with a Code Wrangler.

While the content of the interview was similar to other tech interviews that I’ve had, the format was different … The interview was a text chat interview.

Why, you ask?

Well, since Automattic is a completely distributed company, meaning that people work all over the world, much of the communication takes place in the form of text chat. Thus, it makes sense to conduct interviews in the same format that most communication takes place.

As a matter of fact, you can probably expect to communicate solely through text chat throughout the entire hiring process!

If you make it past the interview, then you’ll be given a small coding problem to work on and a due date … This is the code test.

Trial for Code Wranglers

If you successfully make it past the code test, then the next step is the trial.

For my trial, I built a message and error logging API called WP Logger.

The thing that stands out the most about my trial is that there weren’t any hard requirements. My trial lead, Demitrious Kelly, told me to build a logging API, provided a bit of guidance, and set me loose. From there, I iterated quickly and gave him updates throughout the week to get feedback and guidance.

Realizing that this was an audition of sorts, I made it a point to try to answer as many questions as possible by myself. This meant looking at documentation, reading core WordPress code, and more… All before asking a question.

At points, Demitrious provided suggestions that completely changed the direction the project went in. Example: Where I provided a global instantiation of the WP_Logger class that developers could use to log messages… Demitrious suggested to use the WordPress hooks API, which made the code much simpler.

In the end, my trial lasted about 4-5 weeks. After which I was told to get in touch with Matt Mullenweg, the founder of Automattic, via Skype.

The Matt Talk for Code Wranglers

The Matt Talk is the last step in the hiring process for Automattic. But, be forewarned, Matt is not an easy person to get in touch with. It took about 10 days before Matt responded to my initial Skype message.

The talk lasted about 3.5 hours, the end of which was spent on setting a range on salary. Matt welcomed me aboard and I received my offer letter the next day.

Questions?

A lot has happened over the span of about 10 weeks, so there’s a good chance that I might have missed a few interesting details. So, if there’s something you’re curious about, leave a comment below, and I’ll attempt to answer your question.

Comments

47 responses to “Becoming an Automattic Code Wrangler : Beginning to End”

  1. brianduynguyen Avatar

    Not sure if you’re allowed to divulge, but how is salary set and raises determined at Auttomatic? I’ve read on Scott Berkun’s blog that there are no formal performance reviews, so I’m just wondering if you had anything you can share on this?

    1. ebinnion Avatar

      Hey Brian,

      That’s definitely a good question!

      On the issue of determining a salary, this happens in the Matt talk. Essentially what happens is you’re asked what you currently make, what you need to pay the bills, and then where you see your salary at in 3-5 years. Based on that, Matt will make you an offer.

      As far as the raises, I’ve only been at Automattic for a month and a half, so I’m entirely sure of how this works.

      Hopefully that information helps.

  2. Ryan Herr (@rrherr) Avatar

    Eric, great post, thank you for sharing your experience! You mentioned that your trial lasted about 4-5 weeks. How many hours per week was that? Were you also working a full-time job at the same time? If so, how did you balance the two?

    1. ebinnion Avatar

      Hey Ryan,

      Looking back through my invoices that I sent to Automattic during the trial, it looks like I averaged somwhere between 15 and 20 hours per week. Note that there wasn’t a hard number of hours that I was supposed to work.

      I was working at another job at the time as a developer, but I cut back to about 30-35 hours to help give a bit more time for the trial.

      Ultimately, each trial is a new project and the hours that you need to commit will be up to you and your trial lead.

      Hopefully that helps!

  3. Hi Eric, thank you for the post, it is very helpful!

    Seems like your mindset on problem solving, and your ability to adapt to changes during the trial period was more important than your previous experience or background, right?

    1. ebinnion Avatar

      Hey Jesús,

      In my opinion, I would say that previous experience and background is what usually gets you in the door at companies.

      From my experience, I would say that having the ability to adapt, work with loose guidance, and solve problems were a big determinant in my getting the job.

      I would agree that those skills were likely important once I was already in the trial, and honesty, they continue to be important with day-to-day work at Automattic.

  4. Zabrina Avatar

    Congrats on your position at Automattic! I love the set-up of the company and am thinking about applying myself. How many hours of work do you average a week? I know that the whole point is not to have shifts and to have autonomy… but as you are working with a group of people, how do you know if you are pulling your weight in the company? Thanks in advance!

    1. ebinnion Avatar

      Hey there Zabrina,

      In all honesty, I have no idea how many hours a week I work. I haven’t kept track of it since I started. If I were to guess, I would say that it’s ranged anywhere from 30-60 depending very much on how far I wanted to push myself as well what needed to get done that week.

      As to your second question of how do employees at Automattic stay accountable to each other, that’s a bit more difficult.

      On my team, the team lead (Beau Lebens) has weekly 1-on-1s with each member to talk about anything. Up until recently, I have always been sure to ask how he thought I was performing because I was worried that I wasn’t keeping up.

      After a while, I’ve stopped worrying about it and started just focusing on what needs to get done.

      Further, while I don’t know of any tracking of employee hours, there are ways that we can, and possibly do use, to measure an employee’s performance:

      • Number of commits in a given time
      • Number of internal posts or comments
      • Number of times that an employee likes a post (this can signify that a user has read post)
      • Number of messages in our chat tools
      • etc.

      Hopefully this somewhat answers your questions. Working at Automattic is unlike any other place I’ve worked at 🙂

      1. Zabrina Avatar

        Thank you so much for your response! Automattic is extraordinary in description… until now I didn’t believe that a company could innovative so effectively in order to motivate employees. I hope your position continues to inspire you and maybe I’ll get to chat with you on O2 someday soon. 🙂

  5. fadils Avatar

    Hi Eric, how long does it take to get the code test’s assessment result?
    I mean, after you submitted your code test, how long does it take for Automattic to get back to and decide for the trials?

    Awesome post. Awesome answers.

    1. ebinnion Avatar

      It’s been nearly a year since I had my first interview for Automattic, but from what I remember, it only took a few days. That being said, it may take more or less time for you.

      Best of luck! I look forward to chatting with you if and when you make it to trial!

  6. Poseidon Avatar
    Poseidon

    Great detailed description!!
    Thanks for it.

    How much time does it take to get a reply for the application. Do they reply to all the applications : Rejection or further procedure or if we don’t get a reply that means we are rejected?

    1. ebinnion Avatar

      My understanding is that all applications are replied to. As far as time frame, I am not certain what the average is. Mine seemed to take about 4 weeks to hear back.

  7. sisir Avatar

    Thank you for the article. Very inspiring!! I have started to think about applying myself. But the biggest question for me is “Am I ready?” or What set of skills do I need as Everyone have their strong and weak points.

    The description on Automattics page is rather vague.

    1. Eric Binnion Avatar

      The Code Wrangler position is a bit vague to be honest, but I think that might be because there’s so much that Code Wranglers do.

      I would suggest that you go ahead and apply. Worst case scenario is that you are told “not now”, which I’ve always understood to be more of an invitation to try again later.

  8. Javis Sullivan Avatar

    Hey Eric! Great post Btw. I am wondering about what kind of code test would be typical for either a code wrangler or javascript engineer before you get to the trial project?

    1. Eric Binnion Avatar

      I’m not sure what a typical code test looks since I have only ever seen my code test.

      That being said, mine was taking a WordPress plugin with several issues, and fixing it so that it worked and adhered to the WordPress coding standards.

  9. Brandon Avatar
    Brandon

    Hey Eric,

    Thanks so much for writing this blog post! Like many of the other commenters I too have been considering applying for a position as a Code Wrangler for Automattic, but until now hadn’t found much information about the job description and hiring process. I also appreciate the fact that you’re obviously engaged with your readers in the comments, especially the question and answer regarding time tracking.

    My question for you is related to the Automattic GitHub repo. Which projects do you feel would be best to play with, dig around in, and contribute to when considering a Code Wrangler position? I understand the answer could be “any and all” due to the broad and vague nature of the job, but am curious what you think since you have an inside view.

    Thanks again!

    1. Eric Binnion Avatar

      Hey Brandon!

      Thanks for leaving a comment.

      If I had to pick, I would say that the following may be the best Automattic open-source projects to look at and contribute to:

      Jetpack and Calypso because these are both getting a lot of development attention within the company. AMP because it’s a recent product that we launched.

      That being said, there are a lot of other open-source projects that we use that would probably be good to look at as well. You can find a list of these in the Calypso repo: https://github.com/Automattic/wp-calypso/blob/master/CREDITS.md

      1. Brandon Avatar
        Brandon

        Hey Eric,

        Thanks for the fast response! I actually started playing around with Calypso about a week ago to get a feel and check out the architecture. I’ll definitely be looking into Jetpack and AMP now, too.

        Thanks again!

  10. Shiva Poudel Avatar

    Hello Eric,

    I just read your blog. Nice one.

    I applied to Automattic and got response with in a day to schedule a preliminary interview over Slack. But I’m a bit nervous about the interview and type of questions they might ask. ( I’ve not appeared for any tech interview till date ).

    Can you share your experience on what kind of questions were asked? How do you recommend someone to prepare for the interview?

    Thank you!

    1. Eric Binnion Avatar

      Hey Shiva, that’s great news!

      It’s been about 30-32 months since I did the interview (?), so I’m not sure how much help I’ll be.

      From memory, the questions were more about my experience and how I would approach an issue, rather than actually programming live. The programming part will come later during your trial.

      To prepare for the interview, I’d suggest:

      • Getting your Github prepared
      • Thinking of what work you’re most proud of
      • Thinking of situations where you’ve done well as well as situations where you didn’t do well
        • In both cases, what lessons did you learn?
      • Thinking of why you want to work at Automattic

      Best of luck!

  11. Ron Pasillas Avatar
    Ron Pasillas

    Hi Eric,

    So it’s been some time since your post. How are you liking your position there? If you’re not there anymore, how did you like it?

  12. Pratik Avatar

    Hey Eric,
    Thank you for the post, it is very helpful.
    Since you have been working with Automattic for fairly long time, how important you think is verbal communication in both selection process and in actual working condition.

    Thanks.

    1. Eric Binnion Avatar

      Hi Pratik,

      My apologies for not getting in touch with you until now.

      I would say that verbal communication is somewhat important, but written communication much more so since so much of our interaction is through p2 posts, chats, etc.

      During the selection process, I believe it was entirely written. From day-to-day, up until recently, I think I spent maybe 2-3 hours per week in video calls. Lately, it seems like I am doing more like 1-2 hours per day now that I am on a growth team.

      Best of luck!

  13. ?? Avatar

    Hey Eric, Doesn’t code wrangler touch Node.js? I’m curious what the difference between code wrangler and JS Engineer.

    1. Eric Binnion Avatar

      Hey there!

      In day-to-day, I’m not sure that there’s a definite line drawn between code wranglers and JavaScript engineers. In fact, I used to be on a team with at least 2-3 developers who were hired as JavaScript engineers specifically and I don’t recall there ever being a line drawn. We all worked on Calypso at the time.

      That being said, that team was split at one point, and the all of the JavaScript engineers were put on a team that worked almost exclusively on JavaScript, whereas the team I was put on had a few code wranglers that worked pretty deeply on some core Jetpack code. Even then, I still worked on several projects in Calypso, it just wasn’t the only thing I worked on.

      I hope that helps.

  14. Gayon Avatar

    Hi There, Eric!
    I know this may be far off from what you do at Automattic, but I am curious as to if you have any insight on the Happiness Engineer or VIP Happiness Engineer position. Such as what they look for in new applicants and any tips you may have for a new applicant?

    Thanks.

  15. Rachith Avatar

    Hey, thanks for sharing your experience. Did Automattic sponsor the workstation or laptop for free or is it sonething you had to buy from your own pocket?

    1. Eric Binnion Avatar

      Hey there! Automattic provides you with your choice of computer, your choice of monitor, and they will reimburse expenses to setup your home office.

      For example, when I started, I got a 15″ MacBook Pro, Apple Thunderbolt display, and a Herman Miller Aeron chair.

      I’ve personally never had any issues with getting things reimbursed.

  16. SirPhemmiey Avatar
    SirPhemmiey

    Hi Eric, thanks for this post.
    I just passed the initial chat stage. And I’ve moved to the next stage of interview (90-minutes chat). Can i know what to expect there? Would it be technical?

    1. Eric Binnion Avatar

      Hello there, and congratulations on making it to the interview!

      Yes, you can expect that there will be some technical questions during the interview. When I ran interviews, I would spend some time asking questions about the interviewee and then would tend to ask about 3 technical questions about fundamental programming topics. For what it’s worth, the questions tend to be high-level and you won’t be asked to “whiteboard” during the interview, unless something has changed recently that I’m not aware of.

      Best of luck!

  17. Nitin Ghule Avatar
    Nitin Ghule

    Thanks Eric for this nice post.
    What would be the exact email addr. if I want send resume for suppose ‘Software Engineer’ post .
    I could not work out ‘job@this domain’ what does this mean ?
    I have worked independently as freelance software developer since DOS to web development and Hybrid mobile application. Any suggestion for which post I should apply in Automattic company.

    Thanks in Advance.

    1. Eric Binnion Avatar

      Hi Nitin –

      Try “jobs@automattic.com”, which is mentioned on the page for the Software Engineer position. As far as which position to apply to, it’ hard for me to give a recommendation. So, I would suggest applying for the position that you find most interesting 🙂

  18. Vesko Avatar

    Hi Eric.
    Did you wrote unit tests for API that you made? What is the workflow for trial? You say how much hours you can dedicate per week and then you code, you send PR and then the mentor will give you the feedback? You fix it, and like that in a loop until they are satisfied?

    1. Eric Binnion Avatar

      Hi Vesko,

      Did you wrote unit tests for API that you made?

      It’s been some time now, but I don’t believe that I wrote unit tests for the WP Logger repo. This is primarily because I didn’t have much experience with unit testing at the time though. With what I know now, I, more often than not, add unit tests for my code.

      What is the workflow for trial?

      Please keep in mind that I haven’t had my trial in over 6 years now. Also, while I have worked in hiring at Automattic, I have not run a trial in recent years. That being said, I can attempt to answer your question from my experience.

      Your summary seems generally correct to me. What I would change is that, instead of one PR, there are likely many smaller PRs. Smaller commits and PRs are generally easier to review and, in my experience, documented better. During this process of multiple PRs, there will be some conversations about approach, constraints, etc., all of which is as important as actually writing the code.

  19. Lieve Avatar

    Hi Eric,

    Thanks for this post. I just got an email a few days ago to complete a short questionnaire (information request). And now, I still waiting for the feedback.

    I already searched for admin/assistant hiring process, but I can’t find anything about it. Do you have any blog recommendations about it?

  20. marceloquinze Avatar
    marceloquinze

    Hi, Eric. Thanks for the article. I have been coming back to it again and again, reading all of the comments, since I decided I would apply for a position at Automattic.
    I have a friend who already works there, but in the marketing team, who told me it would be a good idea for me to at least try.
    I have been working with WordPress for ten years, but only as a freelancer, never in a company environment. So I have no experience with code testing and interviewing.
    Could you tell me… What is this code test that comes before the trial? Is it somehow related to data structures or algorithms? Something like the tests people do to be accepted at Google, Amazon, Facebook?
    Thank you 🙂

Leave a Reply to brianduynguyenCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from Eric Binnion

Subscribe now to keep reading and get access to the full archive.

Continue reading

Discover more from Eric Binnion

Subscribe now to keep reading and get access to the full archive.

Continue reading