One Year Later, a Reflection on becoming an Automattician

For those who follow me on twitter you may recall a post I tweeted just over a year ago:

My start date with Automattic was July 23, 2019.

I fully intended on writing a followup to that tweet, but then got sucked into all kinds of fun stuff with my new responsibilities and posted in my todo notes “Write a three month followup”. Three months came and went and that delayed post got pushed to a “Six month followup”. Of course 6 months came and went and then I finally adjusted it to a “year anniversary followup”. Here I am three days after the one year anniversary of me starting at Automattic and I think it’s time I write this post!

Some background

I’ve always had an interest in programming and working with computers. I remember Grade 6 was the first time I experienced what it was like to write code when I was part of a few students lucky enough to get to play with a Commodore PET that my school had purchased.

Over the years I would spend as much time as I could on computers but often my only exposure was what was available via school or at friends as my family couldn’t afford a computer. Then in Grade 10 my Dad picked up an old Apple IIe from his workplace and brought it home as his office switched to new IBMs and were getting rid of all their old obsolete machines. That thing was like gold to me! I remember reverse engineering Applesoft Basic programs to figure out how they were programmed and then trying to build my own programs from what I learned. So much fun!

I ended up going to school to study to be a Pastor, but even there I was always playing around with computers. By then I had scraped up some money from different jobs to buy myself a 386 (with monochrome monitor and 256MB hard drive!). From there I graduated to a 486 and color monitor, and BBSes were all the rage. Who remembers the screeching of a modem connecting over dialup?

It wasn’t long before I started learning html and playing around with the fun things you could build on Geocities. When I became a pastor, I was still fiddling around with building websites and building things online. From Geocities I graduated to using PHP and MySql to build things in PHPNuke! Oh that was so much fun! I started building a module for PHPNuke to make it easier to post sermon series I preached online and even put some forums online to interact with folks. And then I stumbled onto WordPress.

WordPress 1.5 was the first version I started using and it was so much easier to build things and tinker with WordPress than PHPNuke. At that point I started working on converting this series module I built in PHPNuke over to a WordPress plugin and Organize Series was published to the WordPress.org repository in the beginning of 2007.

I distinctly remember reading about Automattic and the team behind WordPress.com around this time and thinking to myself, “Wouldn’t it be fun to code full time and work for a company like Automattic”? At the time though I was still enjoying my day job and content learning to code and building things on the side during my free time.

Fast forward a few years to February 2012. I had started a business on the side doing freelancing for a wide variety of clients – building custom plugins and website solutions and it had grown sufficiently that I had to choose between continuing it and leaving my day job of Pastoring or significantly scaling back the growing side business and focus on being a Pastor. I couldn’t realistically keep doing both as being a Pastor was a really tough job and I was burning the candle at both ends between the two. I realized that while I didn’t regret any of my years pastoring, I loved and was passionate about building things with code and I decided to take the plunge and go full time coding (the spiritual side of this decision for me is a whole other story!).

A short while later I was very fortunate to land an open ended contract with Event Espresso and it turned into 7 great years of them being my main client and providing the majority of my work and income. I’m so grateful for the many opportunities Event Espresso gave me to learn and grow as a software engineer.

I learned so much about selling plugins online and Saas from Garth and Seth. I grew in my skills thanks to the awesome things I learned from my fellow developers at EE, Brent and Mike. I learned how to have patience and support customers via the excellent support Tony and Josh gave to users of EE.

I’m also grateful for the freedom I gained from working with EE to contribute to the WordPress project. EE had something called “ICE” (Innovate, Contribute to WordPress community, or Educate by learning new things) time which I utilized to be involved in WordPress core and then Gutenberg. It was a great supplement to the time I had already been giving WordPress personally over the years.

The turmoil…

One of the awesome things you get by freelancing and working on your own is the freedom you get from not having a boss. However, one of the not so awesome things is all the overhead that goes with that, including planning for vacations, dealing with things like healthcare and saving for retirement (not to mention the actual ever present need to keep the job pipeline full!). Fortunately, while I was on contract with Event Espresso, they were extremely generous with hours and there were some arrangements they agreed to that allowed for me to creatively store extra hours worked in advance so I could go on vacation without needing to work.

