gravatar image

Senior Rotations

When I started at Etsy (this is end of 2011) onboarding meant spending the first 6 weeks on different teams every week. The idea was to get to know some people right away, outside of the team we’d be working on. And also learn a bit about some areas that we were most likely going to be overlapping with in our future work. And while this was generally fun and a good time it was also during an already overwhelming time. So it wasn’t rare that the week with a team was over just when it felt like you understood what was kind of going on (which was probably intended).

But we also had this concept of “Senior rotations”, which to me always felt like an extension of onboarding. And it was one of the most fun things I got to do during my time there. The basic concept is that every Senior Engineer and above (back then that meant Staff, Principal, and Distinguished) was entitled to a 4 week rotation with a different team once a year. The idea was that for one month out of the year the more experienced engineers from any given team would be working on something completely different. Specifically we were encouraged to pick a team that was working on something very different than what our team was doing. And inversely every team was also hosting an engineer for a month once or twice a year (which is what in my experience it usually came down to).

The purpose of this - as it was explained to me - was multi-faceted. It was a way to make sure senior people gain and maintain connections across the organization, especially as the company was growing. Connections in the sense of relationships, but also which problems are being solved elsewhere, and what the impact is from changes in one part of the system to other parts of it. And having intricate knowledge of some parts of the stack or the product can often mean there are some good ideas ready to emerge when suddenly confronted with a different area. Another idea - though I don’t know how much that actually worked - was that it was a way to improve retention. For senior engineers that might feel like they’ve gotten into a rut it was a way to experience work on a different team and consider switching or find new excitement in their work. On the flipside it also meant junior engineers get to learn from more senior engineers from across the company. And it was a good way to build empathy for other teams as well. In addition the “borrowing team” needed to regularly plan for senior engineers to not be around. Which was good practice for handing projects off, documenting work, and generally increasing the vacation factor (the way better and less morbid version of the bus factor, because let’s be honest we should be planning for people going on spontaneous vacation much more than them being hit by a bus).

I’ve done two of those during my time at Etsy with wildly different experiences. And most of it came down to preparation. I did one rotation where I didn’t really plan and prepped for it. It was also a team that I was already closely working with in my regular day to day and I didn’t make sure I wasn’t gonna have to work on projects for my original team. It was during a period where there was a lot going on. So I wasn’t disconnecting from the chatter and questions for my team either. So all in all while I worked on some fun stuff and learned things, it definitely wasn’t really the change of pace and areas of focus that I wanted it to be.

The following year I really wanted to do another rotation. And as it happens we also had a reorg that meant my team was being disbanded and I was starting on a newly created team anyways. The perfect opportunity to not have to worry about any lingering projects or feeling like I abandoned my team mates during a time of high stress. And the timing matched up so that I would start on the new team after my summer vacation anyways. So it wasn’t gonna matter much if I started a month later anyways. This time I wanted to choose a team to rotate with that was about as far away from my day to day working on infrastructure as I could imagine. Which is why I was super excited to hear that the design system team was hosting senior rotators, so I immediately signed up.

I didn’t have many expectations going into the rotation other than wanting to learn about something completely different. Plus I’ve never liked the attitude that there are inherent backend and frontend engineers and that you have to be either one. It’s all just yelling at computers in different ways. So I was excited to learn more about the frontend part of the stack. My general project during that month was designing a versioning and deployment workflow for CSS (specifically SCSS) changes that we wanted to support going forward as an extension of the existing CSS build. The details are a bit fuzzy 7 years later. But basically it was a project that was somewhat rooted in infrastructure in a way that gave me a great starting point to talk to designers (who wrote large parts of CSS and JS changes themselves back then) and engineers about their requirements and workflows around CSS changes. I was in daily standups with the design system team, got to hear about the daily challenges of designers and frontend engineers, what goes into maintaining a design system, and most importantly got to ask all the “stupid” questions that came to my mind. Plus as my rotation mentor I had the fantastic Katie Sylor-Miller who is one of the most frontend savvy people I’ve ever met and I got to ask her all the questions as well. And I can’t count all the things I learned during that time. I had fantastic conversations about how to design for a brand in different shades of orange (Etsy’s brand colour back then), the implications of designing maintainable SCSS code organization, and just a whole bunch of things around design systems and frontend development for a big, busy website.

All in all I really enjoyed that rotation and all the things I got to learn through it and the people I got to know and hang out with for a month. I really appreciated that I got to get out of my comfort zone for a bit and in some ways “be a junior engineer” again. And it gave me insight into different parts of the company that I probably would’ve never gotten otherwise. As I mentioned, planning and executing senior rotations is a decent amount of effort. But I think it’s a really fantastic idea and I’ve benefitted a lot from being able to participate in it.