Skip to content

Latest commit

 

History

History
1097 lines (740 loc) · 36.3 KB

slides.md

File metadata and controls

1097 lines (740 loc) · 36.3 KB
titleTemplate title theme info author conference socialimg keywords presenter download exportFilename export remoteAssets selectable record wakeLock mdc colorSchema aspectRatio favicon fonts defaults layout
%s - Slidev
Developer Experience is Central to DevOps Success
slidev-theme-the-unnamed
## Developer Experience is Central to DevOps Success ## Abstract Developer Experience (DevEx) encompasses every aspect of the experience that your developers (both internal and external) have with your product, tooling, systems, etc. While platform engineering aims to reduce developer toil, DevEx goes beyond that. It covers deployment pipelines, Infrastructure as Code (IaC) practices, developer efficiencies, productivity, UI/UX, and APIs. In this presentation, we will focus on some of the principles of DevOps (collaboration, communication, shared responsibility), go into the history of DevEx and how it's changed over the years (remember Vim? CFEngine?), and how a strong DevEx mindset can bring together development and operations teams.
Jeremy Meiss
../images/bluesky-jerdog-white.png
devex,developer experience,devops
true
true
devex-central-devops-success-slidevExport
format timeout dark withClicks withToc
pdf
30000
false
false
false
true
true
true
build
true
auto
16/9
sans serif mono
Roboto
Roboto Slab
Fira Code
layout
center
cover

Developer Experience...

Central to DevOps Success


What is "Developer Experience" (DevEx)?


layout: image image: /images/slides/yale-art-school.jpg backgroundSize: contain


git push heroku main

Heroku deploy button


A working definition of DevEx

"...the journey of developers and practitioners as they learn and deploy technology, which if successful, focuses on eliminating obstacles that hinder them from achieving success in their endeavors."

-Jessica West, Co-Founder, DevEx Institute


layout: image-left image: "/images/slides/cornell-devex.jpg" backgroundSize: contain class: my-cool-content-on-the-right

DevEx isn't new

REF: F. Fagerholm and J. Münch, "Developer experience: Concept and definition," 2012 International Conference on Software and System Process (ICSSP), Zurich, Switzerland, 2012.


layout: image-left image: /images/slides/cornell-devex.jpg backgroundSize: contain class: my-cool-content-on-the-right

DevEx isn't new

"New ways of working such as globally distributed development or the integration of self-motivated external developers into software ecosystems will require a better and more comprehensive understanding of developers' feelings, perceptions, motivations and identification with their tasks in their respective project environments."

REF: F. Fagerholm and J. Münch, "Developer experience: Concept and definition. 2012."


layout: image-left image: /images/slides/cornell-devex.jpg backgroundSize: contain class: my-cool-content-on-the-right transition: slide-up

DevEx isn't new

"...developer experience could be defined as a means for capturing how developers think and feel about their activities within their working environments, with the assumption that an improvement of the developer experience has positive impacts on characteristics such as sustained team and project performance."

REF: F. Fagerholm and J. Münch, "Developer experience: Concept and definition. 2012."


layout: intro transition: slide-down

Jeremy Meiss

Co-Founder, DevEx Consultant

DevEx Institute

DevOpsDays Kansas City Organizer

Jeremy Meiss

A working definition of DevEx

"...the journey of developers as they learn and deploy technology, which if successful, focuses on eliminating obstacles that hinder a developer or practitioner from achieving success in their endeavors."
-Jessica West, Co-Founder, DevEx Institute


Point of clarification

  • "DevEx" by default focuses on "developer"
  • View "DevEx" as a whole of the lifecycle

layout: image image: "/images/slides/good-devex-overall-satisfaction.jpg"


layout: image image: "/images/slides/devex-integral-dev-lifecycle.jpg"


layout: image image: "/images/slides/text-to-cloud.jpg"


Evolution of the IDE

Early text editors

USER FRIENDLY by Illiad, vi REF: O'Reilly "Learning the vi and Vim Editors"


layout: image-left image: "/images/slides/IDE_evolution-1.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

Early text editors

  • 1976: Vi
  • 1985: Emacs

  • 1991: Vim

  • 1999: nano


