Software Engineering

Engineering management

Keeping the Lights On: The On-Call Process that Works - The New Stack looks like a honest (“I won’t go so far as to say that our engineers enjoy being on call”) article on a sensitive topic: setting an on-call process. Some highlights:

  • “Every alert should have a runbook”.
  • Not mandatory outside working hours, but mandatory for all engineers during normal shifts (for ownership, knowledge sharing and reduced friction).

One of my most frequent advices/requests to people is making documentation, many times for designing and presenting projects or proposals. Escribiendo una propuesta técnica - by Félix López . It’s not only about how but about why. I find many Engineers, even senior ones, who feel puzzled when faced the need to explain the motivations. Or a lot of ambiguity and uncertainties instead of direct, concise language.

If you need a framework for approaching conversations from an open mind even if you have strong opinions, please read Marco mental para conversaciones productivas: Advocacy vs Inquiry by Marga Seco. This resonated to me in a recent conversation, where the other person didn’t share my point of view regarding the convenience to expose with documents and goals some technical proposals, even small ones (not randomly, also linked with my previous recommendation). Even though I didn’t change my mind regarding the need, I learnt a lot from his standpoint, even triggering a couple of initiatives that I’m going to advocate to in my company.

Speaking of strong opinions, How many direct reports should a manager have? is that kind of article that adds some color to one. At the time of writing this (it’s expected to change soon), my span of control is 17, but my direct context in my organization includes no less than 6 more people, including bosses, PMs, PDs and TLs. This is a humongous amount of cognitive load and work that has should’ve moved me beyond the “coordinator” area in the Number of reports chart in the article. Although I’m definitely having impact, when I balance towards getting deeper on topics, it’s always with a cost.

Regarding processes, or meta-processes, The Musk Algorithm is interesting. Questioning + deletion + simplification + optimization + accelerate cycle time + automate really resonates with, for example, going from Scrum to Kanban ;-). And I definitely have to apply it as soon as tomorrow to my daily routine, where I add more things than the ones I delete.

Microsoft has evolved from the toxic ranking of employees as their approach to performance (I wouldn’t even call that a review) to a flexible, individual, dynamic one based in goals, 360 feedback, and constant tracking: Microsoft’s New Approach to Performance Management.

Trolling microservices

I might’ve done about 40 interviews in the last months, and one of my favourite questions is “why did you pick microservices?” for candidates that did in a given project (most of them!). Death by a thousand microservices is a nice article about the topic. I love this sentence:

These air-tight developer bubbles are a wrecking ball on the entire industry, and it takes about a full decade to swing.

In addition to the mentioned factors for the bubble (easy money, JS developers quickly becoming full stack, and FAANG veterans overengineering small companies) I’d add one: the rotation pace. Almost nobody stays in the same company long enough for dealing with the problems they introduced. There’s a myriad of people hopping between jobs without maintaining the systems they built.

Back in the days when the tech industry was not such a bloated farce, distributed systems were respected, feared, and generally avoided - reserved only as the weapon of last resort for particularly gnarly problems. Everything with a distributed system becomes more challenging and time-consuming - development, debugging, deployment, testing, resilience. (…) The Dockers and the Kuberneteses of the world did not magically take away the inherent complexity of a distributed setup.

See:

… the startups we audited that are now doing the best usually had an almost brazenly ‘Keep It Simple’ approach to engineering.

Another classic:

It’s common for teams to pretend like they are doing “web scale”, hiding behind libraries, ORMs, and cache - confident in their expertise (they crushed that Leetcode!), yet they may not even be aware of database indexing basics.

PostgreSQL

Join order: how to force it in PostgreSQL - CYBERTEC is a very interesting article on a dark topic involving magic numbers (such as the threshold where a genetic algorithm is chosen).

Music

In August I totally skipped Games, Music and Reads sections, and that’s not accurate (and I want them to be here!), so while the Games one can’t return (yet), there’s still music and reads in my life.

August is traditionally a month for music festivals, but with a toddler that’s something I can’t afford (yet), and that even included my loved Tonal, but we still attended a nice concert with some of the best local bands: Levitants, Arizona Baby and Siloe.

My recent scrobbles balance from poetry (Viva Belgrado, Christina Rosenvinge) to pureta indie (Los Punsetes, Manos de Topo, TAB), overlapping shouting (Viva Belgrado, TAB). Last Saturday, my older daughter told me to sing Manos de Topo and play the xylophone while she played melodica. I love her :luc_heart:.

Reads

I’m behind the schedule, but I managed to find time for “my first Bolaño”, Estrella distante. Very good!