DEV Community

Cover image for What is Engineering Enablement (And Why it Matters)
Shipyard DevRel
Shipyard DevRel

Posted on • Originally published at qa.shipyard.build

What is Engineering Enablement (And Why it Matters)

What is Engineering Enablement?

Engineering Enablement (or Developer Enablement) is a highly-technical team (or group of ICs) who work to improve internal engineering processes. Those in Engineering Enablement usually come from a DevOps or software development background, and understand engineering workflows at a high level. Engineering Enablement consults with development and infrastructure teams to improve QoL in a number of ways, and may include:

  • Managing projects
  • Improving pipelines
  • Auditing documentation
  • Educating employees
  • Applying value stream mapping

Although Engineering Enablement is a new discipline, it’s starting to gain some serious traffic at medium to enterprise-sized orgs. This is because it has a major ROI: when developers are unblocked, happy, and productive, they’re producing higher volumes of quality code.

What falls under the Engineering Enablement umbrella?

Engineering Enablement’s ultimate goal is to help developers achieve peak productivity. This covers a pretty broad range of tasks and responsibilities, as there’s no straightforward path to developer productivity. Despite this, we still see some common ground in the tasks owned by Engineering Enablement.

Platform engineering

The Platform team might spend the majority of their time building and maintaining developer-friendly infrastructure. Engineering Enablement has big-picture velocity goals, which they’ll break down with Platform and distill into technical tasks. For example, Engineering Enablement may want to reduce feature time to market. They will identify what technical steps might be necessary, and land on better test environment availability. Platform will then work to integrate this, and Enablement will measure its success.

Developer tooling

At its core, Engineering Enablement is about making life easier for developers. This means both identifying and reducing pain points. By choosing developer tooling wisely, engineering enablement can help improve development workflows, which in turn cuts down cycle times. Enablement understands what goes into the industry-standard tooling suite, and keeps the latest devtools on their radars.

There are some tools that yield productivity results pretty reliably, including:

  • Ephemeral staging environments
  • Application observability platforms
  • Local-first CI/CD pipelines

Enablement knows how to maximize devtool ROI, both financially and when it comes to engineering lift. They’re also well aware that adding devtools isn’t always the answer to poor culture and practices.

Developer education

One of the most important ways to enable your developers is to help them upskill. Engineering Enablement gathers educational resources and carves out time for developers to study on the job. There are several highly effective ways for developers to learn: mentorship, pair programming, and knowledge transfer calls. The Enablement team may facilitate these methods, or at least communicate their value to engineering managers.

Benefits of Engineering Enablement

Engineering Enablement has a positive ripple effect across your development teams. The breadth of an Enablement team makes it valuable across every stage of the development lifecycle, from coding to shipping. More “focused” org efforts will zoom in on either the inner development loop, or look at the post-commit deployment pipeline. Enablement oversees these different stages and how they influence each other.

Developer experience

The Enablement team is on the lookout for points of friction: they’re studying (and surveying) developer workflows. Engineering Enablement can help leadership design/improve developer resources, including documentation and devtools. According to the DevEx framework, there are three main tenets of developer experience:

  • Flow state
  • Feedback loops
  • Cognitive load

The Enablement team might use these as a template for measuring current DevEx, as well as finding where developer workflows need additional attention.

Enablement and DevEx engineers have similar goals, but approach them in different ways. Enablement tends to take a top down, high level approach. DevEx engineers are more familiar with the day-to-day developer workflows and specifics of team dynamics. Since Enablement often works across all dev teams in an org, they might be less in tune with the details, but this breadth helps them benchmark and assess performance relative to other teams.

Developer productivity

Productivity is a result of good team culture and practices, largely developer experience. Developer productivity initiatives are closely tied to those for DevEx, but tend to skew more towards outcomes instead of process. This is where Enablement comes in: they study productivity quantitatively (e.g. delivery metrics, lines of code written), and find cause/effect relationships between that and your developers’ processes. Taking in the “big picture” gives Enablement more context, which might help them zero in on what’s impacting velocity, and what isn’t.

DORA metrics

DORA metrics are a common benchmark for engineering velocity. In fact, they might be one of the primary ways your org measures DevOps success. By working to improve these, you’re giving your team(s) the stability they need to build and deploy fast.

When deployment pipelines aren’t optimized, you might face days (or even weeks) of unnecessary wait times. Engineering Enablement initiatives strive to cut down lead times wherever possible. They’ll identify the areas easiest to improve, then help DevOps and Platform teams create a roadmap.

Improving your DORA metrics usually leads to better productivity and quality of life. Good DORA metrics might also be a sign your Enablement efforts are working.

Starting an Engineering Enablement initiative

Since Engineering Enablement is such a complex role, it might be best to start building it from within your org. Chances are, your staff and principal engineers are already doing some of the Enablement work anyway. Successful Engineering Enablement programs are backed by people who understand your org’s culture from the inside out.

Enablement is very culture-specific, which means it should be designed with your org itself as its North Star. This makes starting an Enablement initiative a slow process — you can’t really adapt another org’s plan to fit your org’s needs. However, it’s never too early to start laying the groundwork for an Enablement program, even if it’s just a fraction of an engineer’s current responsibilities.

Enable your engineers the easy way

If you’re just getting started on your Engineering Enablement journey, here’s a pro tip: you can maximize your ROI by implementing full-stack preview environments. This way, your developers can start testing and interacting with features as soon as they’ve finished coding. Shipyard makes the hard part easy — we take your Docker Compose file and transpile it to Kubernetes. Then we provide you with fully-hosted ephemeral preview environments. They’ll rebuild on every code change, and spin down when not in use. You can use them in your CI/CD pipeline, share links across teams, and integrate them into your Internal Developer Platform via our API.

Want to learn more about ephemeral environments? Check out our community resource, EphemeralEnvironments.io

Top comments (0)