Our Engineering Values
Here at Mutiny, we are helping solve every company's biggest challenge: growth. Our platform provides marketing teams with world class personalization tools and best practices to create engaging experiences for their customers, all without engineering. In just over two years, we have scaled our system to handle over 100M requests a month and built a product beloved by companies like Brex, Segment, and Carta -- all with a small, nimble team. As we continue to build our engineering organization, we wanted to share a bit about how we work together and the values that make us, well, us.
This is meant to serve as a guide to current and future Mutineers on how we can succeed as a team, how we provide feedback to each other, and what we look for when we hire. Like most things in engineering, this is not set in stone; instead it is meant to be a living document that will evolve over time. Come help us refine them.
Own it end-to-end.
Mutineers seek to understand the why behind what we build, so we can own projects from inception to customer success. Engineers meet directly with our customers to understand the problem we are solving firsthand. In our quarterly offsites, engineers are a critical voice in deciding and scoping what we build to accomplish our goals. We host weekly meetings across EPD (engineering, product, and design) to evaluate tradeoffs, decide how we build a feature, and set a roll out schedule. By being a part of the decision making process from the beginning, we build a greater depth of understanding for the problem we are solving and cultivate a culture of ownership.
Don’t go it alone.
Building software is a team effort, and we know that two (or even three) heads are better than one. Projects are delivered as a team and we work together to brainstorm the best ways to implement when writing technical specs. We pair program regularly, teaching others what we have learned and sharing context on unfamiliar areas of the codebase. Every change we write is reviewed by teammates in order to improve our code quality, reduce the chance for errors, and build a rock solid product, together.
Have a growth mindset.
As engineers we are never done growing. Technologies change, the ecosystem evolves, and we face different challenges as our business grows. We embrace this fact and lean on each other to uplevel our skills. As a team, we do routine retros to identify areas that need investment and to learn from past mistakes. We do weekly Lunch and Learns, hosted by a member of the team, to discuss new patterns or technologies in order to improve the quality of the software we write. Most importantly, we invest in our ability to give and receive feedback -- as this our key driver for personal growth.
Be pragmatic.
In a startup there’s always too much to do. The only way to make consistent progress is to rigorously prioritize and be pragmatic in how we approach problems. We interview customers to find the most valuable aspects of what we’re building and stage our releases with this in mind. When designing systems, we strive to make things as simple as possible but no simpler, being realistic about what we’ll need. Even in our interview process, we structure every single challenge based on something we’ve built here in order to show candidates how we actually work every day.
Hold a high technical bar.
Often, people think that a high pace of execution and technical excellence are at odds, but we believe this is fundamentally untrue. While we can’t make everything perfect, we identify and invest in the highest leverage parts of our architecture and are thoughtful about where we take on technical debt. We hold each other accountable in code reviews to use best practices and ensure the scalability of our system. We keep close tabs on areas of our system that need investment and improve them before the fires start. We do this in order to build a foundation that we’re proud of and can maintain for years to come.
Our values have enabled us to bring together an impressive group of people that trust each other and genuinely enjoy solving problems together. Sharing our values openly creates a framework on how we can build a team that is authentic to who we are and that we are proud to be from. If building high impact products with these values in mind resonates with you, we’d love to hear from you.