Best Practices for Short-term and Permanent Flags

1,081
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.

This post is by Dawn Parzych of LaunchDarkly

What are best practices when it comes to feature flags? The answer to that as with most questions is “it depends.”

  • It depends on whether the flag is a short-term or permanent flag.
  • It depends on the purpose of the flag.
  • It depends on your specific business needs. What works for one company may not work for you.

This blog series will dive into best practices for feature flags, starting with best practices pertaining to short-term and permanent flags.

Determine whether you need a short-term or permanent flag

The first recommendation is to determine whether a flag will be a short-term or permanent flag as that will influence future decisions and best practices.

Short-term flags

A short-term flag has a limited lifespan. Remove the flag once it has fulfilled its business purpose. When thinking of feature flags, most people think of short-term flags. Types of short-term flags include:

Release: Slowly exposing a feature to new users—moving from internal users to beta and/or canary users until 100% of users are receiving the feature. When you reach 100% remove the flag (unless it is needed as a circuit-breaker as described below).

A/B testing: Segmenting your population to determine a preference for one option over another. Once testing ends, remove the flag, and 100% of users should receive the preferred variation.

Operational interaction testing: When rolling out a new microservice, infrastructure component, or third-party tag, a flag can be used to determine the impact on systems. If the CPU spikes or there is a memory leak, or unexpected errors occur, disable the new element while further troubleshooting takes place.

Kill switches: A toggle to disable a single feature when things start to go sideways during a release.

After reading those descriptions, you may be thinking that a release flag sounds a lot like an operational interaction testing flag. And they are similar. The primary difference is in who is the controller. An operational interaction flag is controlled by the ops team to protect the systems where the release flag is controlled by the product or business owner to control how user adoption progresses.

Permanent flags

A permanent flag is designed to provide control for an extended time after the release of a given feature. In some cases, the flag will be in existence for the life of a feature. Types of permanent flags include:

Entitlements: Giving users access to certain features based on a subscription level or authentication status.

Circuit breakers/Load shedding: Having the ability to quickly turn a feature off or terminate a connection when problems arise prevents problems from impacting all users. These flags are often activated based on an event. For example, a monitoring tool generates an alert when orders fail to complete. When the alert is triggered, a flag is toggled setting the site to ‘read-only.’

White labeling: Configuring the look and feel of an application for each client for a white-labeled solution.

Accessibility: Allowing users to select which accessibility options and refinements they prefer.

Feature flag best practices for all flags

Whether you have a permanent or short-term flag, consider these best practices.

Make flag planning a part of feature design

Feature flags shouldn’t be an afterthought. If you think about feature flags during the design process, you will be setting yourself up for success. Part of the planning includes whether the flag will be a short-term or permanent flag. This decision will then impact other areas such as a naming convention, configuration settings, review and removal processes, and access control and safety checks. We suggest proper planning up front for all flags.

Standardize naming

You may have a style guide for code with conventions on how to write code for your application that includes things like when and where to use camelCase or the proper use of indentation. These style conventions make it easier to read and understand the code.

Before creating your first flag, come up with a naming convention to be used. Our first recommendation is for verbose flag names, don’t try and be brief. You want people to know what the flag does. Verbose flag names can be helpful for others to understand what the flag is doing.

Things to consider when writing the style guide or naming convention.

  • Be descriptive about the flag’s behavior.
  • Include a prefix with a project name or team name.
  • Indicate whether the flag is temporary or permanent.
  • Include a creation date for the flag. (This will be helpful when cleaning up flags, more on this below).
  • Whether or not to use flag in the name. If using a service like LaunchDarkly using flag in the name is redundant. If using a home-grown solution using flag in the name may help clarify the purpose of the code.

For example, you are creating a flag to progressively roll out and test a new chatbox widget of your UI. This will be a short-term flag. Without a naming convention in place, you may end up with a flag called “brand-new-flag” or “new-UI-widget.”

These names don’t tell us a whole lot about this flag. But with a standard naming convention in place that addresses all of the above, you can create a more descriptive flag name like “aTeam-chatbox-widget-temp-030619.” We know from the name, this is a temporary flag for a chatbox widget created by the “a team” on June 3rd, much better.

Minimize the reach of a flag

