How Engineering Rotation Programs Can Help Teams Scale

Working at a fast growing company while tackling high visibility, cross-functional projects can be challenging to navigate as an engineer. Teams easily become siloed. Knowledge and expertise can be slow to spread among many groups. The rapid growth and blurring of interactions between tools and services drive us to collaborate more so we can innovate on a tight schedule.

This is why we’ve kickstarted an Engineering Rotation program at Credit Karma. I had the honor of participating in a pilot version of the program.

Choosing the right team

I currently work on our Engagement team, where we’re transforming our monolithic email and push notifications system into microservices. We often find ourselves going to the Frameworks team for questions regarding our service framework and infrastructure, so they were my top choice when we talked about a Rotation Program. I was excited to join their team for five weeks, where I was paired with one of their top engineers as I learned and created new features for Credit Karma’s home-grown Scala framework.

Throughout the rotation I got to pair program with engineers from the Frameworks team, participate in their discussions, and join in on team lunches and other activities. By helping the Frameworks team accomplish their goals, I gained insight into how they work and operate, and obtained a deeper understanding of their tech stack. Working closely with them also allowed me to really get to know them personally, building great relationships and gaining empathy for the work they do.

Bringing a learner’s mindset

Not all is sunshine and rainbows in Rotation Programs. Joining a new team, even temporarily, can be intimidating. I had all the anxieties that you might expect. Wondering “what if I don’t perform up to the standards expected?” or “what if I let my team down?” is perfectly normal. I went with the mindset that I’m there to learn and contribute - and especially to learn more about a domain the Engagement team needs help with, which helped everybody benefit and make progress.

Considerations for team managers

Going on the rotation program also meant the Engagement team lost me for over a month. I worked with my manager to plan the schedule carefully so that I was not gone during critical deliverable dates or crunch time. In the end this is a trade-off that team leaders need to juggle. When executed well, the long-term benefit of empowering your own team can far outweigh short-term losses.

For example, I brought useful domain knowledge back to my own team, such as the inner workings of our Scala framework, as well as in-depth knowledge of a brand new memcached and serialization module that our service will depend on. All of which will allow us to be more self-sufficient instead of relying on the other team for support and competing for their time. The rotation creates domain experts who can serve as a local source of knowledge, reducing the overhead that comes with cross-functional work. Also, I was able to give fresh perspectives to the Frameworks team on how their documentation and tools could be improved, which directly helps other teams using them as reference.

The benefits of pollination

Engineering Rotation Programs are not a new concept - the idea is as old as bees and pollination. They’re a great way for engineers to work on different teams and projects, collaborating with people of different backgrounds and technical expertise to learn from their peers, expand their horizons, and also spread positive learnings and cultural values across the company.

As my first rotation experience at Credit Karma comes to an end, I was able to develop and refine my technical skills by leaps and bounds through working with senior and staff level engineers: from creating a new Scala service to Thrift object serialization, memcached clients, and validation strategies. I also got to know the Frameworks team quite well, taking ownership of some of their projects and seeing different ways teams can be managed. Ultimately, this experience will help our teams be helpful partners as we scale our infrastructure and service initiatives.

About the Author

Shawn is a Software Engineer working on microservices that send emails and push notifications to tens of millions of Credit Karma members every day.