In March, Ace Metrix’s engineering team began overhauling its platform services from Java to Golang.
Alan Su, a young engineer on the overhaul, was tasked with reviewing the project structure from the original Java code. But Su wasn’t familiar with the platform’s existing Spring framework.
Additionally, California’s stay-at-home orders forced him and his coworkers to start working from home, preventing them from collaborating in the office.
His progress at home came to an abrupt halt. “I needed help,” Su said.
Help he would receive later that day. Su had his regularly scheduled — and newly virtual — meeting with his mentor, and Ace Metrix’s Director of Data Persistence Satoko Sato, on the calendar.
During the meeting, Sato and Su pulled up the same code from one of the application’s services. Sato guided Su through the old Java code, showed him how each function was connected to the overall structure, and offered the advice that not everything in Go would have to directly mirror what was written in Java.
“Instead of looking to the original code as the pure guide for how to work, she taught me that I should also be thinking about how I could get the same results through my own means,” Su said. “Thanks to Satoko’s guidance, I was able to proceed at a solid pace instead of having to slow down and look up every single detail of the old project.”
Remote work has threatened the in-person collaboration that made learning concepts easy for Su. But he and Sato have been able to navigate virtual barriers to maintain a robust mentor-mentee relationship.
Why is mentorship important to your work?
Satoko Sato, Mentor: Mentorship is an effective way to learn, especially for junior engineers as they gain responsibilities to become more senior. It’s important for mentors to give tasks to mentees that help them through their understanding of system development, like defining business requirements, choosing technologies, designing, developing, testing and time management. It’s equally as important for a mentor to explain the reasoning behind each task given. With macro and micro knowledge of the system, everyone can be a better contributor.
Alan Su, Mentee: I’m barely two years removed from college, so I’m still not as experienced as a lot of people in the office. Having a mentor to guide me through my early career experience is really beneficial to my development as a software engineer. That’s why Satoko regularly makes sure I take my time learning the skills needed for a project both before work kicks off on a project and during.
BEHIND ACE METRIX
What did mentorship look like in the office prior to working remotely?
Sato: As we’ve adopted microservices, our mentors have led ongoing and in-person discussions on design and technology with our teams. Mentors might be able to design more practically and effectively by drawing from their experience, but at Ace, we don’t have anyone here that insists on doing things the old way. Instead, we spend time researching new technologies alongside our teammates before we make new systems, and we welcome new opinions and consider their usefulness together.
Su: When something came up that I hadn’t learned yet, like a certain table hierarchy, I’d sit down with Satoko to discuss. She’d draw out diagrams and provide explanations and I’d take notes. She also made it clear that I am welcome to approach her anytime for help, which I made use of by occasionally stopping by her desk for a quick chat about my progress and to talk through any concerns I had in general.
Are there any workflows or meetings that you can’t replicate in a virtual setting?
Sato: Once we went remote, I removed our “wish and complain chit-chat” meeting. This is a personal meeting that my mentees can schedule with me at least twice a year to share what they want, what they need and what their complaints are. Since I prefer to do face-to-face meetings for personal issues, I postponed the meetings until we can have them in person.
Su: In the office, it’s easier for Satoko to convey ideas to me because she can easily write a quick diagram on a piece of paper or whiteboard. However, that’s not available when working remotely, so it becomes harder to visualize some more complicated concepts without that type of tool around. Setting up certain configurations for new programs is also inconvenient because we can’t just peek at each other’s screens anymore. We’ve had to send a lot of screenshots to each other to work it out.
How have you had to shift your approach to mentoring and learning since going remote?
Sato: Before, we were using a whiteboard or verbal explanation to describe task details in person. Since the shift, we’ve implemented YouTrack, a ticket system for task tracking. I create the ticket and include basic specifications, database table structure and data flow. This helps our junior engineers understand clearly what’s required of them. Additionally, before they start a new task, I talk to them over the phone and make sure they understand what to do. We’ve also leaned on tools like monday.com for general management, Slack for quick communication and Zoom for leader and team meetings.
Su: We schedule virtual meetings now to walk through problems I’m experiencing. Other times, when we aren’t able to commit to a longer call, or I have some smaller questions that aren’t as urgent, I’ve been able to message Satoko with questions and screenshots or small snippets of relevant information.
Having a mentor to guide me through my early career experience is really beneficial to my development as a software engineer.”
What best practices do you have for other mentors and mentees figuring how to approach mentorship in a remote world?
Sato: I could sense that people had some fears regarding COVID-19 and the economic situation, so I made myself available if they needed help or someone to talk to. I also explained to my team our company’s position, business requirements and other teams’ progress. I try to make them feel safe and comfortable.
Work-life balance also became trickier to navigate. To help, we made a release schedule through September that shows what we will release each month so that team members are encouraged to take time off.
One thing I’ve also started doing is making detailed documents ahead of task assignments that include specifications, diagrams, data flow or whatever I think they need to know beforehand. This helps our team get started on their tasks without me since engineers have flexibility around what hours they’re working.
Su: It’s important to keep in touch with each other. Not having a physical presence around each other makes it easy to forget that the other person is important to your work life, so messaging each other regularly is helpful for maintaining that semblance of communication. Lastly, stay calm and don’t be afraid to ask for help.