The focus of a flag should be small. Having a flag that controls more than one feature action at a time can be confusing and will make troubleshooting issues harder. Think about the smallest unit of logic needed for the most responsive flag. If there are multiple parts to a feature that have to work together, you can create a master flag as a dependency.

For example, say you’re launching a new dashboard in your application. The dashboard has three widgets. You should create a total of four flags: one flag for each widget with a dependency on a fourth flag for the main dashboard. With this scenario, if one widget causes problems the dashboard with two widgets can still be served.

Review use at regular intervals

Whether you are creating a short-term or permanent flag you need to review flag use at regular intervals. The frequency at which you review the flags may vary based on business requirements and the type of flag. To avoid accrual of technical debt, review both permanent and short-term flags at a regular cadence.

For short-term flags, look to see if the flag has rolled out to 100% of users, or if a flag is served to no users. For permanent flags, examine whether the flag is still needed—was a feature once part of a premium bundle and is now available for all users.

We will cover specific criteria related to removing short term flags below.

Best Practices for permanent flags

Establish access control and safety checks

If you have regularly scheduled flag clean-up events, you may worry about the accidental removal of permanent flags. Minimize the risk by implementing access control and safety-checks.

Within LaunchDarkly a flag cannot be deleted without confirmation, but that is a partial solution. There are two additional ways to implement access controls for added peace of mind.

  • Use tags and custom roles to assign permissions to flags within LaunchDarkly quickly.
  • Set role-based access control (RBAC) to specify who can delete flags in a given environment.

Best Practices for Short-term flags

Create a process for removing flags before you create one

Coding a flag is a two-part process. The act of removing a flag should not be a separate process from the act of creating a flag. As mentioned above, you should plan for flags during the feature design process. This includes the removal of short-term flags. An easy way to handle the removal process is to write a pull request to remove the flag at the time you create it. Schedule a Github reminder for after the feature is deployed to review and determine if the PR to remove the flag should be committed.

Conduct regular clean-up and review cycles

Avoiding and eliminating technical debt is necessary. If you don’t pay attention to your flags and conduct regular clean-up and review cycles, you can quickly end up with hundreds or thousands of unused feature flags. Here are some ways to schedule flag clean-up.

  • Schedule time at the end of every sprint to review existing flags.
  • Schedule a clean-up/refactoring sprint at a regular cadence (quarterly, semi-annually, whatever works for your business) to pull out old flags & tags.
  • Make it a competition. Hold a “Capture the Flag” day. The individual or team that removes the most flags wins. (Caution: make sure teams aren’t gaming the system and creating fake flags just to delete them.)

Within LaunchDarkly, we make it easier to identify which flags for removal.

You can:

  • Filter tags by create date to view the oldest flags.
  • View which variations of a flag were recently served. Are 100% of users receiving the same variation?
  • Filter on the last evaluation date of a flag.

Once you have identified a flag for removal, use code references to find all the instances of that flag in your code base.

If not using LaunchDarkly a consistent naming strategy can help you grep the code for instances of flags.

Conclusion

Although I refer to these as best practices, other practices may be better. These are recommendations that we follow and have heard from other customers. Over time these recommendations may change as we learn more. These should be seen as recommendations and suggestions, feel free to modify and alter based on your specific needs. What works well for one company or team may not work well for another team. Future blogs in this series will cover best practices and recommendations around specific use cases. If there is a best practice you would like to share please drop us a line.

Look for more best practices blogs coming soon:

Operational flags best practices

Release management flags best practices

Experimentation flags best practices