layout: image-left image: "/images/slides/IDE_evolution-3.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

Native IDEs in the 1980s

  • 1983: Turbo Pascal

  • 1986: Apple's Macintosh Programmer's Workshop


layout: image-left image: "/images/slides/IDE_evolution-2.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

First plug-in IDE


layout: image-left image: "/images/slides/hp-softbench-manuals.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

First plug-in IDE

HP Softbench


layout: image-left image: "/images/slides/hpjournal-june1990-hpsoftbench.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

First plug-in IDE

HP Softbench

REF: HP Journal, June 1990 edition


layout: image-left image: "/images/slides/giphy-thumbs-down.gif" class: my-cool-content-on-the-right

Evolution of the IDE

Early Reviews

"...the use of an IDE was not well received by developers since it would fence in their creativity."

REF: Computerwoche ("Computer Week", German counterpart of American magazine Computer World), 1995.


layout: image-left image: "/images/slides/IDE_evolution-4.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

Cross-platform in the 1990s

1995: Borland Delphi


layout: image-left image: "/images/slides/IDE_evolution-5.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

The Web and the 1990s

  • 1995: SGI WebMagic

  • 1995: Microsoft FrontPage


layout: image-left image: "/images/slides/IDE_evolution-6.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

Features & Usability

Late 1990s to 2000s

  • 1997: Macromedia Dreamweaver
  • 1997: Netscape Composer
  • 1997: Microsoft Visual Studio
  • 1999: Microsoft FrontPage 2000
  • 2000: NetBeans
  • 2001: IntelliJ IDEA
  • 2001: Eclipse IDE
  • 2002: Microsoft Visual Studio .NET

layout: image-left image: "/images/slides/IDE_evolution-7.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

Lightweight & Configurable

2010s to Now

  • 2008: Sublime Text

  • 2015: Atom

  • 2015: Visual Studio Code


layout: image-left image: "/images/slides/IDE_evolution-8.jpg" backgroundSize: contain class: my-cool-content-on-the-right

Evolution of the IDE

Cloud-based Options

Now

  • 2009: PHPanywhere (eventually becoming CodeAnywhere)
  • 2010: Cloud9 (AWS bought it in 2016)
  • 2018: Glitch
  • 2019: GitPod
  • 2020: GitHub Codespaces
  • 2024: Google Project IDX

Evolution of the IDE

A result of DevEx

Things we never knew we needed...

From this:

"...the use of an IDE was not well received by developers since it would fence in their creativity."


Evolution of the IDE

A result of DevEx

Things we never knew we needed...

To this:

  • Code completion
  • Code refactoring
  • Syntax highlighting
  • Debugging
  • VCS integration (no more FTPing files around)
  • Multi-language support
  • Framework integration
  • Pair programming

layout: image image: /images/slides/devex-evolution.jpg backgroundSize: contain


layout: image image: /images/slides/modern-dev-practices.jpg backgroundSize: contain


layout: image image: /images/slides/rise-of-devops.png backgroundSize: contain


layout: image-left image: /images/slides/devops-nightmare.jpg backgroundSize: contain class: my-cool-content-on-the-right

Server Environment Setup

Manual config nightmares

Late 1990s to Early 2000s

cfEngine v1{width=150px} cfEngine v2{width=250px}


Server Environment Setup

Config Mgmt & Containerization

Mid-2000s to 2010s


Server Environment Setup

IaC and DevOps Integration

2010s to Present


Broader Impact of DevEx

  • Deployment pipelines

  • Infrastructure as Code (IaC) practices

  • Developer Efficiences


layout: quote

What is DevOps?

the combination of practices and tools designed to increase an organization's ability to deliver applications and services faster than traditional software development processes


transition: fade layout: default

DevOps Principles + DevEx alignment

  • Collaboration

transition: fade layout: default

DevOps Principles + DevEx alignment

  • Enhanced collaboration via tools and processes

transition: fade layout: default

DevOps Principles + DevEx alignment

  • Collaboration

  • Communication


transition: fade layout: default

