Michael Feathers on Object Oriented and Functional approaches to programming

This clip popped up in my Youtube feed and piqued my interest. A snippet of a longer conversation between Dave Farley and Michael Feathers, in this clip Michael Feathers talks about how OOP and FP can look quite similar, and goes on to talk about the “surface area” of tests and how that relates to the traditional OO concept of separation of concerns. It’s a nice and nerdy 10 minutes.

Monday Links 7

In May, Lee Robinson wrote The Story of Heroku documenting the history of the service from browser-based editor for Rails apps to the low-friction infrastructure support and dead simple git push deployment process. Lee Robinson notes that in 2022 a lot of folks who loved the idea of not having to care about infrastructure are now re-evaluating their options in the face of better tooling and more and more focus on microservices. Last week Heroku announced it is discontinuing free plans.

Did you know that resonant frequencies in Janet Jackson’s song Rhythm Nation could cause laptops with spinning metal hard drives to crash? That reminded me of Brendan Gregg’s advice against yelling at servers: “You’ll discourage them.”

Productivity Engineering - Surviving DevOps, a talk by Mike McGarr

Modern software engineering is changed from when I were a lad. The compile it, test it, and throw it over the wall to ops lifecycle is a thing of the past. Dev teams own their code from soup to nuts, have many more tools at their disposal, and much more autonomy in how they build and manage things. Yay!

With all this power comes complexity, inconsistency, and a heavier “cognitive load” on development teams. Boo!

This talk by Mike McGarr addresses those challenges in more depth and discusses how Netflix organise to meet the challenges. Like many talks about how Netflix works, the principles and patterns here are useful food for thought for any company that has a lot of software.