In this series, Front Engineering Stories, our engineering team will share insights into our engineering philosophy, our unique challenges, and visions for the future of our product.
Here Front Software Engineer Raphaël Boucher shares his experiences during his first few months on the team.
It’s been 2 months since I joined Front as a software engineer. Here are my fresh thoughts and first impressions on the product itself, the engineering challenges we’re tackling, and my new team.
This product is amazing!
What is Front? It turns your work email into a flexible platform. You can manage email, shared inboxes for addresses like [email protected], and other communications like WhatsApp, live chat, and Twitter, in one inbox. One of the coolest parts about Front is the collaboration it enables — it’s something I’ve never experienced before.
Instead of CC’ing people on emails or forwarding emails to loop people in, you can share emails, @mention your teammates on emails, and comment internally, directly on emails threads. It’s like blending internal chat with your email threads — so it all happens in one place.
I noticed that this was reflected during my interview process. The interviewers and HR team always seemed to have all the context on me and my interview. It felt like everyone I talked to was on the same page for the entire process. This was because they were using Front — the experience on the other end of the conversation was so seamless. That experience gave me a good hint at why businesses need this product.
The team is highly productive.
Things move fast here. Despite a massive user base and a multi-region infrastructure, significant features are shipped almost every day. Deployment is a breeze. The massive test suite runs in 3 minutes. Automation is everywhere.
The work environment is great: we have a nice office and quality hardware. The onboarding process is very structured: new hires have all the tools they need to be efficient in just a few days.
Individuals get strong ownership.
Each part of the product is owned by a single engineer, who is responsible for its behavior and evolutions. This single-person ownership method was chosen to avoid diluting responsibilities and to make it easier to maintain a unified vision.
You can see and feel your impact.
Front is used by more than 5,500 businesses today, and our users are spending hours in the product every day. With this type of usage, even the smallest tasks really feel like meaningful work. We have multi-region databases, and the technical challenges are quite interesting, for instance:
Build a search system at a scale where SaaS search solutions don’t satisfy our needs anymore
Manage event systems with so many events that it is difficult to apply all of them in the given time constraints
Set up real-time actions with all clients connected to a high number of channels at the same time
Our values are seen in our product and in our actions.
Transparency, Low Ego, Care, Collaboration, and High Standards are the values the company displays on its walls. All of them are baked into the product, and the team actually lives by those values. Things I witnessed were:
People admitting mistakes sincerely
A lot of pragmatism
Care for people, as humans
High communication efficiency, with an emphasis on clarity
Transparency on what teams are working on and how the business is doing
Ambitious goals and people really striving to meet them
You use what you build.
Everyone at Front uses the product in their day-to-day work. This means that shipping improvements to the product has 3 layers of satisfaction, as customers, coworkers, and yourself all benefit from the change.
Solutions aren’t simple.
Not much is still “easy” at this size. There is complexity when there are so many different users and use cases for our product. There are also constraints to navigate from channel providers (Facebook, Twitter, Drift…), and multi-region systems.
We collaborate across the globe.
Systems are running at scale at Front. It’s quick to understand the general concept of their architecture, but grasping the in-depth view of the whole system is not.
Engineers take turns in the on-call rotation, and there is a real need to ramp up in order to understand production issues.
Front’s headquarters is in San Francisco, with offices in Phoenix and Paris. The engineering team is in Paris and SF, and every Paris new hire goes to spend some time in SF during her onboarding.
Having offices in Paris and San Francisco means 9 hours of timezone difference, so live discussions happen only during Paris’ late afternoon. This could make the communication slower, so feature teams are clearly split between the locations.
We’re building for many audiences and industries.
Front is a flexible platform. It’s used in many different ways, and even though we are daily users of the product, there are use cases we don’t think about. From logistics to marketing agencies, from support teams to engineering teams, use cases of Front vary a lot. The opportunities of what apps you can connect to Front are almost endless, so it can be hard to understand all the impacts of a change to customers.
What did I do in my first few months?
First I started with bug fixes to ramp up and learn our systems, and I then worked on improving our global search when users are searching for contacts.
Last month my project was to make analytics exports faster, capitalizing on the migration of our analytics system to Elasticsearch.
Looking forward to the future at Front
All in all, these two months were an intense learning experience. Front is truly a great place to work and grow, and I’m surrounded by amazing people! I am glad to be part of the journey to change work email for the better.
Interested in joining Front? Check out our open jobs.
Written by Raphaël Boucher
Originally Published: 17 April 2020