Senior Software Engineer, Distributed Systems (Remote-friendly but US only)

Other Jobs To Apply

About Mixpanel:

Mixpanel is a leading product analytics software company, currently helping the world answer 81 million product questions every year. Our pioneering event-based tracking solution gives product teams the ability to gain insights into how to best acquire, convert, and retain their users across web and mobile platforms.

Powerful, flexible, and easy-to-use, Mixpanel enables teams to learn from their user data and innovate rapidly in creating winning products. Today, we serve nearly 7,000 paying customers through seven offices globally in our quest to provide the most in-depth product analytics that everyone can use and trust.

We are actively recruiting for multiple Software Engineers across different levels for our org!

About the role

Mixpanel is powered by a custom distributed database. This system ingests more than 1 Trillion user-generated events every month while ensuring end-to-end latencies of under a minute and queries typically scan more than 1 Quadrillion events over the span of a month. Over the last year, our inbound traffic has doubled. As our existing customers grow in volume and we add new ones, we expect this growth in traffic to continue. The infrastructure engineering teams are responsible for adding new capabilities and ensuring the smooth operation of the underlying systems.

What you'll do at Mixpanel

Mixpanel's infrastructure runs on Google Cloud Platform. We rely on Kubernetes and Docker for orchestration and containerization of our services. We primarily use Golang for writing services and all internal communication happens via GRPC. We use a combination of C and C++ wherever Golang doesn't meet our performance goals.

  • As an engineer on the Infrastructure teams, you'll be responsible for:
  • Working with other engineers to build distributed systems that can handle data at scale
  • Debugging production issues across multiple services and all levels of our infrastructure stack
  • Ensuring reliability and uptime of the services you're responsible for
  • Keeping an eye on how much your service costs every month and removing inefficiencies wherever possible
  • Improving engineering standards and holding a high bar for code quality and simplicity
  • Pushing the boundaries on how our customers analyze their product data
  • A typical project requires a thorough understanding of how not just your service works but also how it interacts with other components. Here are some projects we've worked on in the past to give you an idea of what to expect.
  • Most of the systems in our stack provide at least once semantics. As a result, we risk duplicating events that flow through them. To overcome this limitation, we added support for event deduplication that can work at our scale. Typical approaches for deduplication don't perform well on large amounts of data, so we had to do something highly custom for our stack. We wrote about this on our engineering blog >.
  • Back in 2019, we migrated our ingestion API service from Python to Golang for better performance and type safety. We had to do this while ensuring that both systems handle data the same way. Because we had to compare, both, HTTP responses and transformed payloads, nothing out of the box worked for us. This blog post > talks about how we did the actual migration without any customer visible downtime.
  • In 2021, as our traffic grew almost 100%, the cost of storing data became untenable. Our engineers worked on an incremental way to eventually realize almost $30000 in savings per month >.

If projects like the ones listed above excite you, the infrastructure engineering team will be a great fit.

What we're looking for

  • We have openings across multiple infrastructure teams. We're looking for engineers who have:
  • A strong grasp of computer science fundamentals when it comes to dealing with distributed systems and networks. You'll routinely run into issues where "one in a million" chances actually happen in production
  • A knack for problem-solving and thinking from first principles. You don't shy away from any problem, no matter the scale or impact
  • A bias towards shipping early and iterating. We believe in making small incremental changes to existing systems instead of large multi-quarter undertakings
  • Experience building distributed systems or is eager to build that skillset
  • Benefits and Perks
  • Comprehensive Medical, Vision, and Dental Care
  • Mental Wellness Benefit
  • Generous Vacation Policy & Additional Company Holidays
  • Enhanced Parental Leave
  • Volunteer Time Off
  • Additional US Benefits: Pre-Tax Benefits including 401(K), Wellness Benefit, Holiday Break

please note that benefits and perks for contract positions will

Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...