Still, after 7 years of this, I realized that despite how great it was working for EE and the things I was learning, and the great fun I had with the team, there were a few things that were creating a bit of a turmoil for me.

  • I was getting tired of billing by the hour and having to track my hours worked. I found myself measuring all my time by my hourly rate and it sucked.
  • Even though things were great with EE for taking time off and working around holidays etc, it still was lost paid hours if I had to take extra time away for some reason (unexpected sickness, family issues etc).
  • EE was a distributed team and everyone worked remotely. It definitely has it’s advantages but I had worked 7 years with the company and had only met two of the team in person in that whole time. I’d advocated for some sort of team meetup over the years, but it never materialized (*I understand there are costs involved). While not a major contributing factor to the turmoil, it was something on my mind (and I often thought about).

Outside of EE I was also really enjoying working on the Gutenberg project and the new stuff I was learning as a result of working on it.

One morning…

One day in early June last year, I woke up and as I started my day I found myself browsing the Automattic website and remembering how over 10 years ago I had wondered what it would be like to work for this company.

Of course in the meantime I had a chance to get to know three great people working on the Gutenberg project who also happened to work for Automattic. I decided to casually ask Riad, Andrew and Greg what it was like working for Automattic and what was something that they enjoyed about being employed there. All of them had really interesting answers and they also encouraged me to apply if I was interested (even offering to be a reference so I could be fast-tracked through the application process). I chatted with my wife and she had noticed the change in my demeanour over the past few months and so she encouraged me to go for it!

The application and hiring process

So on June 7th I fired off an email to Automattic with my application and resume (along with ccing Greg, Andrew and Riad as references). Even with fast-tracking, I wasn’t expecting to hear back from anyone until sometime the following week. However, about 20 minutes after submitting my application I received an email asking if I was available to do a slack chat that day! I was over the moon (and also super nervous).

The initial chat.