DevOps Principles + DevEx alignment

  • Enhanced collaboration via tools and processes

  • Improving communication via streamlined info sharing and feedback


transition: fade layout: default

DevOps Principles + DevEx alignment

  • Collaboration

  • Communication

  • Shared Responsibility


transition: fade layout: default

DevOps Principles + DevEx alignment

  • Enhanced collaboration via tools and processes

  • Improving communication via streamlined info sharing and feedback

  • Shared responsibility by empowering all teams with access and information


transition: fade layout: image image: /images/slides/38-devex-integ-devops-principles.jpg backgroundSize: contain


transition: fade

Good DevOps == Good DevEx

  • Facilitates smoother transitions between Dev and Ops

  • Minimizes bottlenecks with enhanced collaboration

  • Ensures feedback loops are efficient and productive

  • Enables DevOps principles to take hold within an organization


layout: image image: /images/slides/39-devex-devops-one.jpg backgroundSize: contain

DevOps + DevEx = Platform Engineering


layout: image-right image: /images/slides/40-platform-engineering.jpg class: my-cool-content-on-the-left

The Rise of Platform Engineering

  • Specific, integrated environments that devs need

  • Abstract away infrastructre + backend complexities

  • Access to robust, scalable, easy-to-use platforms

  • Streamline development processes and reduced setup time


layout: image-right image: /images/slides/self-service-mode.jpg class: my-cool-content-on-the-left

Self-Service Platforms

  • Developers empowered with necessary tools

  • Leverage automation, templates, policies with agility

  • Accelerate development, enhance productivity, foster autonomy


layout: image image: /images/slides/42-devex-devops-convergence.jpg backgroundSize: contain


layout: image-left image: /images/slides/better-practices.jpg class: my-cool-content-on-the-right backgroundSize: contain

Better Practices for leveling up DevEx

  • Empower with the right tools

  • Encourage Cross-functional Teams

  • Implement Feedback Loops

  • Focus on Automation

  • Invest in Training and Development


layout: section

Strategies for Improving DevEx


DevEx reflects an organizational culture


layout: center

Strategies for Improving DevEx

Improving DevEx in your organization

DevEx initiatives should be modeled from Leadership FIRST{style="color: red; font-size: 1.25em; font-weight: bolder;"}


Improving DevEx in your organization

  1. Foster a positive culture

  2. Streamline the workflow(s)


layout: image-left image: /images/slides/clear-concise-docs.jpg backgroundSize: contain class: my-cool-content-on-the-right

Improving DevEx

Foster a positive culture

  1. Clear and concise documentation
  • Encourage knowledge sharing
  • Create easily accessible resources to reduce toil + empower

layout: image-left image: /images/slides/promote-collab-comms.jpg backgroundSize: contain class: my-cool-content-on-the-right

Improving DevEx

Foster a positive culture

  1. Clear and concise documentation

  2. Promote collaboration and communication

  • Facilitate code reviews
  • Implement comms to foster teamwork + problem solving

layout: image-left image: /images/slides/champion-growth.jpg backgroundSize: contain class: my-cool-content-on-the-right

Improving DevEx

Foster a positive culture

  1. Clear and concise documentation

  2. Promote collaboration and communication

  3. Champion well-being and growth

  • Encourage feedback, up and down
  • Recognize achievements
  • Create a sense of belonging

layout: image-left image: /images/slides/streamline-workflows.jpg backgroundSize: contain class: my-cool-content-on-the-right

Improving DevEx

Streamline the workflow

  1. Tools and Automation
  • Explore tools which are highly regarded in your field
  • Automate repetitive tasks wherever possible

layout: image-left image: /images/slides/standard-env-setup.jpg backgroundSize: contain class: my-cool-content-on-the-right

Improving DevEx

Streamline the workflow

  1. Tools and Automation

  2. Standardize environment setup

  • Use config management tools
  • Streamline onboarding for all team members

Examples:


layout: statement

DevEx is...

"ruthlessly eliminating barriers (and blockers) that keep your practitioners from being successful"


layout: two-cols

Thank you!

::right::

@jerdog.dev

/in/jeremymeiss

@jerdog

@[email protected]

@IAmJerdog


layout: end