Entitlement flags best practices

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
Salesforce Engineer
- US
<h4>About the Job:</h4> <p data-renderer-start-pos="1873">LaunchDarkly is looking for a Salesforce Developer to join our fast growing company. As a Salesforce Developer, you will help operationalize our go to market processes within the Revenue Operations &amp; Enablement organization.</p> <p data-renderer-start-pos="2099">Revenue Operations &amp; Enablement is a strategy partner to the Revenue Organization responsible for GTM insights, strategy, technology, and enablement. Our mission in Revenue Operations &amp; Enablement is simple: make it easy to buy, make it easy to sell. The Revenue Systems group is charged with driving the strategy of our systems and tools, working with cross-functional teams on process improvements, ROI, and adoption. This role will work within the advanced development function in Revenue Systems.</p> <h4>Responsibilities:</h4> <ul> <li data-renderer-start-pos="2640">Develop elegant, user experience focused solutions that will help drive revenue productivity</li> <li data-renderer-start-pos="2736">Work with the Revenue Systems team to solve business challenges quickly with technical solutions</li> <li data-renderer-start-pos="2836">Solve for solutions leveraging built in Salesforce functionality (flow, etc) and apex / visualforce / lightning components</li> <li data-renderer-start-pos="2962">In collaboration with the team, architect solutions from data modeling to development</li> <li data-renderer-start-pos="3051">Manage work items, communicate updates / timelines and manage backlog</li> <li data-renderer-start-pos="3124">Monitor for errors, respond quickly to those challenges and solution against them</li> <li data-renderer-start-pos="3209">Balance focus with flexibility: we are a fast moving business that makes decisions quickly. Being prepared for occasional priority shifts and / or last minute priorities is critical</li> </ul> <h4>Qualifications:</h4> <ul> <li data-renderer-start-pos="3425">2+ years experience as a Salesforce developer with Salesforce certifications being desirable.</li> <li data-renderer-start-pos="3522">Bachelor’s degree or higher, or equivalent work experience.</li> <li data-renderer-start-pos="3585">Demonstrated knowledge of Salesforce’s best practices and standard built-in functionality for Sales Cloud and Service Cloud.</li> <li data-renderer-start-pos="3713">Advanced experience with Salesforce programmatic automation: Apex, Apex Triggers, Apex Batch Jobs, REST &amp; SOAP APIs, Lightning Web Components, Visualforce.</li> <li data-renderer-start-pos="3872">Advanced experience with Salesforce declarative automation: Flow, Formula fields, Validation Rules.</li> <li data-renderer-start-pos="3975">Experience working with Salesforce CPQ or similar.</li> <li data-renderer-start-pos="4029">Demonstrated understanding of software Object Oriented development practices and standard data structures.</li> <li data-renderer-start-pos="4139">Ability to provide detailed technical documentation in regards to Salesforce-related work.</li> <li data-renderer-start-pos="4233">Understanding of user permissions management in Salesforce in relation to Okta SSO.</li> <li data-renderer-start-pos="4320">Experience in communicating with business stakeholders to gather requirements, provide work estimates, and meet agreed-upon deadlines.</li> <li data-renderer-start-pos="4458">Familiar with working in an Agile software development framework and other software development lifecycle practices.</li> <li data-renderer-start-pos="4578">Working experience with common DevOps tools as they relate to Salesforce like Salesforce Metadata API, Ant Migration Tool, SFDX CLI, GitHub, and Jenkins. Familiarity with the standard industry concepts behind these tools like software repositories, changesets, push requests, and software CI/CD.</li> </ul> <p><strong>Pay:</strong></p> <p data-renderer-start-pos="6395"><em data-renderer-mark="true">Target pay range for a Level 4 in San Francisco/Bay Area: $144,000 - $169,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> <h4><span style="font-weight: 400;">LaunchDarkly is a Feature Management Platform that serves trillions of feature flags daily to help software teams build better software, faster. Feature flagging is an industry standard methodology of wrapping a new or risky section of code or infrastructure change with a flag. Each flag can easily be turned off independent of code deployment (aka "dark launching"). LaunchDarkly has SDKs for all major web and mobile platforms. We are building a diverse team so that we can offer robust products and services. Our team culture is dynamic, friendly, and supportive. Our headquarters are in Oakland.</span></h4> <h4><span style="font-weight: 400;">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.</span></h4> <p class="p1">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> <h4><span style="font-weight: 400;">LaunchDarkly is also committed to giving back to our community and is a part of Pledge 1%, an organization that helps companies make this a priority. Through this initiative and its charitable arm, the LaunchDarkly Foundation, the company is committed to such causes as supporting education for the underserved, homelessness relief and moving towards having a net-zero carbon footprint. You can find more about the LaunchDarkly Foundation and the organizations we serve at </span><a href="https://launchdarkly.com/foundation/"><span style="font-weight: 400;">https://launchdarkly.com/foundation/</span></a><span style="font-weight: 400;">. </span></h4> <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><span style="font-weight: 400;">#LI-Remote</span></p>
Engineering Manager, Platform
- US
<h4>About the Job:</h4> <p>LaunchDarkly is looking for a talented and inspirational engineering manager to help us build, scale, and empower a part&nbsp;of LaunchDarkly's engineering team. You will lead engineers in the development of the LaunchDarkly platform. You will set a mission for your team, define the roadmap to hit our goals, and measure success at each step. You will keep your team motivated, growing, and engaged. As part of our you-build-it-you-run-it culture, all engineers may be responsible to support their production services, including on-call. On-call is compensated in addition.</p> <h4>Responsibilities:</h4> <ul> <li> <p data-renderer-start-pos="2324">Lead and enable the engineering teams in charge of our infrastructure, shared platform services, and internal developer tooling. Your end users are fellow LaunchDarkly engineers!</p> </li> <li> <p data-renderer-start-pos="2506">Design and implement core platform infrastructure; you will codify it, monitor it, evolve it, and solve some devilish problems in production.</p> </li> <li> <p data-renderer-start-pos="2651">Ensure that new engineers get up and running in minutes, are quickly able to start contributing, and that their changes flow from laptop to production with minimal friction.</p> </li> <li> <p data-renderer-start-pos="2828">Set goals to ensure the health and continuous improvement of the system and its operational processes. You will help drive the overall reliability, efficiency, and operability of our platform.</p> </li> <li> <p data-renderer-start-pos="3024">Ensure we run a cost-effective service, and monitor and make changes to hit spending constraints.</p> </li> <li> <p data-renderer-start-pos="3125">Help your team keep a healthy service while also prioritizing strategic, high-impact investments.</p> </li> <li> <p data-renderer-start-pos="3226">Help build a diverse and highly skilled team able to keep up with a rapidly growing product.</p> </li> </ul> <h4>Qualifications:</h4> <ul> <li> <p data-renderer-start-pos="3354">3+ years experience leading people: hiring, motivating, growing, empowering, and performance managing.</p> </li> <li> <p data-renderer-start-pos="3460">A drive to truly understand the needs of your customer (our developers!) and the ability to translate those needs into business goals.</p> </li> <li> <p data-renderer-start-pos="3598">A hands-on foundation of infrastructure engineering knowledge that allows you to push your team, ask hard questions and recognize excellence.</p> </li> <li> <p data-renderer-start-pos="3743">Experience building and maintaining real-time, large-scale production systems.</p> </li> <li> <p data-renderer-start-pos="3825">Experience building with a major cloud provider and ensuring cost-effective utilization.</p> </li> <li> <p data-renderer-start-pos="3917">Proven ability to track and drive metrics, and the wisdom to understand what they can and can't tell you.</p> </li> </ul> <div> <p><strong>Pay:</strong></p> <p data-renderer-start-pos="6395"><em data-renderer-mark="true">Target pay range for a Level M3 in the United States: $190,000 - $224,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> <h4><span style="font-weight: 400;">LaunchDarkly is a Feature Management Platform that serves trillions of feature flags daily to help software teams build better software, faster. Feature flagging is an industry standard methodology of wrapping a new or risky section of code or infrastructure change with a flag. Each flag can easily be turned off independent of code deployment (aka "dark launching"). LaunchDarkly has SDKs for all major web and mobile platforms. We are building a diverse team so that we can offer robust products and services. Our team culture is dynamic, friendly, and supportive. Our headquarters are in Oakland.</span></h4> <h4><span style="font-weight: 400;">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.</span></h4> <p class="p1">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><span style="font-weight: 400;">We've partnered with KeyValues to help demonstrate the amazing culture we've built here at LaunchDarkly, find more info at </span><a href="https://www.keyvalues.com/launchdarkly"><span style="font-weight: 400;">https://www.keyvalues.com/launchdarkly</span></a><span style="font-weight: 400;">. </span></p> <h4><span style="font-weight: 400;">LaunchDarkly is also committed to giving back to our community and is a part of Pledge 1%, an organization that helps companies make this a priority. Through this initiative and its charitable arm, the LaunchDarkly Foundation, the company is committed to such causes as supporting education for the underserved, homelessness relief and moving towards having a net-zero carbon footprint. You can find more about the LaunchDarkly Foundation and the organizations we serve at </span><a href="https://launchdarkly.com/foundation/"><span style="font-weight: 400;">https://launchdarkly.com/foundation/</span></a><span style="font-weight: 400;">.</span></h4> <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><span style="font-weight: 400;">#LI-Remote</span></p>
Technical Support Engineer - US
- US
<h4><strong>About the Job:</strong></h4> <p data-pm-slice="1 1 []">As a Technical Support Engineer, you will report to the US Technical Support Manager, and resolve unique and interesting technically-focused customer issues, while working across departments to improve our customer experience.</p> <p>You are someone who values growth opportunities. You will work with other Technical Support Engineers to creatively solve customer problems, while honing your technical skills. You are committed to equity and inclusion, and motivated to work with a team that embraces and celebrates diversity.</p> <p>LaunchDarkly is a growing software company with a bold mission carried out by a diverse team of employees, and we're looking for someone like you to help us continue to grow. We provide a great compensation package including equity and benefits (including medical, dental, and vision), work flexibility (remote-friendly), and excellent salaries.</p> <p>We believe every software team can benefit from using flags and improved feature management practices, and we want your help making that vision reality. So if you're curious and excited about improving the lives and work of software developers around the world, this role will be a great fit!</p> <h4>Responsibilities:</h4> <ul> <li> <p>Become a technical expert on the LaunchDarkly platform (including <a href="https://launchdarkly.com/features/sdk/">SDKs</a>)</p> </li> <li> <p>Troubleshoot and resolve customer issues</p> </li> <li> <p>Work with engineering to resolve customer bugs</p> </li> <li> <p>Help grow and expand the team, contributing to hiring, onboarding, process, knowledge, and more</p> </li> <li> <p>Use development time to grow and contribute beyond your daily customer work</p> </li> </ul> <h4>About You:</h4> <ul> <li> <p>Passion for learning, and applying that knowledge to solving customer issues and advocating for their success</p> </li> </ul> <h4>Qualifications:</h4> <ul> <li> <p>2 or more years of experience working with customers</p> </li> <li> <p>Knowledge of programming and its core concepts, including fluency with at least one programing language (e.g., Node, PHP, Java)</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 2 in San Francisco/Bay Area: $89,000-105,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> <h4><span style="font-weight: 400;">LaunchDarkly is a Feature Management Platform that serves trillions of feature flags daily to help software teams build better software, faster. Feature flagging is an industry standard methodology of wrapping a new or risky section of code or infrastructure change with a flag. Each flag can easily be turned off independent of code deployment (aka "dark launching"). LaunchDarkly has SDKs for all major web and mobile platforms. We are building a diverse team so that we can offer robust products and services. Our team culture is dynamic, friendly, and supportive. Our headquarters are in Oakland.</span></h4> <h4><span style="font-weight: 400;">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.</span></h4> <p class="p1">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> <h4><span style="font-weight: 400;">LaunchDarkly is also committed to giving back to our community and is a part of Pledge 1%, an organization that helps companies make this a priority. Through this initiative and its charitable arm, the LaunchDarkly Foundation, the company is committed to such causes as supporting education for the underserved, homelessness relief and moving towards having a net-zero carbon footprint. You can find more about the LaunchDarkly Foundation and the organizations we serve at </span><a href="https://launchdarkly.com/foundation/"><span style="font-weight: 400;">https://launchdarkly.com/foundation/</span></a><span style="font-weight: 400;">. </span></h4> <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><span style="font-weight: 400;">#LI-Remote</span></p>
Engineering Manager, Decision Science
Oakland, California, United States
<p data-renderer-start-pos="3303"><strong data-renderer-mark="true">About the Job</strong></p> <p data-renderer-start-pos="3318">As an Engineering Manager, you will help lead our data products infrastructure and pipelines team. You can expect to spend most of your time building and delivering on the team’s roadmap, providing the appropriate amount of structure and process for the team, and leading and mentoring the engineers on your team.</p> <h4>Responsibilities:</h4> <ul> <li> <p data-renderer-start-pos="3658">Work on critical development projects.</p> </li> <li> <p data-renderer-start-pos="3700">Help your team make design and architectural decisions to ensure success.</p> </li> <li> <p data-renderer-start-pos="3777">Anticipate the growth of our service and keep your parts of the service healthy.</p> </li> <li> <p data-renderer-start-pos="3861">As part of our you-build-it-you-run-it culture, all developers may be responsible of support applications in production, including on-call. Off hours on-call is compensated in addition.</p> </li> </ul> <h4 id="Along-with-your-colleagues-in-Product-Management-and-Design,-you-will:" data-renderer-start-pos="4050"><strong data-renderer-mark="true">Along with your colleagues in Product Management and Design, you will:</strong></h4> <ul> <li data-renderer-start-pos="4124">Help your team understand their mission and how they fit in with the overall business goals.</li> </ul> <ul class="ak-ul" data-indent-level="1"> <li> <p data-renderer-start-pos="4221">Prioritize a roadmap that balances feature delivery, operational health, and bug fixing;</p> </li> <li> <p data-renderer-start-pos="4313">Define and measure success in your areas;</p> </li> <li> <p data-renderer-start-pos="4358">Lead your team to deliver while keeping your developers motivated, empowered, growing and happy.</p> </li> </ul> <h4>Qualifications:</h4> <ul> <li> <p data-renderer-start-pos="4483">Two or more years’ experience leading people: hiring, motivating, growing, empowering, and performance managing.</p> </li> <li> <p data-renderer-start-pos="4599">A history of creating or maintaining great team cultures.</p> </li> <li> <p data-renderer-start-pos="4660">Experience working on large-scale production systems.</p> </li> <li> <p data-renderer-start-pos="4717">A hands-on foundation of software development knowledge that allows work side by side with your team.</p> </li> <li> <p data-renderer-start-pos="4822">Skills and knowledge that will establish credibility with your team.</p> </li> <li> <p data-renderer-start-pos="4894">A passion for sharing that knowledge and helping to raise the bar for everyone you work with.</p> </li> <li> <p data-renderer-start-pos="4991">The ability to track and drive metrics, and the wisdom to understand what they can and can't tell you.</p> </li> <li> <p data-renderer-start-pos="5097">A drive to truly understand the needs of your customer, and the ability to translate those into business goals.</p> </li> </ul> <p><strong>Preferred Qualifications: </strong></p> <ul class="ak-ul" data-indent-level="1"> <li> <p data-renderer-start-pos="5241">Building or managing highly distributed, high volume services with 24/7 operational needs.</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 3 in San Francisco/Bay Area: $190,000 - $224,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> <h4><span style="font-weight: 400;">LaunchDarkly is a Feature Management Platform that serves trillions of feature flags daily to help software teams build better software, faster. Feature flagging is an industry standard methodology of wrapping a new or risky section of code or infrastructure change with a flag. Each flag can easily be turned off independent of code deployment (aka "dark launching"). LaunchDarkly has SDKs for all major web and mobile platforms. We are building a diverse team so that we can offer robust products and services. Our team culture is dynamic, friendly, and supportive. Our headquarters are in Oakland.</span></h4> <h4><span style="font-weight: 400;">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.</span></h4> <p class="p1">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> <h4><span style="font-weight: 400;">LaunchDarkly is also committed to giving back to our community and is a part of Pledge 1%, an organization that helps companies make this a priority. Through this initiative and its charitable arm, the LaunchDarkly Foundation, the company is committed to such causes as supporting education for the underserved, homelessness relief and moving towards having a net-zero carbon footprint. You can find more about the LaunchDarkly Foundation and the organizations we serve at </span><a href="https://launchdarkly.com/foundation/"><span style="font-weight: 400;">https://launchdarkly.com/foundation/</span></a><span style="font-weight: 400;">. </span></h4> <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><span style="font-weight: 400;">#LI-Remote</span></p>
Verified by
Software and Product Engineer
Software Engineer
Computer Science
Physics
Director Marketing
Software Engineer
Engineering Manager
Software Engineer
VP of Product and Engineering
Engineering Lead
Software Engineer
Special Circumstances
Demand Program Manager
You may also like