DevOps for developers… Or maybe against them?

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

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

8

9

Not a single developer!

Next thing you know…

And this:

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

TE S T CO D E AN PL BU ILD

TE S T CO D E AN PL BU ILD

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

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

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

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

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

😕 😁

Dev Ops DevOps QA

Process People DevOps Tools

Productive People Empowered Teams DevOps Productive Tools

Empowered Teams ?!?! DevOps Kubernetes

The pain is real

Production system of your production systems

Developer Productivity Engineering DevOps Kubernetes Empowered Teams

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

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

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

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

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

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

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

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

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

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

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

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