DevOps for developers (or maybe against them?!)

A presentation at Devoxx in October 2024 in Antwerp, Belgium by Baruch Sadogursky

Slide 1

Slide 1

DevOps for developers… Or maybe against them?

Slide 2

Slide 2

Slide 3

Slide 3

Slide 4

Slide 4

Slide 5

Slide 5

Baruch Sadogursky - @jbaru ch × Developer Productivity Advocate × Gradle Inc × Development -> DevOps -> #DPE

Slide 6

Slide 6

shownotes × × × × speaking.jbaru.ch Slides Video All the links!

Slide 7

Slide 7

8

Slide 8

Slide 8

9

Slide 9

Slide 9

Not a single developer!

Slide 10

Slide 10

Slide 11

Slide 11

Slide 12

Slide 12

Slide 13

Slide 13

Slide 14

Slide 14

Slide 15

Slide 15

Slide 16

Slide 16

Next thing you know…

Slide 17

Slide 17

And this:

Slide 18

Slide 18

Slide 19

Slide 19

Parrot learns how to ask “Why?” repeatedly and is promoted to Engineering Manager

Slide 20

Slide 20

Slide 21

Slide 21

Slide 22

Slide 22

TE S T CO D E AN PL BU ILD

Slide 23

Slide 23

TE S T CO D E AN PL BU ILD

Slide 24

Slide 24

Slide 25

Slide 25

Slide 26

Slide 26

Types of work according to d evops Planned Work Business projects or new features Internal Projects Server migrations, software updates and so on Changes Driven by feedback on completed work Unplanned Work Support escalations and emergency outages

Slide 27

Slide 27

Slide 28

Slide 28

Types of work according to d New Features Writing code Refactoring Writing code Bug Fixes Writing code evelopers

Slide 29

Slide 29

Slide 30

Slide 30

Slide 31

Slide 31

Slide 32

Slide 32

Software craft-person definit ion of done × We got what they × Tests - ✔ want × QA are happy × Clear code × Team lead is happy × Easy to deploy × Product owner is × Non-func reqs – ✔ happy – (i.e. customer is happy) × No new tech dept

Slide 33

Slide 33

Slide 34

Slide 34

Slide 35

Slide 35

Slide 36

Slide 36

Slide 37

Slide 37

Slide 38

Slide 38

Slide 39

Slide 39

Slide 40

Slide 40

Slide 41

Slide 41

Slide 42

Slide 42

Slide 43

Slide 43

Slide 44

Slide 44

Software craft-person definit ion of done × We got what they × Tests - ✔ want × QA are happy × Clear code × Team lead is happy × Easy to deploy × Product owner is × Non-func reqs – ✔ happy – (i.e. customer is happy) × No new tech dept × It’s DevOps ready

Slide 45

Slide 45

Devops-ready software (a.k.a . Cloud-native) × Clear deployment × Observability plan × Feature flags × Stable and fast build × Backwards and × Stateless code forward-compatible × Fast startup and × Event streaming stop

Slide 46

Slide 46

Slide 47

Slide 47

Slide 48

Slide 48

Slide 49

Slide 49

😕 😁

Slide 50

Slide 50

Dev Ops DevOps QA

Slide 51

Slide 51

Process People DevOps Tools

Slide 52

Slide 52

Productive People Empowered Teams DevOps Productive Tools

Slide 53

Slide 53

Empowered Teams ?!?! DevOps Kubernetes

Slide 54

Slide 54

The pain is real

Slide 55

Slide 55

Slide 56

Slide 56

Production system of your production systems

Slide 57

Slide 57

Developer Productivity Engineering DevOps Kubernetes Empowered Teams

Slide 58

Slide 58

Developer Productivity Enginee Foster Faster Feedback Collaborate through Effective Tooling Eliminate Toil for Developers Dedicated Organizational Mindset ring Embrace Rigorous Observability for Proactive Improvement Prioritize Automation and Eliminate Bottlenecks Outcomes Over Output

Slide 59

Slide 59

Devops against developers? × DevOps mainly solves Ops’ concerns by making processes and ops tools more productive × Developer Productivity Engineering makes devs more productive × This is how we bring developers into the fold of DevOps

Slide 60

Slide 60

Developer Productivity Enginee Foster Faster Feedback Collaborate through Effective Tooling Eliminate Toil for Developers Dedicated Organizational Mindset ring Embrace Rigorous Observability for Proactive Improvement Prioritize Automation and Eliminate Bottlenecks Outcomes Over Output

Slide 61

Slide 61

feedback efficiency × × × × IDE: Sub-seconds (I type, it marks it red) Build: Seconds CI: Minutes Production: Hours/Days

Slide 62

Slide 62

Reverse dependency on distance from developers IDE Build CI Production Feedback Time Faster Slower Distance from Developers Expected Real

Slide 63

Slide 63

Two types of feedback x e.g., CI/CD x we never wait for it x results are distracting x e.g., build x we’ll wait for it in the flow x we’ll be pissed off when it’s slow

Slide 64

Slide 64

Reverse dependency on distance from developers Faster IDE Build CI Feedback Time Commit time synchronous asynchronous Slower Distance from Developers Production

Slide 65

Slide 65

How can we engineer less con tex × × × × × t switches? Measure local build times! Avoid building and testing what didn’t change Speed up what can’t be avoided Fight evil flaky tests! Watch your build like a hawk for degradations

Slide 66

Slide 66

What you can do today (for fr ee × × × × × ) Parallel local Local caching Remote caching* Build Scans Win Prizes (a.k.a. speed challenge)

Slide 67

Slide 67

What your company should pa y for × All the books (see shownotes) × Top development hardware × Develocity (or similar)

Slide 68

Slide 68

Learn more and try it today! × × × × Take the Gradle/Maven Speed Challenge Be DPE Agent of Change! Read the DPE Handbook Watch the DPE Summit videos x speaking.jbaru.ch

Slide 69

Slide 69

Slide 70

Slide 70

THANKS! Q&A and Twitter X/Bsky/Mastodon/LinkedIn ads: x @jbaruch x #Devoxx x speaking.jbaru.ch