Itās almost the end of 2021. Three strong years of pandemic, and thereās no good end in sight.
What could be worse than a pandemic? Well just in the last few months we had a few scares:
We were not promised this. Software was supposed to help the world become betterā¦ and in many ways it has, but itās also made the world a worse place too.
Iāve been involved in some form of software development for over 13 years now. Recently it became clear to me that our whole industry just does not talk about failures enough. Software companies either sell services and have to maintain an SLA in fear of having to pay penalties; or they must make perfect software for others. Either of those results in keeping quiet about what actually happenedā¦
And so new generations of software engineers keep reinventing the same things and failing in the same ways; while existing generations are just endlessly substituting the old with the new.
So this Substack is my attempt at āFailures Worth Sharing.ā Some are from personal experience, some are anecdotal and some are fictitious. I aim to write short posts each week (Tuesdays š¤) so I encourage you to subscribe. Hereās some topics that would be appearing soon:
Donāt do it: Authentication
Why you will fail at building an authentication system, and what you should be doing instead.Donāt do it: Authorization
Why you will fail at building an authorization system, and what you should be doing instead.Surviving: Relational Databases
Some common failures when dealing with relational (SQL) databases and common-sense solutions.Understanding: The Three Horsemen of Scale
A simple mental model to help you think about scaling compute and storage.Understanding: Business Management for Programmers
Or ā what do the rest of the people at my company do?Surviving: Kubernetes
Kubernetescan beis hell. Here are some tips you can use to steer the ship in the right direction.Security: AWS IAM for Humans
AWS IAM is where security starts and ends in AWS. Avoid common mistakes with these few examples.
Donāt do it: RabbitMQ
Itās easy to fail with RabbitMQ, so hereās what you should do instead.Organizing: Hiring New Engineers
Why all interview systems fail and you shouldnāt overthink it.Back to basics: What was Git for again?
How to fail and succeed with Git at the same time.Opinion: On Netflix Culture
Why itās great and terrible at the same time.
Thatās about two-three months of topics thereā¦ Iām sure thereāll be more. If you have a suggestion for a topic or want to write for this publication Iām open to collaboration. Just mention it in comments or elsewhere.