10 pieces of content I found interesting and useful
Tags: programming, architecture, learning
Published: 2021-06-01 09:36:30

---
title: 10 pieces of content I found interesting and useful
published: true
description: 
tags: programming,architecture,learning
//cover_image: https://direct_url_to_image.jpg
---
Here is a curated list of content about Software Engineering that I found interesting (and useful) during the past couple of months. They are not necessarily blog posts, as I found a lot of wisdom concentrated in short tweets, but also in long videos or even sites. There is a bit of everything.

1. [UK.GOV Service Manual](https://www.gov.uk/service-manual). This is typically one of my go-to sites when I need inspiration about how to write up good documentation for developers. One of my worries is that writing detailed guidelines and manuals does not seem to pay off: they become outdated the minute you release them and require way too many maintenance to keep them updated. Instead, I tend to favor principles and standards that persist in time. Well, this is exactly what this site is all about. It is a sophisticated and smart amalgamation of micro-sites full of software engineering guiding principles, covering the full spectrum from thoughtful design to efficient delivery. An absolute gem that led [Low Downe](https://twitter.com/LouDowne) to capture its essence in the book [_Good Services: How to design services that work_](https://www.goodreads.com/book/show/52472115-good-services)

2. [Grady Booch's definition of Software Architecture](https://twitter.com/Grady_Booch/status/1395478572962258945?s=20). Concise and spot on, and a good reminder of the importance of this discipline

3. [The Evolution of the Serverless-First Engineer](https://thenewstack.io/the-evolution-of-the-serverless-first-engineer/). Related to the previous point, it is interesting to see how the co-evolution of practices also introduces co-evolution of practicioners (or roles). [David Anderson's](https://twitter.com/davidand393) post talks about what are the attributions and skills that software engineers are developing in order to adopt a serverless-first mindset. Does this approach favour [Neflix's Engineering Culture](https://jobs.netflix.com/culture) where nobody has the Software Architect role? It is interesting how they rely on personal judgement instead of top-down control

4. [Gregor Hohpe's view on No-Code](https://twitter.com/ghohpe/status/1395240957528842241?s=20). I could not have said it better. Brilliant display of his thoughtful point of view

5. [Buy vs. Build Revisited, Part 4: You might be asking the wrong question](https://aws.amazon.com/blogs/enterprise-strategy/buy-vs-build-revisited-part-4-you-might-be-asking-the-wrong-question/). Talking about Gregor, I found the fourth part of his _Buy vs. Build_ series very interesting, introducing new dimensions on this traditional product management tradeoff

6. [The Wrong Abstraction](https://sandimetz.com/blog/2016/1/20/the-wrong-abstraction). This post is quite old, but it came to my mind again recently. Especially when you are building tools for developers (e.g. libraries, SDKs, APIs) you need to be careful with the abstractions you give them. As a rule of thumb, I tend to favor [Harvested Frameworks](https://martinfowler.com/bliki/HarvestedFramework.html) instead of [Foundation Frameworks](https://martinfowler.com/bliki/FoundationFramework.html)

7. [The (not so) hidden cost of sharing code between iOS and Android](https://dropbox.tech/mobile/the-not-so-hidden-cost-of-sharing-code-between-ios-and-android). Talking about wrong abstractions and their _duplication is far cheaper than the wrong abstraction_ corollary, this post is just a hands-on reaffirmation of how problematic that can be. But what I love the most about this post is that its principle can be applied to the cloud. Once you finished reading the article, read it again but from the cloud-native vs. portability prism. Exactly. That's why Serverless is so important

8. [Complexity-inducing Narratives](https://world.hey.com/jorge/complexity-inducing-narratives-0808911c). But _hey_, don't get too excited about Serverless. I hate technology absolutisms, and I understand that this paradigm is not a silver bullet. We have Basecamp's [Jorge Manrubia](https://twitter.com/jorgemanru) here to remind us to be skeptical and look for all the tradeoffs, always. Also, don't miss his [seminar about this topic](https://www.youtube.com/watch?v=GdXOXncUB9M) he presented at the _Universidad de Oviedo_ recently

9. [A new era of DevOps, powered by machine learning](https://www.allthingsdistributed.com/2021/05/devops-powered-by-machine-learning.html). AWS CTO Werner Vogels talks about how ML will impact our DevOps build and deploy pipelines during the coming years. Beyond all marketing around AWS products displayed in the article, I found the _code profiling_ concept very interesting, especially the part about knowing how much your code costs. You can call it FinOps (or many other fancy names) but this is exactly where the future of DevOps and SRE is going, co-evolving together with all the serverless-first software engineering principles

10. [Material Design Text Fields Are Badly Designed](https://www.smashingmagazine.com/2021/02/material-design-text-fields/). It has to be said, finally.

Hope all this content helps you as much as it did for me!