The shift to microservices architecture over the past decade has transformed how software products are built, shipped and maintained. Along with the many advancements this shift has enabled - velocity, independence, scalability, and agility - as product team leaders we can now also acknowledge the new challenges and burden it has introduced on engineering productivity and developer experience - including lack of E2E visibility and holistic overview, exploding tech stack, and ability to remediate and troubleshoot issues quickly stemming from limited observability & monitoring.
The goal of this section is to bring together the latest industry news and initiatives related to engineering excellence, productivity and velocity when it comes to microservices and distributed applications.
Enhancing developer experience is critical for most enterprises. The suite of technologies under this theme focuses on attracting and retaining top engineering talent by supporting interactions between developers and the tools, platforms, processes and people they work with..
Published August 2023 by Gartner | Written by Perry Krug, Couchbase
The 2023 Gartner Hype Cycle identifies 25 must-know emerging technologies designed to help enterprise architecture and technology innovation leaders evaluate, examine, and strategize. These technologies are expected to greatly impact business and society over the next two to 10 years, and will especially enable CIOs and IT leaders to deliver on the promise of digital business transformation.
Other critical technologies in developer experience include:
- AI-augmented software engineering, the use of AI technologies and natural language processing (NLP) to help software engineers create, deliver and maintain applications.
- API-centric SaaS, a cloud application service designed with programmatic request/reply or event-based interfaces (APIs) as the primary methods of access.
- GitOps, a type of closed-loop control system for cloud-native applications.
- Internal developer portals, which enable self-service discovery and access to resources in complex, cloud-native software development environments.
- Open-source program office (OSPO), the center of competency to build strategies for governing, managing, promoting and efficiently using open-source software (OSS) and open-source data or models.
Competition continues to rise in the global landscape as the need to deliver high-quality customer experiences remains top-of-mind across industries. To come out on top, many organizations are adopting cloud-based technologies.
Published July 2023 on TechRadar | Written by Perry Krug, Couchbase
One way to mitigate the developer skills shortage is by enabling your existing team to get more meaningful work done at the same time. Distributed tracing is the stepping stone when adopting cloud-based technologies, as it unlocks E2E observability and empowers devs to ship code and troubleshoot issue a lot quicker.
IT infrastructures continue to evolve and become more complex as emerging technologies are introduced. This doesn’t bode well for already strained developers, given that nine out of 10 respondents feel they are at or over their work capacity.
In order to move forward with digital transformation amid the developer skills shortage, businesses will need to adopt automation technologies to help them boost productivity. Businesses will also need to adopt familiar, easy to learn cloud-based tools to help them keep up with their day-to-day workflows. It’s important that tools and new solutions are affordable, simple and flexible enough to easily adopt.
Many developers would admit they are at their happiest when empowered to do what they do best: build code efficiently and effectively. However, there has often been a consistent stumbling block, productivity.
Published July 2023 on ComputerWeekly.com | Written by Joy Cicman Liuzzo, Stack Overflow
One of the biggest challenges when scaling microservices is handling the knowledge silos. The same principals that encourage high velocity and time to market when the team is small, backfire and can create a burden on the team as it grows. Distributed tracing tools help bridge this observability gap and increase collaboration as they bring down the blinders and provide the full E2E context of the flows in the distributed application.
These knowledge siloes present a key challenge between developers and general staff who may require specific expertise or resources to solve a complex situation, but do not have access to the resources or guidance required to solve it. This can often place increased reliance on a smaller pool of experts, leading to slower resolution times and heightened annoyances.
The resolution is better collaboration. Organisations that cultivate a collaborative culture between cross-functional teams and provide platforms for effective communication will be able to foster the right environment where developers remain engaged, motivated and – most importantly – empowered to deliver results.
A great developer experience can boost speed and efficiency allowing for frictionless and faster development cycles as well as the elimination of operational hurdles that can lead to burnout and employee churn.
Published July 2023 on Spiceworks | Written by Christine Spang, Nylas
When developers find themselves in an environment that empowers them to do their best work, everyone, not just developers, thrive.
Developer experience is far more than simply a nice-to-have, or even an OKR that sits solely within product and engineering teams. Embedding developer experience into the DNA of an entire company ensures that it receives the attention and investment that it deserves. Along with driving ROI, curating modern workflows, and the impact it can have on company culture, a great developer experience can also be felt outside of your company walls. At its core, a great customer experience starts with the individuals who are in charge of building it. If developers are put in the best position to succeed, it’ll reflect itself in your customer experience as well.
Giving developers a good developer experience relies on understanding the importance of creating an experience that removes friction, fosters innovation and fuels the ability to move faster.
Published July 2023 on DevOps.com | Written by Dave Sudia, Ambassador Labs
Tips to ensure the developer experience is not your Achilles heel in fueling business performance highlight the need for tooling (such as distributed tracing) to remove friction - in addition to encouraging team collaboration & communication and letting the developers' voice be heard.
Developers want to focus on what they do best—writing code. They don’t want to be hunting down answers to problems created by a growing list of complex technologies, processes and tooling that impact their ability to write and ship software fast. Most developers don’t want to think about selecting or having to use a variety of different (or new tools) to support their work.
Clear the path for developers. Find infrastructure that puts your developers in the driver’s seat and allows them to continue using the toolchains they already know and love and the power to pick and choose which capabilities best support their requirements for fast, scalable app delivery.
Today, if a developer doesn’t have adequate tools to do their job as efficiently and effectively as they can, it’s unequivocally unacceptable. As it should be. Enterprises must focus on how the developer feels and how quick and easy and responsive their tools are.
Published July 2023 on ComputerWeekly.com | Written by John Selvadurai, iterate.ai
Well-researched investments into developer-preferred DX tooling should deliver immediate and tangible benefits across a number of fronts, including faster time-to-market, better application quality, hiring and employee satisfaction.
Developers are choosing which companies they want to work for based on the tools they provide. Those expecting to hire top-shelf developer talent now list their advanced developer tools as selling points and tout their DX commitments in interviews. I’ve spoken with developers who told me they’ve steered their career paths toward particular organisations entirely because they were excited to work with the DX and tooling there. For many, DX has become at least as important as salary and benefits; some say more so.
Brandon Bayer from Flightcontrol shared general principals and tacticts to achieve engineering productivity.
Published July 2023 on The New Stack | Written by Antonija Bilic Arar, ShifMag
Speed, reliability, reproducibility, calm on-call rotations, easy to debug, self-serve infrastructure and deployments, and finally - ship on Fridays - those are the general principals highlighted in order to increase dev velocity and engineering productivity; all of them are further amplified when using distributed tracing.
Healthy engineering organizations deploy multiple times per day, including on Fridays.
If you are afraid to deploy on Fridays, it’s likely because:
- You don’t have reliable deployments.
- You have slow deployments.
- You don’t have good monitoring and alerting.
- Your app is hard to debug.
- You don’t have tests.
Those are all things you must fix.
Salt Security had deployed OpenTelemetry, but found it insufficient. So the company engineers evaluated Helios, which visualizes distributed tracing for fast troubleshooting.
Published June 2023 on The New Stack | Written by Eli Goldberg, Salt Security
This case study demonstrates the value of using a distributed tracing tool (such as Helios) and the impact that is made on the day-to-day dev experience, velocity and satisfaction by integrating it.
Why did we need to see into our services?
At the macro level, we needed to monitor and identify problems after making changes in our system. For example, we needed to detect filters, anomalies and any other signals of problematic flows.
At the micro level, we needed to be able to zero in on the causes of any problem we identified. For example, errors, slow operations or incomplete flows, whether they support gRPC or Kafka operations, as well as their communication with databases.
To be clear, when we say “visibility” we mean a deep level of granularity at the payload level. Because just one single, slow query in the database might slow down the entire flow, impacting our operations and customers.
Published June 2023 on Gradle's Developer Productivity Engineering blog | Written by Justin Reock, Gradle
The SPACE framework is a research-based approach to understanding what drives developer productivity and provides a starting point for understanding how to improve it. The article demonstrates the DPE pillars cross-referenced with the SPACE metrics.
DPE’s pillars are defined as follows:
- Faster Feedback Cycles
Build and test acceleration technologies (both locally and on CI) address the pain of unnecessary developer idle time as well as disruptions to the individual’s creative flow due to context switching while waiting for builds and tests to complete. This results in happier, more productive developers and faster feedback cycles
- Efficient Failure Troubleshooting
Troubleshooting broken builds is slow and frustrating for developers, with hours spent on support and reproducing problems. When deep data is available for every build, developers can quickly find the root cause and fix their own problems without re-running broken builds to reproduce problems or requiring the help of the build team.
- Reliable Builds & Tests
Eliminating flaky tests and other avoidable failures using observation and analysis leads to trustworthy and reliable toolchains.
We surveyed 500 U.S.-based developers at companies with 1,000-plus employees about how managers should consider developer productivity, collaboration, and AI coding tools.
Published June 2023 on GitHub Blog | Written by Inbal Shani, Github
This analysis highlights the different aspects of DevEx - developer productivity, developer impact, and developer satisfaction - and puts the spotlight on the fundamental mindset change that needs to be done on engineering teams performance evaluation, from being output-based to being impact-based.
DevEx is a formula that takes into account:
- How simple and fast it is for a developer to implement a change on a codebase—or be productive.
- How frictionless it is to move from idea through production to impact.
- How positively or negatively the work environment, workflows, and tools affect developer satisfaction.
For leaders, developer experience is about creating a collaborative environment where developers can be their most productive, impactful, and satisfied at work. For developers, collaboration is one of the most important parts of the equation.
How developers can leverage distributed tracing to improve app performance and developer productivity.
Published June 2023 on Forbes | Written by Maya Mandel, Helios
Distributed tracing is transforming how the best development teams in the world approach software development. Use cases discussed: Developer-first observability, bottleneck analysis, 3rd party app integrations, backend visibility into UI testing.
Modern apps have become increasingly complex, often spanning dozens of microservices and cloud components (DBs, queues, etc.). This complexity has made it more difficult for developers to do their jobs as they struggle to understand data flows through an application and meet modern observability standards—when all they have at hand are existing mechanisms such as metrics and logs.
This can lead to performance issues and errors that are hard to diagnose and fix. If this “microservices sprawl” is not managed, it can result in development latency and subpar performance. Distributed tracing has equipped dev and ops teams with the E2E tools and context to easily pinpoint issues in their apps, thereby contributing to a better developer experience.
Published May 2023 on ACM Queue | Written by Abi Noda, DX; Margaret-Anne Storey, University of Victoria; Nicole Forsgren, Microsoft Research; Michaela Greiler, DX
Ground-breaking academic research offering a framework that distills developer experience to its three core dimensions: feedback loops, cognitive load, and flow state.
Cognitive load impedes developers' most important responsibility: delivering value to customers. When cognitive load remains high as a result of problems such as poorly documented code or systems, developers need to devote extra time and effort to complete tasks and avoid mistakes.
To improve developer experience, teams and organizations should aim to reduce cognitive load by finding ways to eliminate unnecessary hurdles in the development process. Emphasis should be placed on creating well-organized code and documentation both to facilitate developers' understanding of the systems they work with and to reduce the amount of context or task switching required to complete their projects. Dedicated DevEx and platform teams should provide easy-to-use, self-service tools to help developers streamline the steps for development and release.
Helios is a a dev-first observability platform that helps dev and ops teams shorten the time to find and fix issues in distributed applications. Built on OpenTelemetry, Helios provides traces and correlates them with logs and metrics, enabling end-to-end app visibility and faster troubleshooting.
Get started for free with Helios to simplify and enrich OpenTelemetry distributed tracing.