The DevOps Digest: 2022-04-15
This week, we cover Obvious Errors, Containers, Engineering Systems, Pattern Matching, Modern Software Engineering and Outages
?Enjoy!
?Quote: Obvious Errors
There are two methods in software design. One is to make the program so simple, there are obviously no errors. The other is to make it so complicated, there are no obvious errors.
-Tony Hoare
?Tweet: Containers will solve all your problems!!
?Technical Article/Presentation: Moving to 1ES at Microsoft
?This presentation by Sam Guckenheimer from Microsoft is a fantastic look into creating a common engineering system across many teams.?Before 1ES,every team had a different engineering system and there was little sharing across teams.?There were over 300 XML parsers!?1ES brought a set of common tools and shared components fostering reuse across teams.?It is both a technological revolution and a massive cultural change.?If you have used Azure DevOps, you are also benefitting from a lot of?this great work!
LinkedIn: Note that this video is only available by subscribing to the DevOps Enterprise Summit Video Library. A free membership(10 videos/month) is available as well as individual and corporate memberships.
?IT Revolution announced 2022 Conference Dates. I'm happy to say that the flagship event will be back in Las Vegas this year and in person!??
?DOES Europe is less than a month away! The programming committee has been hard at work selecting talks and the speakers have been hard at work preparing. Get your tickets!
2022 Conference Dates
DevOps Enterprise Summit Virtual - Europe
10-12 May 2022?|??Registration Open?
?
DevOps Enterprise Summit Virtual - US
August 2-4, 2022
?
DevOps Enterprise Summit?US Flagship Event?
The Cosmopolitan of?Las?Vegas
October 18-20, 2022
?
Podcast: Product Thinking - Melissa Perri?/ Identifying Patterns in Product with John Cutler
?This is my favorite podcast for information about Product Management. Melissa is one of the foremost leaders on Product Management practices.?She writes quite a bit(see the Build Trap), runs The Product Institute(online training for Product Managers) as well as producing this great podcast.
?The Product Thinking Podcast has two different formats.?One format features leaders from the industry who Melissa Interviews.?The other format is called "Dear Melissa" where Melissa fields questions from listeners.?I find her insight and approach enlightening and refreshing.
In this Podcast, Melissa talks with John Cutler who is a product evangelist from Amplitude.?John is one of the foremost thinkers on cross functional product development.?He has a great weekly newsletter that you can get to below. Melissa and John discuss pattern recognition that comes from decades of seeing lots of problems and the tacit knowledge you build up from seeing these problems from many angles.?They also hit on how folks who see these problems can be frustrated in communicating these patterns to others that haven't seen them.?They need to step back and think about how they learned it and teach others.
Some other links to check out:
领英推荐
?
Books: Modern Software Engineering / 1: Introduction
Dave Farley is a thought leader on Continuous Deliver and TDD.?His works and content have literally transformed the industry and improved the way web build and release software.?
Modern Software Development is laid out in 4 parts: 1) What is Software Engineering, 2) Optimizing For Learning, 3) Optimizing for Managing Complexity, 4) Tools to Support Engineering in Software
10 Techniques that are vital
"I believe that the approach to software development that I describe in this book represents such a paradigm shift. It provides us with a new perspective on what it is that we do and how we do it."
-Dave Farley
My commentary:
I fell in love with writing software as a kid because it allowed me to experiment with many ideas quickly.?Software allowed me to build theories and try them out and then throw them away with very little cost.?Later on, during my startup years I used these same techniques to iterate quickly with customers to discover both the requirements and solutions to solve for those requirements.?For me, this was the most satisfying and accurate way to build software.?In later years, in larger companies I was introduced to waterfall and told it "was a better way".?All I knew at the time was that waterfall sucked the fun and experimentation out of building software. The fun part was the discovery, experimentation and iteration.?Waterfall took that away and made draconian assumptions that coding was a menial activity and design was something that could be taken care of up front.?
I love what Dave is covering here.?He brings back the idea that Software Engineering is an iterative, experimentation driven process based in scientific methods. Not only can it be fun, but it can produce substantially better outcomes in speed, accuracy and quality.
This discussion also brings back one of the most powerful papers on the subject from Peter Naur written in 1985: Programming as Theory Building.?In the article, Peter argues that programming is an activity to test theories.
From the paper:
"It is argued that the primary aim of programming is to have the programmers build a theory of the way the matters at hand may be supported by the execution of a program. Further, on this view the notion of a programming method, understood as a set of rules of procedure to be followed by the programmer, is based on invalid assumptions and so has to be rejected."
Some links:
?
Something Else: Inside the Longest Atlassian Outage of All Time
I feel for the folks over at Atlassian.?I'm sending HugOps their way….?Gergely Orosz had a very good writeup on his Pragmatic Engineer newsletter.?
Some learnings:
For more on how to deal with incidents more effectively, see our paper here: A Framework for Incident Response (itrevolution.com)