Automattic’s hiring process is done entirely over Slack and for the duration of the whole process I was added to a private slack channel (#hi-darren-ethier) where all the interviews and followup discussions happened. Overall I really liked this process as it made it a bit less formal and was not as nerve wracking as talking in person or over video would have been for me.

My initial chat was with someone from the hiring team and I vaguely remember it being mostly sharing a bit of my background and answering some questions about myself.

There was also some information shared about Automattic. In particular, something that was referenced at all stages of the interview process at some point or another was the Automattic Creed. As a sidenote, I really like that the company has taken the time to articulate what is important to them. One year in and I can definitively say this creed is not just a theoretical exercise. By and large, it’s embraced and lived in the company.

At the end of the chat they let me know that I was proceeding to the next stage which would be another chat with an engineer.

That day, I received a scheduling invite to pick a time to meet with the engineer assigned to me for the interview and there was a slot open that Sunday evening! Of course I grabbed it 🤗

Chat with engineer

Unfortunately, the slot on the Sunday with that engineer got cancelled because that person wasn’t able to make that time, so my interview was rescheduled for the following week (June 18).

The conversation with the engineer assigned to my interview was really cool. There were some questions about work I had done and various problems I encountered over my career and how I solved them. It didn’t get too technical but was varied. I also had the opportunity to ask any questions I had about Automattic and I can’t remember all that I asked offhand but I do remember asking how the person interviewing me got started at A8C and what they worked on.

Shortly after the interview I was notified that I was going on to the next stage of the process which was the code exercise.

The code exercise

I’m not going to go into too much detail here about the exercise given as a part of the interview process, however here’s some general information.

  • I was given a week to do it.
  • I was told not to spend anymore than 4-6 hours on it (I think initially I spent about 4 hours).
  • I was given access to a private repo that contained instructions.
  • It involved a custom WordPress plugin.
  • It involved a few logic questions related to the questions involving doing code and also finding a given number of known security issues.

One thing I really appreciated about this exercise is it wasn’t theoretical. The questions and tasks were based on real-world scenarios and not “tricks” or designed to fool you. Realistically, if you are a good programmer, the exercise should be fairly straightforward.

For my first attempt, I naively thought I did pretty good, however I did have difficulty finding all the security issues. I submitted the work I did after two days. At this point I was starting to get really excited about the potential for working at Automattic and wanted to get the process over one way or another. I’m the kind of person that once I make a decision I just want to move forward. So it’s always been difficult for me going through the application process of a job.

So you can imagine how I was feeling when I didn’t hear back from the engineer assigned to review my code exercise for 5 days! To top it off, as a part of the initial review, there was a silly mistake I had made in one of the logic improvements and I was told I missed a few security things.

I took a more slow, measured, and closer look and discovered that the security things I missed were pretty basic and I felt pretty silly for having missed them. At this point I was feeling pretty bummed and thought I had blew it. Still I corrected my mistakes and re-submitted for review.

Two days later I got a response with a detailed review in the slack channel split by an overview of the “good parts” contrasted against what “needed improvement”. I really appreciated this because it was insightful, valid, and specific critique that showed this exercise was taken seriously by the team.

Of course, the words that stood out the most to me at first were:

Given the above, we’d like to move you forward 🎉! The next step of the process is a trial project together. We’ve found it’s the best way for both sides to make sure it’s a great fit.

Oh ya baby, on to the next step!

The trial project

Going into the hiring process, I scoured the internet for anything I could find on what to expect. From the Automattic website, and various posts from other folks who had gone through the process, I expected that if I made it to the trial stage, I’d be working with a team on an actual project. However, it turned out to be a bit different. It turns out that fairly recently the hiring team had decided to streamline things a bit to help improve the velocity of hiring. Here’s what I experienced:

  • I was given access to a repository with a project that I would work on myself. It was close to a real world project with a defined scope of what to accomplish during the trial.
  • The project was paid ($25/hr USD). One thing that is really interesting here is that the rate is the same for everyone doing a trial at Automattic. It doesn’t matter what position is being applied for. It also has no relation to what the eventual salary would be.
  • It’s part time and I was able to decide when I started on it. I also had the flexibility of determining how much time I gave to it each week.
  • The average total time people spend on the trial is around 40 hours.

The trial itself was fairly straightforward and was a good opportunity for me to demonstrate my JavaScript skills. At the start of the trial, I was added to a few more Slack channels that opened up the ability to seek help from and engage in conversations with other Automatticians.

Communication during the trial (besides via Slack) was done through work in the GitHub repository and also in a P2 created specifically for the purpose of the trial.

I started work on the trial as soon as possible (which was July 1st) and in all I spent a total of 13 hours on the trial over the course of 3 days completing all the tasks and found out on my birthday (July 4th) that I had progressed to the next stage and would be recommended to Matt (Automattic’s CEO) for hire. WooHoo!

The final chat

At that point I figured (based on the research I had done) that I would have the “Matt chat” which would be the final decision on whether I would be hired or not, but this was another thing that had changed and now the final chat is done by someone from HR. To be honest I was a little bit disappointed because I was looking forward to the opportunity to chat with Matt but given how much the company had grown, I understood the change.

The final chat with HR happened one day later (July 5th) and essentially revolved around admin related tasks related to getting hired. The decision was effectively a done deal, what was left was discussion around compensation.

Compensation was something I was kind of nervous about. I was doing pretty well financially prior to going into the hiring process and was concerned that the compensation offer would come back significantly lower than what I expected and I’d have to make a decision on whether the other perks of the job would make it worth it. Some primary motivators for me applying to Automattic were:

  • my experience working with other Automatticians on Gutenberg.
  • being paid by Salary instead of hourly.
  • unlimited AFK policy (vacation) – no more having to be concerned about how I’ll cover the expense of not only vacation time but also the hours I’m not working.
  • Benefits – while Canada has a great public health plan, there’s still a lot that is not covered. A8C’s benefits are really good.
  • Matching retirement investment plans.
  • The opportunity to travel and see people I work with in person. This was a huge one for me! Not only do I like travelling to different places, but having the opportunity to meet my peers in person and collaborate on things during time together was a huge plus.

So, given the above, I was actually prepared for a small drop from my current income but was quite pleased when they came back with a compensation offer that was more than I was expecting.

On July 8th the offer came in and I accepted. I requested a start date of July 23rd which allowed me to give a couple weeks notice to Event Espresso and wind down work there. I was so excited!

And so it begins

So what has the last year been like working at Automattic?

In short, amazing.

At Automattic, communication really is oxygen, and I had fun navigating the “chaos” among the firehose of internal communication channels that exist. Fortunately, one of my strengths is deriving systems and processes for consuming information so I’ve been able to develop a process that works well for me to filter through the things both relevant to what I work on and also what I’m interested in.

I was placed on a team that works on WooCommerce Blocks and I’ve also been serving as sort of a bridge between the WooCommerce division and the Gutenberg project given my involvement there. In the course of the past year, here’s a sampling of what I’ve done:

  • I worked on and contributed towards the release of some pretty cool new WooCommerce blocks involving living on the edges of what’s possible with Gutenberg (All Products block, new Cart and Checkout blocks).
  • I’ve helped solved some gnarly challenges around supporting multiple WordPress versions.
  • I’ve given learn-ups and helped level up peers in using the the @wordpress/data API. This also resulted in a series I wrote here on Unfolding Neurons.
  • I was given the responsibility of leading a squad within my team and then eventually the squad becoming it’s own team (with me as the lead) just this month.
  • I went to Orlando to attend the Grand Meetup (every year the entire company gets together in one location for 10 days) and also went to Kelowna for a team meetup.
  • I write a summary of JavaScript and Gutenberg news for the entire company weekly.

I’ve also continued to level up my skills as I learn from some of the brightest folks I’ve had a chance to work with.

What is great about Automattic

Here’s just a few things that have really stood out for me as great things at Automattic.

  • There’s a real sense that folks really care about you.
  • Automattic’s response to the pandemic and the turmoil happening as a result has been stellar. Everyone has regularly been encouraged to take time off whenever needed and so much thought and care has gone into communication and adjustments around the real impacts of pandemic on everyone’s day to day.
  • Also related to pandemic, Automattic has been quick to address the safety and well being of all employees. Very early on, all travel was cancelled and disallowed and the Grand Meetup scheduled for September was cancelled. This policy shift continues into 2021. Of course, it’s a bit of a bummer given one of the things I was excited about in coming to work for A8C was the travel, but I so appreciate a company being proactive given the danger the pandemic poses.
  • Working with folks from all over the world is something I had some experience with previous to Automattic, but multiply that by 100 and I love the cultural and diversity not only geographically but also in so many other ways within the company.
  • The trust given to employees is amazing. From day one of my start date, I was able to access any P2 in the company, including P2’s discussing pending acquisitions (like Tumblr!). At first, I thought I had stumbled onto some P2s by mistake and shouldn’t have access that information but was reassured that’s not the case. Collaboration and feedback is welcome from anyone in the company across different teams. That’s really cool.

I also want to highlight an interesting observation relevant to me being involved in the WordPress project and community prior to Automattic. There is this stigma that exists to a degree in the community that Automattic enjoys special privilege and has hidden agendas for the WordPress.org community. While it’s certainly true that a number of Automatticians work full time on the WordPress.org project as a result of A8C’s contribution towards “5 for the future”, I am truly amazed at the care and concern folks within the “dotOrg” division of A8C give towards avoiding favoritism and “shortcuts” for competing interests within the company and getting things done in WordPress or Gutenberg. There are constant reminders and prompts internally to keep discussions “in the open” and work with the community on projects.

Certainly Automattic has an outsized influence on the direction of WordPress given the contributions it’s made, but from what I’ve seen, that influence has pure motivations and is not exclusive.

It’s not always rosy

Of course, as it is with any human organization, things at Automattic aren’t by any means utopian or perfect. There’s certainly some things that I’ve encountered in my time there that are also unfortunate. At Automattic there are some things that are still struggles in some cases:

  • Career progression is very self-guided. While there are opportunities for growing and trying new things, the initiative is very much on the individual to take those opportunities. It’s hard to have a sense of where one fits in as far as “levels” (if you’re into that sort of thing). Still, there are some folks that might find that a bit difficult (personally, I’ve always been a self-directed individual anyways, so this isn’t really a big deal to me). It’s worth noting though, that team switches are possible which can provide the opportunity to switch to another division in the company where you can learn new things and grow your skills in other areas.
  • Siloing happens. While on the whole, cross team collaboration happens and is encouraged, the reality is that as the company has grown, it appears that at least some of it’s systems and processes (especially with acquisitions) have failed to keep pace with the impact this brings on the overall company. To a degree, I think this is inevitable. But I do see evidence of the impact this has had on culture and product development. The really great news is (from my observations at least) is that folks are aware of this and are actively working on addressing it. It’s really interesting to watch this unfold (and participate in!)

There are other things as well that I don’t feel at liberty to share in a public forum but the thing I’m impressed the most about is that for the most part, when problems surface they are addressed in one form or another. I’m impressed with the sensitivity and thought that has gone into addressing those problems.

Well, this has turned out to be a bit more than I thought I’d write, so I think I’m going to stop here.

By the way, we’re hiring!

Leave a Reply

Up Next:

WordPress Data: Registry

WordPress Data: Registry