Senior Software Engineer, Distributed Systems - Mixpanel|Meet.jobs

薪資

220k - 269k USD Annually

技能需求

    工作機會描述

    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 Distributed Systems engineering teams are responsible for adding new capabilities and ensuring the smooth operation of the underlying systems.

    Responsibilities

    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 Distributed Systems 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 here.
    • 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 Distributed Systems engineering team will be a great fit.

    We're Looking For Someone Who Has

    We have openings across multiple distributed systems 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

    Additional Resources

    Compensation

    The total target cash compensation (TTCC) for this full-time position would fall within the bands below. This amount includes base compensation and variable compensation in the form of either a company bonus or commissions. Variable compensation type is determined by your role and level. In addition to the cash compensation provided below, this position is also eligible for equity consideration and other benefits including medical, vision, and dental insurance coverage. You can view our benefits offerings here.

    Senior Software Engineer, IC4 $219,500 - $268,500

    Staff Software Engineer, IC5 $255,000 - $345,000

    Leveling is determined by factors such as years of relevant work experience, level of responsibility, and knowledge required to be successful in the role.

    Our salary ranges are determined by role and level and are benchmarked to the SF Bay Area Technology data cut released by Radford, a global compensation database. The range displayed represents the minimum and maximum TTCC for new hire salaries for the position across all of our US locations. To stay on top of market conditions, we refresh our salary ranges twice a year so these ranges may change in the future. Within the range, individual pay is determined by experience, job-related skills, qualifications, and other factors. If you have questions about the specific range, your recruiter can share this information.

    #LI-JY1

    Mixpanel focuses on Mobile, SaaS, Analytics, Big Data, and Web Browsers. Their company has offices in San Francisco. They have a large team that's between 201-500 employees. To date, Mixpanel has raised $77.015M of funding; their latest round was closed on November 2021 at a valuation of $1.005B.

    You can view their website at http://www.mixpanel.com or find them on Twitter and LinkedIn.

    Mixpanel