How LaunchDarkly Serves Over 4 Billion Feature Flags Daily

18,236
LaunchDarkly
Serving over 20 trillion feature flags daily to help software teams build better software, faster. LaunchDarkly helps eliminate risk for developers and operations teams from the software development cycle.

Editor's note: By John Kodumal, CTO, LaunchDarkly



LaunchDarkly Platform


Background

Feature flagging (wrapping a feature in a flag that’s controlled outside of deployment) is a technique for effective continuous delivery. For example, you can wrap a new signup form in a feature flag and then control which users see that form, all without having to redeploy code or modify a database. Engineering-driven companies (think Google, Facebook, Twitter) invest heavily in custom-built feature flag management systems to roll features out to whom they want, when they want. Smaller companies build and maintain their own feature flagging infrastructure or using simple open source projects that often don't even have a UI. I was previously an engineering manager at Atlassian, where I’d seen a team work on an internal feature flagging system, so I was aware of the complexity of the problem and the investment required to build a product that addressed the needs of larger development teams and enterprises. That’s where we saw an opportunity to start LaunchDarkly.


LaunchDarkly Platform


We're currently serving over 4 billion feature flag requests per day for companies like Microsoft, Atlassian, Ten-X, and CircleCI. Many of our customers report that we’ve changed the way they do development-- we de-risk new feature launches, eliminate the need for painful long-lived branches, and empower product managers, QA, and others to use feature flags to improve their users’ experience.

General Architecture

You can think of LaunchDarkly as being split up into three pieces: a monolithic web application, a streaming API that serves feature flags, and an analytics processing pipeline that's structured as a set of microservices. We've written almost all of this in Go.

Go has really worked well for us. We love that our services compile from scratch in seconds, and produce small statically linked binaries that can be deployed easily and run in a small footprint. I'd done a lot with Scala at Atlassian, but I'd grown frustrated with the slow compilation times and overhead of the JVM. Our monolith has about a 6MB memory footprint— try that on the JVM!

I'm generally not a fan of large web frameworks like Django or Rails. Too much "magic" for me. I prefer to build on top of smaller libraries that serve specific needs. To that end, both our monolith and our microservices rely heavily on a home-built framework layer that uses libraries like Gorilla Mux.

Our framework makes it trivial to add a new resource to our REST API and get a ton of essential functionality out of the box-- with a few lines of code, you get authentication, APM with New Relic, metrics pumped to Graphite, CORS support, and more.

The web application monolith has a pretty standard architecture. Some of the technologies we use include:

  • MongoDB -- as our core application data store. It's popular to make fun of Mongo these days, but we've found it to be a great database technology as long as you don't store too many things in it. Anything you can count on your fingers and toes should be fine.
  • ElasticSearch -- handles user search and segmentation.
  • Redis -- caching, of course.
  • HAProxy -- as a load balancer.


LaunchDarkly Architecture


Serving feature flags, fast

One of the cool and novel parts of LaunchDarkly is our streaming architecture, which allows us to serve feature flag changes instantly. Think of it like a real-time, in-memory database containing feature flag settings. The closest comparison would be something like Firebase, except Firebase is really more focused on the client-side web and mobile, whereas we do that and the server-side.

We use several technologies to drive our streaming API. The most important is Pushpin / Fanout. These technologies abstract us away from managing these long-lived streaming connections and focus on building simple REST APIs.

We also use Fastly as a CDN. Fastly is perfect for us-- we can use VCL to write custom caching rules, and can purge content in milliseconds. If you're caching dynamic content (as opposed to say cat GIFs), or you find yourself needing to purge content programmatically, or you want the flexibility of Varnish in addition to the global network of POPs a CDN can provide, Fastly is the best choice out there. Their support team is also fantastic.

When assembled together, these technologies allow our customers to change their feature flag settings on our dashboard and have their new rollout settings streamed to thousands of servers in a hundred milliseconds or less.

