Posts Tagged "Engineering"

C-Style Thinking vs Go-Style Thinking

You can identify a programmer's native language by the tools they build. Go and Perl natives build tools with sane defaults that work out of the box. C and C++ natives build tools that require you to understand the entire problem space before you can do anything at all.

'Can' vs 'Does'

The difference between a system that can fail and a system that does fail is time. Murphy's Law is not a joke. It is a design constraint. Every moving part you add is another bet against the house, and the house always wins.

The Best Dog Trainer in the World - Or Why Getting Better Isn't Helping

When something has been failing for a while despite competent people working on it, the problem is almost certainly not competence. Before you optimize, ask yourself whether you are training a dog or a cat.

Engineering Standards

Security, reliability, and compliance are non-negotiable. A comprehensive guide to Golang coding standards, testing practices, infrastructure patterns, observability, and the philosophy of craftsmanship in software engineering.

FITFO - Figure It The (Fun?) Out

A reflection on how learning to program as a small business owner built the FITFO skill -- the ability to figure things out from scratch -- which became the foundation of a DevOps career.

Golang Design Tips

Many of Golang's unwritten rules can be summed up by the Go Proverbs. Here are practical extensions and recommendations for writing idiomatic, maintainable Go code.

The Documentation Problem

Documentation is like pizza -- when it is good, it is really good, and when it is bad, it is still pizza. A perfect documentation system makes it more likely that docs will be written and maintained than not.

Coding Standards (especially in Golang)

This is about design philosophy and how to approach your work. Every line of code should be to a standard you would be proud to publish under your own name, because git is forever.