Limit cognitive waste when writing code

The legacy of SoCraTes, 7th edition , Sep 22, 2021

I presented at The Legacy of SoCraTes 7th edition and this is references and notes to my presentation.

Presentation abstract

Pain from stubbing a toe, on a bureau we placed badly, might make us appreciate the professional interior designer. What colors to use, different kinds of light, and how to plan for movement in space, is a science.

What pains are caused by software lacking in interior design? Are there parallels between the design of doors and function calls? Can we, as software developers and designers, also use science to write code that doesn’t hurt?

This talk uses analogies from interior design to present ways to write code better. It is based on cognition, how our brain navigates this word. The goal is to help you avoid the software equivalent of toe-stubbing , and build a codebase that enables your everyday work. It might still take effort to get things done, but less energy will be wasted on things that can be solved with better design. There are no code examples and the content aims to be language agnostic.


Things I mention, or that are good supplements to the talk:

An article on kitchen research by Adams and Toromanoff

The design of everyday things

“The book” on usability. It explains concepts as natural affordance and other design concepts. It is older than the internet as we know it, but highly relevant.

The KonMari method by Marie Kondo

Livable Code by Sarah Mei A presentation talking about how the code is our work environment.

Naming as a process by Arlo at Deep Roots. Blogpost on naming for software.

Software design X-rays by Adam Tornhill A book about using version control data to understand the codebase better.

The tweet from JB Rainsberger on indirection and abstraction.