Outreach Prague Email Team: Complex business logic applied to millions of events effectively

OutreachPrague
Outreach Prague
Published in
4 min readMay 17, 2023

Simply put, a sales execution platform helps salespeople close more deals. To do that, Outreach streamlines the sales processes and allows salespeople to do more in a shorter time. We automate, instrument, and optimize sales engagement workflows across the revenue cycle. Besides calls and meetings, email is the other essential tool most sales reps use to engage with their customers. Let us have a closer look at the Outreach Email Services team. It is based in Prague and responsible for all the email features Outreach clients use every day.

Apart from the technologies we use, the most interesting part of our work is the scale of the problems we solve. We process tens of millions of business events every day and thus need an understanding of the complex business logic behind email usage for sales closures. Our team’s everyday job is to find effective data processing, storage, and retrieval methods. We are working on finding creative ways to use provider APIs — the Google and Microsoft ones — as well as deep integration within Amazon Web Services,” describes the goals of his team Jakub Mišina, the manager of the Email Services team based in Prague.

The challenge: Decommissioning legacy Ruby codebase and building new architecture in Go

The main challenge the back-end engineering email team is currently dealing with is decommissioning the old Ruby code. The team is building a new architecture and migrating the code to Go using microservices. The cloud-native apps are hosted in Kubernetes and use polyglot storage (MySQL, Postgres, Redis, AWS DynamoDB, and S3). The email team´s development is led by feature flags and uses continuous integrations and continuous deployment.

The logic of synchronization, scheduling, and sending emails at a scale is very complex. We are thus not just rewriting the legacy code from Ruby to Go code line by code line. We are simplifying and unifying the complex business logic and thus building new event-driven architecture. And for that, we need engineers who urge to explore the complexity and have a strong sense of ownership,” adds Jakub Mišina.

The impact: Sending, scheduling, and synchronization of emails at a scale benefiting sales reps daily

With their work, the Email team is helping salespeople deliver the message at the right time with minimum effort. Thanks to good UX, sending and scheduling emails seems very easy to the end users of the Outreach platform. However, it consists of a complexity of events at the back end. The task of email prioritization combines technical constraints and signals with the individual choices of the sales reps (including decisions on how many events are to be done, which time zone they operate in, and when the emails are to be sent).

Similarly, a salesperson does not need to know anything about the effective synchronization the back-end Email team has already taken care of. But finding a way to synchronize only the new data and being clever at that is crucial to the correct functioning of the email-sending feature within the platform. It needs to be done so that the data does not take up extra space and is read only as fast as possible, as you want to avoid getting blocked by the provider. Being a good neighbour to the Microsoft and Google APIs means listening to and following the providers’ rules.

The Email team also ensures that sales reps can get relevant answers quickly from a search within the connected mailboxes. Thus the Email team uses and applies the work of the colleagues working on the elastic search component prepared in another Prague team.

The team: Senior autonomous team working together on complex tasks

The Outreach culture is remote-friendly. However, our Email team often meets in the Prague office. We like to work closely together. Especially when troubleshooting or when we are doing team code brainstorming,” adds Jakub Mišina and continues: “Our team has a solid sense of “got your back” culture, and we have a very developed sense of ownership. That allows for no micromanagement and autonomy of everyone in the team. The autonomy extends to things like the choice of tools or even laptop makers and operating systems. Are you a Linux guy/girl? No problem for our team in Outreach.

The Email team is challenging the complexities of the business events logic at a scale while abiding by all the technical requirements and rules of the relevant APIs providers. The work of the Email team is seen by the sales representatives as a seamless process when scheduling, sending, and synchronizing their emails or looking for the correct and relevant info in their mailboxes.

Currently, I am looking for well-rounded devs with experience and ready to help us to improve our email services. Ready to join us? Let me know,” closes Jakub with a smile on his face.

--

--

OutreachPrague
Outreach Prague

Building Prague community of a US startup. Sharing news and experiences on latest technology and our life here in Prague.