Analytics at scale

The other huge component of LaunchDarkly is our analytics processing pipeline. Our customers request over 4 billion feature flags per day, and we use analytics data from these requests to power a lot of the features in our product. A/B testing is an obvious example, but we also do things like determine when a feature flag has stopped being requested, so that you can manage technical debt and clean up old flags.

Our current pipeline involves an HTTP microservice that writes analytics data to DynamoDB. If we need to do any further processing (say, for A/B testing), then we enqueue another job into SQS. Another microservice reads jobs off of the SQS queue and processes them. Right now, we're actively evolving this pipeline. We've found that when we're under heavy load, we need to buffer calls to DynamoDB while we expand capacity instead of trying to process them immediately. Kafka is perfect for this-- so we're splitting that HTTP microservice into a smaller HTTP service that simply queues events to Kafka, and another service that processes Kafka queues.

We actually use LaunchDarkly to control this evolution. We have a feature flag that controls whether a request goes through our old analytics pipeline, or the new Kafka-based pipeline we're rolling out. Once the new pipeline is enabled for all customers, we can clean up the code and switch over completely to the Kafka pipeline. This is a use case that surprises a lot of customers-- they think of feature flags in terms of controlling user-visible features (release toggles), but they are extremely valuable for other use cases like ops toggles, experiments, and permission management.

LaunchDarkly Platform

As we scaled this service out to handle tens of thousands of request per second, we learned an important lesson about microservice construction. When we first built many of these services, we thought in terms of building a separate service per concern. For example, we’d build a service that would read in analytics events and serve the autocomplete functionality on the site. The web application would make a sub-request to this service when it had an autocomplete request from the site.

We quickly learned that the need for fault tolerance and isolation trumps the conceptual neatness of having a service per concern. With fault tolerance in mind, we sliced our services along a different axis-- separating high-throughput analytics writes from the lower-volume read requests coming from the site. This shift dramatically improved the performance of our site, as well as our ability to evolve and scale the huge write load we see on the analytics side.

Infrastructure

As you might have inferred, we use AWS as our hosting provider. We’re fairly conservative when it comes to adopting new technologies-- deployment for us consists of a set of Ansible scripts that spin up EC2 boxes for our various services. We don’t yet use ECS or Docker containers-- which by extension means we don’t use anything for container orchestration. A long while back, we spiked a migration to Mesosphere but we ran into enough issues that we didn’t proceed forward. We do think that these technologies are the future, but that future is not now, at least for us.

So maturity is one issue that prevents us from adopting some of the latest whiz-bang ops technology. There are other technologies that we find interesting, like Amazon’s API Gateway but the pricing models just don’t work for us-- at tens of thousands of requests per second, they’re non-starters.

Other services

For customer communications and support, we use Intercom, Slack, and GrooveHQ. We also recently started using elevio, and we've found it's a great way to turn Intercom questions into trackable support tickets.

We use ReadMe.io for our product and developer API documentation, GitHub holds all our code hostage, and CircleCI helps us integrate continuously.

What’s next?

We’re constantly evolving our service to improve efficiency and scale. Besides the Kafka switchover, we’re looking at using Cassandra for some of the work that DynamoDB is doing right now. We also are keenly interested in Disque as a queuing solution, especially because we’ve had so much positive experience with Redis.

More aspirationally, we might try spiking some of our new services in Rust. I’m a functional programmer at heart, and while I am appreciative of the speed and tooling around Go, it would be nice to regain some of the expressiveness and elegance of a functional language while retaining what we like about Go (the fast compilation times, ease of deployment). If we do try it out, we’ll do so in a cautious manner, and isolate the trial to a new microservice somewhere.

