You are on page 1of 21

TAQELAH Lightning Talks 2020

Building an
Awesome Developer
Experience (DX)
Unmesh Gundecha
Senior Architect, DevOps, DX and
Testing

https://about.me/upgundecha
Agenda
• What is Developer Experience (DX)?
• Elements & benefits of a great Developer Experience
• Examples
• Phase of DX
• Developer Onboarding
• Application Onboarding
• Measuring DX
What is Developer Experience?

Developer Experience is the equivalent of User Experience when the


primary user of the product is a developer. DX cares about the developer
experience of using a product, its libs, SDKs, documentation, frameworks,
open-source solutions, general tools, APIs, etc.

Source - What Is DX? (Developer Experience), Albert Cavalcante, https://link.medium.com/nZ7H1gEyw9


Benefits of DX
• Save your team’s resources to focus what’s business
really needs
• Accelerate innovation and time-to-market
• Gain onboarding agility and integration with fewer
efforts
• Increase developer satisfaction ☺
Elements of DX
• Developer workstations
• Code editor, Integrated Development Environment
(IDE)
• Documentation, wiki’s
• SDKs (Software Development Kit)
• APIs - developer portals
• CLIs (Command line applications)
• Design tools
• Work management tools
• Monitoring tools
Examples

Platforms Tools

Payment processing Test automation tool for


Cloud Provider Cross platform IDE API development tool
software modern web applications

• Best in class developer • First choice for cloud • Cross platform IDE • Swiss army knife of API • Getting popular with
portal • Continuous Innovation • Built on open source and development frontend developers
• Cross platform SDK’s • Built for different JavaScript • Clean UI • Native support for Node,
• Extensive documentation developer personas – • First choice among web • Supports debugging, JS
and code examples Console, API, SDKs developers testing and monitoring • Great debugging support
• High availability • Clean documentation, • Plugins/Extensions APIs • Neat documentation,
• Test environment & test sample code and • Extensibility • User community examples and getting
data example projects • User community • Easy to onboard started guides
• Easy to onboard • Training and certifications • Easy to onboard • Neat API
• Free credits! • Engaged user community
• Highly available • Extensibility
• Easy to onboard • Easy to onboard
Phases
• Developer Onboarding
Did you have same “WOW” experience with development tools to
get you started at your workplace?

Fragmented tools

Multiple configurations

Mul0ple creden0als

Hard to install

Hard to update
How to build a great onboarding experience?

• Give developers a starting point - learning paths, knowledge trails


• Use personas to create collection of tools, configurations, access
rights and scripts to automatically deploy tools & settings on
developer workstations (tools – Homebrew, Chocolatey, Terraform, Chief,
Ansible…)
• Enable single sign on (SSO) for online tools and self service from
day one!
Application Onboarding
New ways of working, Agile, DevOps

You build it, you run it!

Source - A Conversation with Werner Vogels, https://queue.acm.org/detail.cfm?id=1142065


Application/developer Journey

Idea

Retire Plan

Depreciate Setup

Maintain Design

Operate Code

Monitor Build

Deploy Test
How to build a great onboarding experience?

• Build template repositories, build pipelines, & deploy


infrastructure as code, tests (tools - GitHub templates, GitHub Actions,
Jenkins Pipelines, Terraform, Ansible, CDKs…)
• Build online initializers to generate new application definition,
code repositories, build and deployment pipelines using the
templates (tools -- Backstage, Spring Initializer…)
• Enable monitoring and observability by default
• Use modern documentation tools (tools - Markdown, Docusaurus)
• Keep everything in single view and self serviceable
Meet, Spotify Backstage

https://github.com/spotify/backstage
Golden Paths

Source - https://backstage.io/blog/2020/03/18/what-is-backstage
60 seconds demo of Backstage

Source - https://backstage.io/blog/2020/03/18/what-is-backstage
Service View

Source - https://github.com/spotify/backstage/issues/2071
Measuring DX
UX Pillars DX Pillars

• Usability • [DX] Function = [UX] Accessibility


• Accessibility • [DX] Stability (Uptime) = [UX]
Credibility
• Findability
• [DX] Ease of use = [DX] Usability
• Credibility
• [DX] Clarity = [UX] Findability

Source - https://medium.com/@albertcavalcante/developer-experience-metrics-46b1d087811d
Let’s make developers happy!

Thank you!

Q&A in #It-unmesh

You might also like