I'm Ian Duncan, a full-stack developer living in The Hague.
I've been writing in Haskell and other functional programming languages professionally since 2014, working with companies from 3 to 1100 people in size to build reliable, debuggable, maintainable software.
I currently work at Mercury, where I spend a lot of time making it easier for our other engineers to write code that is correct by construction, resilient to failure, and easy to work with in production.
Before that, I served as Principal engineer at Forge Global, a private equity marketplace where I helped build a platform for trading private company shares. I worked with engineering executives to plan and execute our merger with SharesPost, helping to integrate our two engineering teams and train Rubyists in how to use Scala.
Work
-
- Company
- Mercury
- Role
- Stability Engineering
- Date
-
- Company
- Forge
- Role
- Principal Engineer
- Date
-
- Company
- Betterteam
- Role
- Jack of all trades
- Date
-
- Company
- Circle CI
- Role
- Engineer
- Date
-
- Company
- Faithlife
- Role
- Engineer
- Date
Talks
-
Mercury at Replay 2025 | Production Patterns for Incremental Temporal Adoption
Replay 2025 • March 2025
Colophon
The structure of this site, writing that ranges from rough notes to long-lived essays, each marked with a stability level and revised over time, owes a debt to Maggie Appleton and her work on digital gardens.
The visual language, monospace labels, status readouts, and all, is inspired by the design work at Oxide Computer Company.
Built with Astro. Set in IBM Plex Sans, Space Grotesk, and Martian Mono.