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 |
|
true |
true |
true |
build |
true |
auto |
16/9 |
|
|
cover |
git push heroku main
"...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
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
"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
"...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."
"...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
- "DevEx" by default focuses on "developer"
- View "DevEx" as a whole of the lifecycle
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
- 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
-
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
layout: image-left image: "/images/slides/hp-softbench-manuals.jpg" backgroundSize: contain class: my-cool-content-on-the-right
layout: image-left image: "/images/slides/hpjournal-june1990-hpsoftbench.jpg" backgroundSize: contain class: my-cool-content-on-the-right
REF: HP Journal, June 1990 edition
layout: image-left image: "/images/slides/giphy-thumbs-down.gif" class: my-cool-content-on-the-right
"...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
layout: image-left image: "/images/slides/IDE_evolution-5.jpg" backgroundSize: contain class: my-cool-content-on-the-right
-
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
- 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
-
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
- 2009: PHPanywhere (eventually becoming CodeAnywhere)
- 2010: Cloud9 (AWS bought it in 2016)
- 2018: Glitch
- 2019: GitPod
- 2020: GitHub Codespaces
- 2024: Google Project IDX
From this:
"...the use of an IDE was not well received by developers since it would fence in their creativity."
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-left image: /images/slides/devops-nightmare.jpg backgroundSize: contain class: my-cool-content-on-the-right
-
Deployment pipelines
-
Infrastructure as Code (IaC) practices
-
Developer Efficiences
- Collaboration
- Enhanced collaboration via tools and processes
-
Collaboration
-
Communication
-
Enhanced collaboration via tools and processes
-
Improving communication via streamlined info sharing and feedback
-
Collaboration
-
Communication
-
Shared Responsibility
-
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
-
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-right image: /images/slides/40-platform-engineering.jpg class: my-cool-content-on-the-left
-
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
-
Developers empowered with necessary tools
-
Leverage automation, templates, policies with agility
-
Accelerate development, enhance productivity, foster autonomy
layout: image-left image: /images/slides/better-practices.jpg class: my-cool-content-on-the-right backgroundSize: contain
-
Empower with the right tools
-
Encourage Cross-functional Teams
-
Implement Feedback Loops
-
Focus on Automation
-
Invest in Training and Development
DevEx initiatives should be modeled from Leadership FIRST{style="color: red; font-size: 1.25em; font-weight: bolder;"}
-
Foster a positive culture
-
Streamline the workflow(s)
layout: image-left image: /images/slides/clear-concise-docs.jpg backgroundSize: contain class: my-cool-content-on-the-right
- 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
-
Clear and concise documentation
-
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
-
Clear and concise documentation
-
Promote collaboration and communication
-
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
- 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
-
Tools and Automation
-
Standardize environment setup
- Use config management tools
- Streamline onboarding for all team members
Examples:
::right::