Demystifying ‘DevEx’, and why it matters

A presentation at Connect.Tech 2024 in November 2024 in Atlanta, GA, USA by Jeremy Meiss

Slide 1

Slide 1

Demystifying “DevEx” and why it matters Connect.Tech 2024

Slide 2

Slide 2

DevEx as Disaster… Connect.Tech 2024

Slide 3

Slide 3

DevEx as Disaster Common examples Poorly documented features (or bugs) Connect.Tech 2024

Slide 4

Slide 4

DevEx as Disaster Common examples Poorly documented features (or bugs) Missing OpenAPI spec (or event APIs) Connect.Tech 2024

Slide 5

Slide 5

DevEx as Disaster Common examples Poorly documented features (or bugs) Missing OpenAPI spec (or event APIs) Downloading documentation… as a PDF, or access-gated Connect.Tech 2024

Slide 6

Slide 6

DevEx as Disaster Common examples Poorly documented features (or bugs) Missing OpenAPI spec (or event APIs) Downloading documentation… as a PDF, or access-gated Missing examples… of anything Connect.Tech 2024

Slide 7

Slide 7

DevEx as Disaster Common examples Poorly documented features (or bugs) Missing OpenAPI spec (or event APIs) Downloading documentation… as a PDF, or access-gated Missing examples… of anything “CI as Magic 8-Ball” Connect.Tech 2024

Slide 8

Slide 8

Connect.Tech 2024

Slide 9

Slide 9

…or DevEx as a Delight? Connect.Tech 2024

Slide 10

Slide 10

git push heroku main Connect.Tech 2024

Slide 11

Slide 11

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 Connect.Tech 2024

Slide 12

Slide 12

Connect.Tech 2024

Slide 13

Slide 13

Connect.Tech 2024

Slide 14

Slide 14

Distinguishing DevEx from other Concepts Connect.Tech 2024

Slide 15

Slide 15

Distinguishing DevEx from other Concepts User Experience (UX) Developer Productivity Focus: prioritizing the end users usability and Focus: measured in terms of output, with an overall experience; aim to make software emphasis on efficiency and performance. intuitive, easy to use, and enjoyable to interact Context: metrics like “time to release”, “number of with. pull requests”, or “deployment frequency”. Context: involves user research, wireframes, Differs from DevEx: they don’t capture the full testing product to optimize user satisfaction. experience of developers, while DevEx Differs from DevEx: _DevEx focuses on making encompasses efficiency, the satisfaction, well- tools, processes, and environments that devs use being, and support structure of devs. efficient and pleasant. Connect.Tech 2024

Slide 16

Slide 16

Distinguishing DevEx from other Concepts Developer Experience (DevEx) Focus: holistic view encompassing all aspects of the developer journey (usability, efficiency, satisfaction, etc.) Unique: integrates elements of UX and productivity, but with a broader scope of psychological safety, community, and feedback loops. Connect.Tech 2024

Slide 17

Slide 17

Jeremy Meiss Co-Founder, DevEx Consultant DevEx Institute DevOpsDays Kansas City Organizer Connect.Tech 2024

Slide 18

Slide 18

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. Connect.Tech 2024

Slide 19

Slide 19

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.” Connect.Tech 2024

Slide 20

Slide 20

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.” Connect.Tech 2024

Slide 21

Slide 21

Connect.Tech 2024

Slide 22

Slide 22

Evolution of the IDE Early text editors REF: O’Reilly “Learning the vi and Vim Editors” Connect.Tech 2024

Slide 23

Slide 23

Evolution of the IDE Early text editors 1976: Vi 1985: Emacs 1991: Vim 1999: nano Connect.Tech 2024

Slide 24

Slide 24

Evolution of the IDE Native IDEs in the 1980s 1983: Turbo Pascal 1986: Apple’s Macintosh Programmer’s Workshop Connect.Tech 2024

Slide 25

Slide 25

Evolution of the IDE First plug-in IDE Connect.Tech 2024

Slide 26

Slide 26

Evolution of the IDE First plug-in IDE HP Softbench Connect.Tech 2024

Slide 27

Slide 27

Evolution of the IDE First plug-in IDE HP Softbench REF: HP Journal, June 1990 edition Connect.Tech 2024

Slide 28

Slide 28

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. Connect.Tech 2024

Slide 29

Slide 29

Evolution of the IDE Cross-platform in the 1990s 1995: Borland Delphi Connect.Tech 2024

Slide 30

Slide 30

Evolution of the IDE The Web and the 1990s 1995: SGI WebMagic 1995: Microsoft FrontPage Connect.Tech 2024