LaunchDarkly
Serving over 20 trillion feature flags daily to help software teams build better software, faster. LaunchDarkly helps eliminate risk for developers and operations teams from the software development cycle.
Tools mentioned in article
Open jobs at LaunchDarkly
Platform Engineer
- US
<p data-renderer-start-pos="2137"><strong data-renderer-mark="true">About the Job:&nbsp;</strong></p> <p data-renderer-start-pos="2154">As a Platform Engineer, you will help us extend and scale LaunchDarkly's engineering infrastructure. You will build an internal development platform that brings joy to your end users - LaunchDarkly developers - and you are passionate about multiplying our engineering force through automation, orchestration, documentation, and productivity tools.</p> <p data-renderer-start-pos="2503">LaunchDarkly is a rapidly growing software company with a strong mission and vision carried out by a talented and diverse team of employees. Our goal is to help teams build better software, faster. You'll join a small team from companies like Atlassian, Intercom, and Twitter, and you'll have an immediate impact with our product and customers.</p> <h4>Responsibilities:</h4> <ul> <li> <p data-renderer-start-pos="2874">Collaborate with engineering teams to identify bottlenecks and areas for improvement in their development lifecycle, including Infrastructure as Code (IaC) templates for consistent provisioning.</p> </li> <li> <p data-renderer-start-pos="3072">Implement tools and processes to increase developer productivity and reduce time-to-market.</p> </li> <li> <p data-renderer-start-pos="3167">Automate infrastructure provisioning, scaling, and management to ensure efficiency and reliability.</p> </li> <li> <p data-renderer-start-pos="3270">Lead the design and implementation of our internal developer platform, empowering development teams to build and operate their services faster and more effectively.</p> </li> <li> <p data-renderer-start-pos="3438">Ensure the platform is scalable, secure, and aligned with best practices.</p> </li> <li> <p data-renderer-start-pos="3515">Troubleshoot and resolve delivery pipeline issues to ensure a reliable release process.</p> </li> <li> <p data-renderer-start-pos="3606">Keep up-to-date with platform engineering industry trends and emerging technologies.</p> </li> </ul> <h4>Qualifications:</h4> <ul> <li> <p data-renderer-start-pos="3713">You possess excellent communication and collaboration skills. You play well on a small, tight-knit team.</p> </li> <li> <p data-renderer-start-pos="3821">You are a self‐starter and problem solver, willing to solve hard problems and work independently when necessary. You identify potential problems and nip them in the bud before they surface.</p> </li> <li> <p data-renderer-start-pos="4014">You have a passion for reducing toil for yourself and your colleagues, and love solving problems with scripts and automation (e.g. with Python and Bash.)</p> </li> <li> <p data-renderer-start-pos="4171">You have successfully run large-scale production systems on public cloud infrastructure.</p> </li> <li> <p data-renderer-start-pos="4263">You have strong proficiency in building and maintaining CI/CD pipelines with tools like CircleCI and Spinnaker.</p> </li> <li> <p data-renderer-start-pos="4378">You are familiar with running systems with a service-oriented architecture.</p> </li> <li> <p data-renderer-start-pos="4457">You have written software in languages like Go or Python.</p> </li> <li> <p data-renderer-start-pos="4518">You have extensive experience codifying infrastructure with tools like Terraform.</p> </li> </ul> <div> <p><strong>Pay:</strong></p> <p>Target pay ranges based on Geographic Zones* for Level P3:</p> <ul> <li>Zone 1: San Francisco/Bay Area or New York City Metropolitan Area: $150,000-176,000**</li> <li>Zone 2: Boston, DC, Irvine, LA, Monterey, Santa Barbara, Santa Rosa, Seattle: $135,000-158,000**</li> <li>Zone 3: All other US locations: $127,000-150,000**</li> </ul> <p>Target pay ranges based on Geographic Zones* for Level P5:</p> <ul> <li>Zone 1: San Francisco/Bay Area or New York City Metropolitan Area: $200,000-235,000**</li> <li>Zone 2: Boston, DC, Irvine, LA, Monterey, Santa Barbara, Santa Rosa, Seattle: $180,000-212,000**</li> <li>Zone 3: All other US locations: $170,000 - $200,000**</li> </ul> <p data-renderer-start-pos="6572"><em data-renderer-mark="true">*Within the United States, our geographic pay zones are defined by counties surrounding major metropolitan areas.<br>**Restricted Stock Units (RSUs), health, vision, and dental insurance, and mental health benefits in addition to salary.</em></p> <p data-renderer-start-pos="6572"><em data-renderer-mark="true">LaunchDarkly operates from a place of high trust and transparency; we are happy to state the pay range for our open roles to best align with your needs. Exact compensation may vary based on skills, experience, degree level, and location.</em></p> </div> <h4><strong>About LaunchDarkly:</strong></h4> <p>Modern software delivery was supposed to be the foundation for a thriving digital business but reality has proven otherwise. Slow, inefficient development cycles, costly outages, and fragmented customer experiences are preventing developers from building their best software. The LaunchDarkly platform helps developers innovate on new features faster while protecting them with a safety valve to instantly rewind when things go wrong. Developers can target product experiences to any customer segment and maximize the business impact of every feature. And by gradually rolling out new application components, they escape nightmare "big-bang" technology migrations.&nbsp;</p> <p>The LaunchDarkly platform was built to guide engineers to the next frontier of DevOps by:</p> <ul> <li>Improving the velocity and stability of software releases, without the fear of end customer outages</li> <li>Delivering targeted experiences by easily personalizing features to customer cohorts</li> <li>Maximizing the business impact of every feature through the ability to experiment and optimize</li> <li>Coordinating the release and optimization of software to provide consistent experiences across mobile platforms and device types</li> <li>Improving the effectiveness and productivity of engineering teams, by providing insights into engineering cadence and stability</li> </ul> <p>At LaunchDarkly, we believe in the power of teams. We're building a team that is humble, open, collaborative, respectful and kind. We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, gender identity, sexual orientation, age, marital status, veteran status, or disability status.<br><br>One of our company values is 'Widen the Circle'. Which means we seek out diversity of perspectives to get better results. We understand everyone has their own unique talents and experiences. We encourage you to apply to this role even if you don’t think you meet 100% of the qualifications outlined above. We can find out together if it's the right match for your skillset.</p> <p class="p1">Learn more about the interview process &amp; what it’s like to work with <a class="css-tgpl01" href="https://www.gem.com/lp/landing-pages/launchdarkly-product-delivery" data-testid="link-with-safety" data-renderer-mark="true">LaunchDarkly's Product Delivery team</a>!</p> <p class="p1"><span class="s1"><strong>Do you need a disability accommodation?</strong></span></p> <p class="p1">Fill out this&nbsp;<a href="https://docs.google.com/forms/d/e/1FAIpQLSdYb_7upYMtdRVXzvXGHGfQw0pU2FNma-6Rwp-I6NjKm7SYNw/viewform"><span class="s2">accommodations request form</span></a>&nbsp;and someone from our People Operations team will contact you for assistance.&nbsp;</p>
Enterprise Solutions Engineer (Pre-Sa...
London, England, United Kingdom
<h4>About the Job:</h4> <p>As a Solutions Engineer, you will educate and guide prospects on the proper implementation of LaunchDarkly's SaaS product and Private Instances. You are passionate about trends and technologies involved in modern application development.&nbsp;You will be the technical voice during our sale and ensure our customers are comfortable with the way our systems work. You are passionate about the developer tools space and helping development teams eliminate risk and deliver value.</p> <p data-renderer-start-pos="1601">LaunchDarkly is a rapidly growing software company with a strong mission and vision carried out by a talented and diverse team of employees. Our goal is to help teams build better software, faster. Software powers the world and LaunchDarkly empowers all teams to deliver and control their software.</p> <p data-renderer-start-pos="1601">Please note this position is a Pre-Sales Engineer role, working alongside our existing SE team and providing key support and technical insight throughout the sales cycle.&nbsp;</p> <h4>Responsibilities:</h4> <ul> <li data-renderer-start-pos="1924">Evangelize and advise customers on the importance and different uses of feature flags and how to administer them</li> <li data-renderer-start-pos="2040">Presenting solutions to customer's challenges implementing feature flags across large monolith and microservice applications, large organizations, and different technology stacks</li> <li data-renderer-start-pos="2218">Become a domain expert on LaunchDarkly architecture</li> <li data-renderer-start-pos="2273">Demo LaunchDarkly product to technical and business audiences</li> <li data-renderer-start-pos="2338">Become a subject matter expert on LaunchDarkly and communicate our value and features to potential customers</li> <li data-renderer-start-pos="2450">Be the voice of the customer by translating, aggregating, and representing customer feedback to the Product and Engineering teams</li> </ul> <h4>Qualifications:</h4> <ul> <li data-renderer-start-pos="2608">4+ years of experience consulting with enterprise customers and large development teams</li> <li data-renderer-start-pos="2700">You led successful technical proof of concepts&nbsp;</li> <li data-renderer-start-pos="2751">Proven success in building strong customer relationships</li> <li data-renderer-start-pos="2811">Ability to learn and synthesize large amounts of information with little context</li> <li data-renderer-start-pos="2895">Effective communicator with the ability to simplify complex technical concepts</li> <li data-renderer-start-pos="2977">A self‐starter and problem solver, willing to take on hard problems and work independently when necessary.</li> <li data-renderer-start-pos="3116">Experience working with teams that underwent development process transformation</li> <li data-renderer-start-pos="3199">Familiarity with at least one of our supported languages: Java, .NET, GO, JS, Python, PHP, Node, Ruby, Rails, iOS, or Android</li> <li data-renderer-start-pos="3328">Experience with data persistence technologies like Varnish or Redis</li> </ul> <p><strong>Specific Requirements:</strong></p> <ul> <li>Must be able and willing to travel as needed</li> </ul> <h4><strong>About LaunchDarkly:</strong></h4> <p>Modern software delivery was supposed to be the foundation for a thriving digital business but reality has proven otherwise. Slow, inefficient development cycles, costly outages, and fragmented customer experiences are preventing developers from building their best software. The LaunchDarkly platform helps developers innovate on new features faster while protecting them with a safety valve to instantly rewind when things go wrong. Developers can target product experiences to any customer segment and maximize the business impact of every feature. And by gradually rolling out new application components, they escape nightmare "big-bang" technology migrations.&nbsp;</p> <p>The LaunchDarkly platform was built to guide engineers to the next frontier of DevOps by:</p> <ul> <li>Improving the velocity and stability of software releases, without the fear of end customer outages</li> <li>Delivering targeted experiences by easily personalizing features to customer cohorts</li> <li>Maximizing the business impact of every feature through the ability to experiment and optimize</li> <li>Coordinating the release and optimization of software to provide consistent experiences across mobile platforms and device types</li> <li>Improving the effectiveness and productivity of engineering teams, by providing insights into engineering cadence and stability</li> </ul> <p>At LaunchDarkly, we believe in the power of teams. We're building a team that is humble, open, collaborative, respectful and kind. We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, gender identity, sexual orientation, age, marital status, veteran status, or disability status.<br><br>One of our company values is 'Widen the Circle'. Which means we seek out diversity of perspectives to get best results. We understand everyone has their own unique talents and experiences. We encourage you to apply to this role even if you don’t think you meet 100% of the qualifications outlined above. We can find out together if it's the right match for your skillset.</p> <p class="p1"><span class="s1"><strong>Do you need a disability accommodation?</strong></span></p> <p class="p1">Fill out this&nbsp;<a href="https://docs.google.com/forms/d/e/1FAIpQLSdYb_7upYMtdRVXzvXGHGfQw0pU2FNma-6Rwp-I6NjKm7SYNw/viewform"><span class="s2">accommodations request form</span></a>&nbsp;and someone from our People Operations team will contact you for assistance.&nbsp;</p> <p>&nbsp;</p>
Senior Analytics Engineer
Oakland, California, United States
<h4><strong>About the Job:<br></strong></h4> <p>LaunchDarkly is seeking an experienced Analytics Engineer to join our data team. You will work with other Data Engineers, Analytics Engineers, and stakeholders across the company to deliver data insights that create material impacts to our business.</p> <h4>Responsibilities:</h4> <ul class="ak-ul" data-indent-level="1"> <li> <p data-renderer-start-pos="2997">Develop data-driven solutions to critical business problems by leveraging our data warehouse, analytics tools, and scripting languages.</p> </li> <li> <p data-renderer-start-pos="3136">Partner with stakeholders throughout the company to drive improved business results in their areas by providing creative technical solutions to their most pressing business challenges.</p> </li> <li> <p data-renderer-start-pos="3325">Translate quantitative analyses and findings into clear visuals, written documentation, and other data assets for non-technical end users.</p> </li> <li> <p data-renderer-start-pos="3468">Provide suggestions for improving the reliability, ease of use, and performance of the Data Team’s technical infrastructure.</p> </li> <li> <p data-renderer-start-pos="3596">Form strong relationships with your team and refine our best practices e.g. naming convention, data modeling, and data quality testing.</p> </li> <li> <p data-renderer-start-pos="3735">Enable users across the organization to self-serve requests using our explorable data sets</p> </li> </ul> <h4>Qualifications:</h4> <ul> <li> <p data-renderer-start-pos="3848">5+ years of professional experience as an Analytics Engineer, Data Scientist, or similar.</p> </li> <li> <p data-renderer-start-pos="3941">A Bachelor’s degree in a technical field (Computer Science, Physics, Math, Economics, etc)</p> </li> <li> <p data-renderer-start-pos="4036">An ability to balance humility with rigorous standards for work quality</p> </li> <li> <p data-renderer-start-pos="4111">A curious and growth-oriented mindset towards learning and teaching.</p> </li> <li> <p data-renderer-start-pos="4183">Ability to understand, tackle, and communicate problems from both technical and business perspectives</p> </li> <li> <p data-renderer-start-pos="4288">Experience with data modeling and warehousing concepts</p> </li> <li> <p data-renderer-start-pos="4346">Proficient in Snowflake (SQL), Python, and visualization tools</p> </li> <li> <p data-renderer-start-pos="4412">Proficient with advanced statistical techniques</p> </li> <li> <p data-renderer-start-pos="4463">Comfortable working in DBT and AWS Data Tools.</p> </li> </ul> <p><strong>Pay:</strong></p> <p data-renderer-start-pos="6395"><em data-renderer-mark="true">Target pay range for a Level P4 in San Francisco/Bay Area: </em><em>$173,000 - $204,000*</em></p> <p data-renderer-start-pos="6451"><em data-renderer-mark="true">*Restricted Stock Units (RSUs), health, vision, and dental insurance, and mental health benefits in addition to salary.</em></p> <p data-renderer-start-pos="6572"><em data-renderer-mark="true">LaunchDarkly operates from a place of high trust and transparency; we are happy to state the pay range for our open roles to best align with your needs. Exact compensation may vary based on skills, experience, degree level, and location.</em></p> <h4><strong>About LaunchDarkly:</strong></h4> <p>Modern software delivery was supposed to be the foundation for a thriving digital business but reality has proven otherwise. Slow, inefficient development cycles, costly outages, and fragmented customer experiences are preventing developers from building their best software. The LaunchDarkly platform helps developers innovate on new features faster while protecting them with a safety valve to instantly rewind when things go wrong. Developers can target product experiences to any customer segment and maximize the business impact of every feature. And by gradually rolling out new application components, they escape nightmare "big-bang" technology migrations.&nbsp;</p> <p>The LaunchDarkly platform was built to guide engineers to the next frontier of DevOps by:</p> <ul> <li>Improving the velocity and stability of software releases, without the fear of end customer outages</li> <li>Delivering targeted experiences by easily personalizing features to customer cohorts</li> <li>Maximizing the business impact of every feature through the ability to experiment and optimize</li> <li>Coordinating the release and optimization of software to provide consistent experiences across mobile platforms and device types</li> <li>Improving the effectiveness and productivity of engineering teams, by providing insights into engineering cadence and stability</li> </ul> <p>At LaunchDarkly, we believe in the power of teams. We're building a team that is humble, open, collaborative, respectful and kind. We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, gender identity, sexual orientation, age, marital status, veteran status, or disability status.<br><br>One of our company values is 'Widen the Circle'. Which means we seek out diversity of perspectives to get better results. We understand everyone has their own unique talents and experiences. We encourage you to apply to this role even if you don’t think you meet 100% of the qualifications outlined above. We can find out together if it's the right match for your skillset.</p> <p class="p1"><span class="s1"><strong>Do you need a disability accommodation?</strong></span></p> <p class="p1">Fill out this&nbsp;<a href="https://docs.google.com/forms/d/e/1FAIpQLSdYb_7upYMtdRVXzvXGHGfQw0pU2FNma-6Rwp-I6NjKm7SYNw/viewform"><span class="s2">accommodations request form</span></a>&nbsp;and someone from our People Operations team will contact you for assistance.&nbsp;</p>
Backend Engineer, Data Pipeline
Oakland, California, United States
<p data-renderer-start-pos="1895"><strong data-renderer-mark="true">About the Job:</strong></p> <p data-renderer-start-pos="1911">We are currently looking for a talented Software Engineer to join our Experimentation Product team. You will help us architect and write fast, reliable, and scalable data processing tools to process data from our thousands of customers and their hundreds of millions of users around the world. We're looking for someone who knows what it takes to deliver value to customers and takes pride in the quality of their work.</p> <p data-renderer-start-pos="2332">Our data platform processes events from over twenty billion feature flag evaluations, and billions of experimentation metrics events daily. The core technologies we use daily include Golang, Scala, Kinesis, and Flink. As part of our you-build-it-you-run-it culture, all developers may be responsible for supporting applications in production, including on-call.</p> <p data-renderer-start-pos="2695">Your work will directly reflect on the customer experience to allow them to run the most effective experiments possible.</p> <h4 id="Responsibilities:" data-renderer-start-pos="2821"><strong data-renderer-mark="true">Responsibilities:</strong></h4> <ul class="ak-ul" data-indent-level="1"> <li> <p data-renderer-start-pos="2842">Working with a modern data stack and open source frameworks</p> </li> <li> <p data-renderer-start-pos="2905">Build and expand our data platform, pipeline, and services</p> </li> <li> <p data-renderer-start-pos="2967">Design data pipelines for new products and evolving customer needs</p> </li> <li> <p data-renderer-start-pos="3037">Collaborate with product team to influence and deliver user-facing features</p> </li> <li> <p data-renderer-start-pos="3116">Monitor and improve data pipeline performance for continuous improvement</p> </li> <li> <p data-renderer-start-pos="3192">Champion engineering standards, tooling, and processes</p> </li> </ul> <p data-renderer-start-pos="3250"><strong data-renderer-mark="true">Qualifications:</strong></p> <ul> <li data-renderer-start-pos="3269">Proven experience and fluency in a JVM language or Golang</li> <li> <p data-renderer-start-pos="3330">Experience building data platforms (e.g. using Flink, Kafka, DataFlow, Hadoop, Spark)</p> </li> <li> <p data-renderer-start-pos="3419">Experience with data pipelines, distributed systems, and large-scale data processing</p> </li> <li> <p data-renderer-start-pos="3507">Strong communication skills, a positive attitude, and empathy</p> </li> <li> <p data-renderer-start-pos="3572">You hold yourself and others to a high bar when working with data systems</p> </li> <li> <p data-renderer-start-pos="3649">You value high code quality, automated testing, and other engineering best practices</p> </li> <li> <p data-renderer-start-pos="3737">Experience with AWS</p> </li> <li> <p data-renderer-start-pos="3760">Experience with experimentation systems / products</p> </li> <li> <p data-renderer-start-pos="3814">Working knowledge of ETL and a query language</p> </li> </ul> <div> <p><strong>Pay:</strong></p> <p data-renderer-start-pos="3872"><em data-renderer-mark="true">Target pay range for a Level P5 in San Francisco/Bay Area: $200,000-$235,000*</em></p> <p data-renderer-start-pos="6451"><em data-renderer-mark="true">*Restricted Stock Units (RSUs), health, vision, and dental insurance, and mental health benefits in addition to salary.</em></p> <p data-renderer-start-pos="6572"><em data-renderer-mark="true">LaunchDarkly operates from a place of high trust and transparency; we are happy to state the pay range for our open roles to best align with your needs. Exact compensation may vary based on skills, experience, degree level, and location.</em></p> </div> <h4><strong>About LaunchDarkly:</strong></h4> <p>Modern software delivery was supposed to be the foundation for a thriving digital business but reality has proven otherwise. Slow, inefficient development cycles, costly outages, and fragmented customer experiences are preventing developers from building their best software. The LaunchDarkly platform helps developers innovate on new features faster while protecting them with a safety valve to instantly rewind when things go wrong. Developers can target product experiences to any customer segment and maximize the business impact of every feature. And by gradually rolling out new application components, they escape nightmare "big-bang" technology migrations.&nbsp;</p> <p>The LaunchDarkly platform was built to guide engineers to the next frontier of DevOps by:</p> <ul> <li>Improving the velocity and stability of software releases, without the fear of end customer outages</li> <li>Delivering targeted experiences by easily personalizing features to customer cohorts</li> <li>Maximizing the business impact of every feature through the ability to experiment and optimize</li> <li>Coordinating the release and optimization of software to provide consistent experiences across mobile platforms and device types</li> <li>Improving the effectiveness and productivity of engineering teams, by providing insights into engineering cadence and stability</li> </ul> <p>At LaunchDarkly, we believe in the power of teams. We're building a team that is humble, open, collaborative, respectful and kind. We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, gender identity, sexual orientation, age, marital status, veteran status, or disability status.<br><br>One of our company values is 'Widen the Circle'. Which means we seek out diversity of perspectives to get better results. We understand everyone has their own unique talents and experiences. We encourage you to apply to this role even if you don’t think you meet 100% of the qualifications outlined above. We can find out together if it's the right match for your skillset.</p> <p class="p1">Learn more about the interview process &amp; what it’s like to work with <a class="css-tgpl01" href="https://www.gem.com/lp/landing-pages/launchdarkly-product-delivery" data-testid="link-with-safety" data-renderer-mark="true">LaunchDarkly's Product Delivery team</a>!</p> <p class="p1"><span class="s1"><strong>Do you need a disability accommodation?</strong></span></p> <p class="p1">Fill out this&nbsp;<a href="https://docs.google.com/forms/d/e/1FAIpQLSdYb_7upYMtdRVXzvXGHGfQw0pU2FNma-6Rwp-I6NjKm7SYNw/viewform"><span class="s2">accommodations request form</span></a>&nbsp;and someone from our People Operations team will contact you for assistance.&nbsp;</p>
Verified by
Software and Product Engineer
Software Engineer
Computer Science
Physics
Director Marketing
Software Engineer
Engineering Manager
Software Engineer
Software Engineeer
VP of Product and Engineering
Engineering Lead
Software Engineer
Special Circumstances
Demand Program Manager
You may also like