Working Across Teams to Create a New Embedded Application

Developer Perspective
Working Across Teams to Build a New Embedded Application
Bookmark

“Alone we can do so little; together we can do so much.” – Helen Keller

Over the past several years working with the Gusto Embedded team, I’ve come to recognize the importance of cross-team collaboration and knowledge support from the larger Gusto team. Our ability to expose the core features of the payroll system via our public API owes much to the solid foundation laid by Gusto’s existing code infrastructure. We work closely with other teams to identify the existing pain points for our current partners. Our goal is to enhance our system and transform it into API solutions that are easy for our partners to adopt.  

This is particularly true when creating a new embedded application like the Member Portal at Gusto Embedded. In this blog post, we’ll dive into how teams across Gusto worked together to bring this application to life, highlighting key steps and strategies for successful collaboration.

What is the Member Portal?

The Member Portal serves as a centralized platform designed for employees to access their personal information conveniently. It allows employees to view details such as their job title, pay rate, pay stubs, and sign/view documents. This eliminates the need for employees to constantly reach out to their employer for such information, thereby enhancing efficiency and productivity. 

Before the early 2000s, when internet usage wasn’t as widespread, we had to physically visit a bank branch to inquire about our account balance. Though it seems inconvenient now, this was a common time-consuming experience. Nowadays, this trip has been replaced with opening your bank’s mobile app, and we seek to provide the same level of accessibility to employees using our payroll system. At Gusto Embedded, our focus is not only on making it easy for our partners to embed payroll within their apps, but also on ensuring that their employees have a positive experience. The Member Portal was created with this in mind. We aim to offer employees transparency regarding their payroll information, W-2 forms, and personal details logged within their employer’s system.

How This Application Evolved

Our experienced partner-facing team engaged with our partners to identify the key features that would enhance the usefulness of the Member Portal. In my role as the tech lead of the project, and in alignment with Gusto’s core value of “debate then commit,” I worked closely with our product manager to prioritize these features. We evaluated what could be accomplished within the given time frame and ensured compliance requirements were fulfilled. Our primary focus was to provide a secure application that allowed employees to self-onboard and granted access to their information as the initial phase. 

Next, I presented a technical proposal to the team, which was then thoroughly reviewed. This proposal outlined the new REST API endpoints required and how the new application would interact with various services across the Gusto system. After several iterations and feedback sessions with fellow engineers from various collaboration teams and product managers, we finalized the plan and began implementation with a dedicated team of engineers.

How to Build a New Application at Gusto

How to build a new embedded application at Gusto flowchart

We kicked things off by developing a new set of APIs for the Member Portal. These include internal endpoints, allowing our application to retrieve information without full user authorization, and public endpoints for partners to adopt in generating Member Portal invitations. The new endpoints are guarded behind feature flags to control access and we performed thorough testing to guarantee their reliability. 

Next, we needed to create a new GitHub repository for this new application. The good news is that building a new application at Gusto leverages the foundation of existing services and tools available within the organization. One such tool that significantly streamlined the development process is create-gusto-app. This tool, developed by the infrastructure team, generates skeleton files for new applications using Gusto’s best practices and defaults. By utilizing create-gusto-app, engineers can bypass the tedious setup process and focus on implementing core functionalities. This not only saves time but also ensures consistency across projects. Additionally, they encourage engineers to contribute to the tool’s enhancement by providing feedback and submitting pull requests, thus fostering a culture of continuous improvement within the organization.

After setting up the application, we needed a way to allow users to log in to the Member Portal. The identity team had a solution for us! They built the authentication service, which provides us with a seamless login mechanism, eliminating the need to build one from scratch. As one of the pioneer users of the authentication service, we have regular syncs and share feedback for rapid iterations. Sometimes I receive my feature requests within days, and the engineers from the identity team are enthusiastic to jump onto Zoom whenever we have questions. 

Gusto Authenticator 1Gusto Authenticator 2

With registration and login working, we could populate employees’ content into the application. Thanks to the hundreds of public APIs that Gusto Embedded provides, we could leverage the endpoints to enable employees to access and modify their information, all while tailoring the portal experience to their preferences. Our partners have the option to select their preferred theme for customizing the Member Portal experience, ensuring seamless integration with their user experience. This ensures that the end user feels as though they never leave their partner’s interface. 

Gusto Embedded Member ProfileGusto Embedded Member Profile 2

Lessons for working across many, specialized teams.

Communication: In the beginning of the project, we recognized the need to collaborate with a few specialized teams. Initially, I served as the main point of contact for cross-functional teams, and our communication primarily took place in Slack, which posed challenges in tracking progress. As the project progressed, we transitioned to weekly and biweekly sync meetings with key collaborators from additional teams. Each member of the Member Portal team actively engaged with another cross-functional team. The face-to-face interactions during these syncs contributed to building stronger professional bonds among our team members and other teams. As each of us represents our expertise area, we effectively used our standup time to provide progress updates and address blockers. Reflecting on this project, I realized that initiating regular alignment meetings and delegation of expertise greatly improved collaboration.

Alignment: One notable strength of the Gusto Embedded team lies in its strategic planning abilities. Both our management and product teams prioritized the Member Portal project in the last quarter. Our team has effectively communicated with various stakeholders, emphasizing the need for their buy-in and allocation of resources. Drawing from my past experiences, I’ve witnessed projects exceeding their planned development time due to insufficient planning and inadequate support from other teams. 

Conclusion

By leveraging existing frameworks, tools, and our team’s collective expertise, we delivered a demo version of the Member Portal to our partners in weeks. This rapid turnaround not only reflects our commitment to excellence but also underscores the efficiency of our collaborative efforts.

As we prepare to launch the Member Portal, I am grateful for the incredible support and resources provided by Gusto’s engineers. Their commitment has played a critical role in achieving this exciting milestone for the embedded team.

Leanne Lee Leanne Lee is an Engineer at Gusto Embedded, where she contributes to developing public APIs and new web applications for our partners. She currently serves as a technical lead on the Embedded Member Portal project. Before joining Gusto, Leanne was at Turnitin where she also built white-label APIs and played a key role in breaking down a monolithic system. Leanne graduated from UC Berkeley with a degree in Statistics.
Back to top