List of management resources, and my thoughts about them.

Writing an essay

People from various backgrounds won't have ever had to write an essay. This is a simple format to write something well structured and engaging.

Annual Performance Reviews

As I've researched how to do annual reviews better, given that I find them hard. I've found there's growing articles and thought about how they're counter productive. None of them have provided a good answer for how to manage pay rises. In tech this matters, it's much easier to move jobs and get paid more, than get a pay rise. For a company, it's a false economy not increasing pay. When a good developer leaves you lose domain, and company knowledge. It also creates additional work and cost from recruitment. Recruiting good engineers is hard.

Annual Performance Reviews Ruin Everything
There is hardly an area of work, psychological safety, growth, collaboration or equity that annual performance reviews don’t undermine. Think I’m exaggerating? Have I got a (long) post for you…. I’ve…

Couples feedback and growth to remuneration ignoring the broader business context, being set up for success or failure. There was another article I read about this that went into more detail about how combining feedback and compensation into the same discussion was counter productive

The nub of the problem is it's almost impossible to evaluate if someone was given a poison chalice of a project or it was really easy. A large amount of this relates to the context they operate in, which isn't within their control.

There's also strong evidence that it re-inforces stereotypes, and disadvantages people that don't speak up or advocate for themselves.

Infrastructure

Don't use Kubernetes Yet - Matt Rickard

Start with containers built locally - strongly agree with this you get most of the benefits of re-producable build without having to spend the effort to set it up.

The benefit of running code with serverless compute e.g. AWS Lambda breaks down as soon as you have long running tasks or need something outside the constraints of the system. Often you'll then need a container service, at which point you've mitigated the benefits and now have two ways to run and deploy code.

For very small companies managed Kubernetes has always felt like a foot-gun, one click to deploy. As soon as something doesn't work perfectly you have all the complexity and someone needs to understand it.

However overtime you often end up building a custom API for defining services. In my case this looked like a terraform module, which handled defining services in ECS. It's badly documented and custom. It also doesn't integrate with the Kubernetes ecosystem which means we can't leverage existing tools for example to do blue/green deployments.