Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Awesome Developer Experience

Building Awesome Developer Experience

Presented @ TAQELAH Lightning Talks 2020 - https://lightningtalks.taqelah.com/

Avatar for Unmesh Gundecha

Unmesh Gundecha

September 05, 2020

More Decks by Unmesh Gundecha

Other Decks in Technology

Transcript

  1. Building an Awesome Developer Experience (DX) Unmesh Gundecha Senior Architect,

    DevOps, DX and Testing https://about.me/upgundecha TAQELAH Lightning Talks 2020
  2. Agenda • What is Developer Experience (DX)? • Elements &

    benefits of a great Developer Experience • Examples • Phase of DX • Developer Onboarding • Application Onboarding • Measuring DX
  3. Source - What Is DX? (Developer Experience), Albert Cavalcante, https://link.medium.com/nZ7H1gEyw9

    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.
  4. 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 ☺
  5. 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
  6. Examples Payment processing software • Best in class developer portal

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

    get you started at your workplace? Fragmented tools Mul0ple creden0als Multiple configurations Hard to update Hard to install
  8. • 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! How to build a great onboarding experience?
  9. You build it, you run it! Source - A Conversation

    with Werner Vogels, https://queue.acm.org/detail.cfm?id=1142065 New ways of working, Agile, DevOps
  10. Idea Plan Setup Design Code Build Test Deploy Monitor Operate

    Maintain Depreciate Retire Application/developer Journey
  11. • 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 How to build a great onboarding experience?
  12. • Usability • Accessibility • Findability • Credibility • [DX]

    Function = [UX] Accessibility • [DX] Stability (Uptime) = [UX] Credibility • [DX] Ease of use = [DX] Usability • [DX] Clarity = [UX] Findability Source - https://medium.com/@albertcavalcante/developer-experience-metrics-46b1d087811d Measuring DX UX Pillars DX Pillars