“No thanks!” was my first reaction when my manager suggested I temporarily swap places with a colleague of mine on a different development team. During our previous 1:1s, we had been discussing management as a possible next step in my career as a software engineer. I was set to begin our company’s new management training that she was developing soon. As both my colleague and I are early in our careers, she thought we could benefit from working with a different team and a different manager for three months. After wrestling with the idea, I decided to give it a go. Here’s what I learned from that experience.
Fitting in takes effort
I’ve been working at Seeq for over three years. In that time, I’ve worked with many developers not on my team. As a result, I wasn’t nervous about fitting in socially. Sure, there were a few new faces, but I figured that would be no big deal. Except it was a big deal. As with any adult friendship (and especially in a remote company) it’s critical to be extremely intentional about building relationships. My new team had twice weekly show-and-tell style gatherings in addition to game time every few weeks. Why wasn’t that enough? These activities were more or less equivalent to what I was used to on my previous team. While I enjoyed those social activities, I noticed that I still felt like an outsider on the team. As an introvert, I realized those group sessions were a great break from work, but they were never going to allow me to form a non-surface-level relationship with anyone on the team. Thus, I picked one lucky individual on the team and scheduled biweekly 15-minute chat sessions to get to know each other. Since doing that, I noticed my overall morale had increased and I felt like I was fitting in better with the team as a whole.
It’s easy to become too comfortable technically
Before swapping teams, I had a rhythm. As a senior developer, I would spend my days coding, reviewing pull requests, and aiding other team members. With most of the frontend components my squad owns, I felt comfortable diving deep into the code to investigate a gnarly bug. While both teams work on the same application, I was surprised at how set back I initially felt trying to understand code that I wasn’t often interacting with. While I adapted at a reasonable pace, I learned that I need to be more intentional about pushing myself technically and avoid working solely in areas of the code where I am the most comfortable.
Technical leadership is an important part of software development
Technical leadership is another part of my job I really enjoy. There are several areas of our codebase where I’m listed as a steward. I enjoy technical discussions, code reviews (in moderation), and helping other developers debug a problem. On the new squad, I had considerably less technical rapport with them (rightfully so). As a result, I was rarely the primary reviewer for pull requests and often didn’t have enough technical expertise to be sought out for debugging purposes. Before the swap, some of these activities began to feel administrative in nature. However, after three months of minimal opportunities to exercise my leadership skills in this manner, I have a new appreciation for this component of software engineering.
Putting yourself in a new environment sparks creativity
Just like it’s easy to get comfortable technically, it’s also easy to get comfortable with process. At Seeq, each team has the autonomy to develop the processes that will work best for them. It was extremely valuable to experience the flavor of Agile development that my new team adapted. I experienced live insights into how they define roles, control workflows, and create culture. It allowed me to ponder the importance of various meetings, reflect on what processes my team was doing well, and what processes my team could improve.
Cross-team collaboration is essential
My top takeaway from this experience is how important it is to have cross team collaboration – especially for teams working in the same codebase. Both my colleague and I noted how much information we gleaned while working in the other team’s components. Since they are so tightly integrated, the rapport our teams built during the swap will undoubtedly help us make design decisions that are more conscientious of how our work will fit into the application.
Overall, I’m thankful for the swap. Sure, it was outside of my comfort zone, but I think it’s important to do that every so often. Undoubtedly, this experience will help inform what kind of manager I want to be in the future. If you have an opportunity to mix up your routine – especially if it’s temporary – I highly recommend taking advantage of it. Make sure to set aside the time necessary to focus on building new relationships and grow your skills in your new technical environment. You won’t regret it.