# DWMUAN - Pace Don't wake me up at night - Pace yourself *March 27, 2025*
## Agenda - What is Holiday Coding? - Inspiration - Dive in! - Recap and Q&A

Holiday Coding

Holiday coding is improving production systems by applying understanding through effort. It is a playful way of learning on the job in off-time.

Playful
Effort
Production

!Holiday Coding

Defined as what it is not.

No Exams
No Expectations
No straight path
## Inspiration and Hooks These are lessons learned, not laws. Ideas to spark your interest.
## Don't wake me up at night DWMUAN
Architect and Code in a Way so that: - there is freedom to fail - things can wait - things can recover
It's not about preventing a mistake. It's about greatly reducing the impact of mistakes. Which will lead to less mistakes. Because your work environment stays healthy and fun.

DWMUAN is the recognition that

“Everything fails, all the time.”
Werner Vogels, CTO Amazon
“Everything that can go wrong, will go wrong.”
Edward A. Murphy jr.
# Freedom & Play - Not just on your machine, but throughout the ecosystem. - Safe Environment - F'around and Find out - Learning!
DWMUAN is a lens through which you can judge your system and processes
## Other Lenses: - Financial - Speed of Feature Delivery - Service Level Agreements - Fun - Stress - DWMUAN
## Classic Example of DWMUAN adjustments - Your Machine - Development - Staging - Acceptance - Pre-production - Production
## DWMUAN influences decisions in - Architecture - Code - Logs, Retention - Convenience - Monitor - Process
DWMUAN is primarily concerned with maintaining the right level of freedom and play, in production.
# Sub-topics - Pace Layering - Graceful Degradation - Queues and Idempotence - Rollercoaster migrations - click, click, click. - Buy yourself out of trouble scaling
# Shearing Layers of Change
## Policies, Risk & Enterprise Change Management ≈ Risk Management Defining policies per pace layer, saves a lot of bureaucracy.
## What is the rate of change within your system? - Data - Content - Code & Libraries - Infrastructure - Architecture
## Separate Layers that are paced different
## Architect and Code for Change Frequency
## Example: Marketing vs Product Best not to deploy your marketing website with your product and vice versa.
## Self Service of (internal) users, vs Creating an Engineering Ticket.
## Code through the lens of Pace Layers - Inline Code - Functions - Objects - Modules - Libraries - Repositories - Stacks - (AWS) Accounts - (AWS) Organizations
## Layering the Blend of Code & Infra - CLI command - Script on Your Machine - Console based Lambda - Split Lambdas / Step Function - CDK Stack (including Policies)
## Layers as a function of Maturity - POC - fast, slap dash. - Active - somewhere in the middle - Legacy - frozen in place
## Moving Between Pace Layers is NOT technical debt It is how systems learn after they have been built. Debt holds much too negative a connotation.
## Looking through the Lens of Pace
## Git Commits tell a story - Take a look at the commit message or PR - See how many files need changing for that feature - What would you reasonably expect?
## Holiday Wanderings
## Inspiration - Check PRs and Commits - Message vs files touched - Check Github Actions - Check Graphs
## Things to Consider - Can you speed up moving into a faster layer? - Can you sleep better moving into a slower layer? - Can you de-risk separating something? - Can you increase comfort merging something?
# Your Turn
## Discussion Time - What inspired you? - Where did you wander?
# Thank You!