Why this publication exists...
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?
can 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.