Skip to content

Warning

NOTE: This site is under development. There is plenty left to write!

Welcome!

This is a place where I dump my personal thoughts on "standards for software engineering". These are not universal, but just a repository of available standards, why you might want to use them, as well as overviews to help tie it together.

Project Lifecycle

Walkthroughs for individual phases of a software project. Links to all of the relevant standards and explains why we need them.

Standards

Read these for specific recommendations. These will always link to the "why". Not all of these are applicable to all software projects.

Principles

These are short statements to help you avoid pitfalls and identify opportunities. Explanations and examples will be provided over time.

System Archetypes

These are types of systems (and libraries!) commonly seen in the wild. Note that these will be skewed toward megacorporations and ML, since the majority of my work experience is focused on these.

Design Patterns

These are patterns that are not specific to a certain use case, but serve as fundamental ways to structure software.

Info

You may find that my design patterns are not as minimal as the commonly known ones. This is because I have specific preferences on how we should (or should not) combine them. You'll see a strong preference for strong isolation wherever possible.