Why Developer Experience Is Critical?

Gokhan Karadas
Trendyol Tech
Published in
5 min readJul 18, 2022

Technology is continually growing, becoming more powerful with each passing day. According to EventsData.com, the number of developers globally is expected to increase from 23.9 million in 2019 to 28.7 million in 2024. An organization's complexity is growing and solving a problem can be struggling. Repeated daily tasks can make more pressure on engineers and increase cognitive load. Big tech companies try to focus on creating platforms for their consumers. In order to build such platforms, it requires developers with different skills like an engineering mindset, innovative thinking, and problem-solving. At this point, DE has mission-critical responsibility for growing the organization to provide the platform, standardization and better productivity flows for teams.

Who is the Developer Experience Engineer?

Developer Experience Engineering is the discipline of using data to make builders more productive through tools, automation, infrastructure, analysis, and collaborating with SRE, thereby improving their happiness and enhancing their efficiency. When applied successfully brings optimized development practices, fast and reliable delivery feedback cycles, and builder happiness. And gracefully handle ever-growing codebases. Hence it is as important as the production of software.

In Trendyol, the primary focus of DPE would be enabling teams to bring ideas to production fast in a compliant and sustainable way. To do this, DPE supports teams in terms of best practices on delivery (CI & CD, CLI tools), providing developer platform components and client application frameworks, great documentation, etc, by analyzing developer insights and considering those insights while developing tools so. This helps curate and create secure and compliant software while enabling the build and deployment processes without friction, with quality, and in a continuous manner.

Successful Developer Experience Approach

After the 3 years in the developer experience team, I try to explain how you succeed in offering a seamless developer experience. This section will cover our way to approach for seamless developer experience offering.

Understanding what exactly your developers want

The first and most important approach is to understand and meet developers' needs. Working with different teams and understanding their problem and executing them sometimes can be challenging. As Devx, we need to understand exactly how developer flow is going on and carefully observe the missing process in that flow. Here are some approaches to understanding developers’ needs.

  • Satisfaction survey feedback.
  • Analyzing engineering metrics (Dora and sub-engineering metrics).
  • Monthly request feedback meeting.

In many ways, we consider developer problems and try to solve them together.

Providing a self-service environment

Self-service is the practice of serving oneself without the need for additional help. That is a critical point when we build our infrastructure everything should be provided us self services. This means providing self-service tooling for common use cases, making tools, SDK, and APIs easily discoverable and well-documented. Engineers shouldn’t care about crossing cutting concerns and we need to remove friction when deploying applications safely. Here is an example of when you want to enable the rate limit feature for multi-zone scenarios. Just a simple YAML definition provides to enable the rate limit feature for your services.

apiVersion: trendyol.com/v1beta1
kind: GlobalRateLimit
metadata:
name: name
spec:
rate:
- dimensions:
- header_value_match:
descriptor_value: healthcheck
headers:
- name: :path
prefix_match: healthcheck
request_per_unit: 10
unit: minute
workload: label-app
domain: multi-dc-app

Next series we will continue with more examples of self-service environments and tools.

Product thinking and mindset

While identifying opportunities for new products or even improving your present product, you would research what engineers want or if there are any challenges that they happen to come across. Getting various feedback from teams would be awesome to decide which product is most critical for the business delivery. So that it tends to adopt product thinking for technology platforms and products in order to accelerate development, and minimize operational complexity.

Great technical onboarding and Devx toolkit docs

Devx team has a big responsibility to improve the developer onboarding process and technical documentation standardization. Technical documentation explains anything to do with your software product, ranging from internal documentation for teams. Developers should integrate any toolkits without asking someone provided rich technical documentation. It describes the features and functionality of the product clearly so that anyone can use it. The primary goal is to explain a particular aspect of the product to the target audience.

  • The technical document should be served on one page.
  • The notification system should send a notification when specific documents have changed and engineers should only focus on new documents and updated documents parts.
  • The document reading stats system should be activated and needs to improve according to specific read ratio, view etc…
  • The document repository should be public and anyone can contribute to toolkit docs.

Developer experience OKRs

We have a lot of different OKRs targets that are technical and cultural and it’s important to identify OKRs that fit your business and will resonate with your software development team. Below are some examples for Devx OKRs:

  • Measure Stability of Delivery Tools
  • Increase adoption of Delivery Tools
  • Measure Time To first commit of newcomer
  • Measure Lead Time to production
  • Publish the developer Satisfaction Survey at least 1 time
  • Increase adoption of Delivery Tools
Internal Developer Portal of Trendyol

With better developer experience;

  • Motivation and happiness increase.
  • Productivity increases.
  • Duplications and overhead are eliminated.
  • Provides great documentation and better standardization for our Tech team.
  • A successful onboarding experience.

We have a lot of improvement areas we need to complete. We’re happy with the results until this time and we think that the team is having a very positive impact on our Tech team in many ways. Please don’t forget to review our job posts.

More about us

References:

--

--