Learning Software Architecture

A blog post that answers a physicist's question about learning software design.

Author
matklad
Published
May 12, 2026
Kind
Personal blog post, a reply to an emailed question
Original
matklad.github.io/2026/05/12/software-architecture.html
Subject
Software design

What it is

The author, who writes as matklad, replies to a physicist who works on scientific code. The post gives two meta observations and then concrete recommendations.

What it says

What evidence it gives

The post offers anecdote and opinion. The main example is the author's work on rust-analyzer and IntelliJ Rust. The post quotes another engineer, neugierig, on social issues. It has no data or tests.

Interests and limits

This is one engineer's view, given to one asker. The author led the projects used as examples. The post admits plans changed in ways that were inconvenient. It does not test whether the advice works for others.