Slide 31

Slide 31

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 Connect.Tech 2024

Slide 32

Slide 32

Evolution of the IDE Lightweight & Configurable 2010s to Now 2008: Sublime Text 2015: Atom 2015: Visual Studio Code Connect.Tech 2024

Slide 33

Slide 33

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 Connect.Tech 2024

Slide 34

Slide 34

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.” Connect.Tech 2024

Slide 35

Slide 35

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 Connect.Tech 2024

Slide 36

Slide 36

Connect.Tech 2024

Slide 37

Slide 37

Connect.Tech 2024

Slide 38

Slide 38

The Rise of DevOps… Software Developement before DevOps “It used to take weeks or even months to deploy a simple change.” Siloed teams with minimal collaboration Manual, error-prone deployments Lengthy software development cycles Connect.Tech 2024

Slide 39

Slide 39

The Emergence of DevOps Collaboration Automation Continuous Integration Connect.Tech 2024

Slide 40

Slide 40

The Role of Automation in DevOps Jenkins Docker Kubernetes Connect.Tech 2024

Slide 41

Slide 41

Connect.Tech 2024

Slide 42

Slide 42

DevOps paved the way for Modern DevEx Efficiency gains through reduced friction of deployments Reduced cognitive load and shift to developer well-being and satisfaction Encouragement of experimentation and fast feedback loops Connect.Tech 2024

Slide 43

Slide 43

Connect.Tech 2024

Slide 44

Slide 44

The Rise of DevOps… …and the Birth of Modern DevEx Developer Platforms and Internal Tooling Developer Portals Self-serve infrastructure API-Driven Infrastructure Connect.Tech 2024

Slide 45

Slide 45

The Birth of Modern DevEx Cultural Shift towards Collaboration and Experimentation Cross-functional teams Encouragement of feedback and continuous learning Connect.Tech 2024

Slide 46

Slide 46

Core pillars of Developer Experience Connect.Tech 2024

Slide 47

Slide 47

Core pillars of Developer Experience Developer Onboarding Effective Strategies Measurements Comprehensive onboarding kits Time to first commit Mentorship programs Time to first merge “_____” Connect.Tech 2024

Slide 48

Slide 48

Core pillars of Developer Experience Documentation Living documentation Developer portals Connect.Tech 2024

Slide 49

Slide 49

Core pillars of Developer Experience Continuous Feedback Regular surveys Feedback forums Act on feedback Connect.Tech 2024

Slide 50

Slide 50

Core pillars of Developer Experience CI/CD and Automation Automate everything possible (Paige Bailey automation post) Fast feedback loops (“Fail Fast”) Overcomplicated pipelines can lead to more problems than they solve Connect.Tech 2024

Slide 51

Slide 51

Core pillars of Developer Experience Infrastructure Orchestration Developer Self-Service Simplifying Deployment Ensure the tools are well-documented and abstract away unnecessary complexity Connect.Tech 2024

Slide 52

Slide 52

Core pillars of Developer Experience Culture and Team Structure Cross-functional teams Promote psychological safety Connect.Tech 2024

Slide 53

Slide 53

Core pillars of Developer Experience Developer Well-Being Flexible schedules Work-life boundaries Initiatives like wellness programs, no-meeting days, and social activities can help. Connect.Tech 2024

Slide 54

Slide 54

Enhancing the Developer Experience Connect.Tech 2024

Slide 55

Slide 55

DevEx reflects an organizational culture Connect.Tech 2024

Slide 56

Slide 56

Enhancing the Developer Experience Prioritize DevEx at every level DevEx initiatives should be modeled from Leadership FIRST THEN… Appoint DevEx Champions in every team Establish feedback loops Connect.Tech 2024

Slide 57

Slide 57

Enhancing the Developer Experience Streamline processes and reduce friction Automate repetitive tasks Implement self-service tools Connect.Tech 2024

Slide 58

Slide 58

Enhancing the Developer Experience Build a supportive community Foster internal developer communities Encourage mentorship programs Connect.Tech 2024

Slide 59

Slide 59

Enhancing the Developer Experience Measure your success… and iterate Get a baseline of where you are Track qualitative feedback Analyze quantitative metrics Connect.Tech 2024

Slide 60

Slide 60

DevEx is… “ruthlessly eliminating barriers (and blockers) that keep your practitioners from being successful” Connect.Tech 2024

Slide 61

Slide 61

@jerdog.dev /in/jeremymeiss Thank you! @jerdog @jerdog@hachyderm.io @IAmJerdog jmeiss.me Connect.Tech 2024

Slide 62

Slide 62

END Connect.Tech 2024