The Rise of the Non-Technical Engineer

February 19, 2026 • ☕️ 5 min read

TechnologySoftware EngineeringEngineering ManagementProduct

LLMs collapsed the beginner-to-intermediate curve in software. The result isn't just faster engineers. It's new engineers: a CFO, a dentist, a chef, a marketer. And they're going to want an API key.

The 12-Factor Process

February 12, 2026 • ☕️ 5 min read

TechnologySoftware EngineeringAIEngineering Management

Engineers don't make products anymore. They make product factories. Here are 12 factors for engineering teams built around that shift.

On Luck

January 19, 2026 • ☕️ 5 min read

LifeMental Models

This started as an email to my daughter about why fear holds us back. It turned into a probability argument for why the winning strategy in modern life isn't perfection, it's volume.

My wish for you, darling

September 30, 2025 • ☕️ 5 min read

LifeMental Models

An open letter to my daughter about happiness, games, and roses.

Integrate the Planet

March 20, 2025 • ☕️ 5 min read

TalkAIAirbyteData Engineering

Talk at move(data), San Francisco 2025

Grassroots Cycle Planning

December 17, 2024 • ☕️ 5 min read

Engineering ManagementLeadership

A collaborative approach to aligning stakeholder goals and engineering priorities

Continents, Islands, and MVPs

October 26, 2024 • ☕️ 5 min read

Product DevelopmentProject Management

A structured approach to defining features from vision to implementation

Mental Models for Programming

April 19, 2024 • ☕️ 5 min read

Functional ProgrammingMental Models

A comprehensive guide to mental models in software development, from code to business context

Mental Models for Simpler Code

January 22, 2024 • ☕️ 5 min read

Functional ProgrammingMental Models

Functional programming ideas that help reduce cognitive load and make systems easier to understand.

Creating Context: Loading Your Life into a Vector Database

November 15, 2023 • ☕️ 5 min read

TalkAIVector DatabaseMCP

Talk at Scale By The Bay, Oakland 2023

Work Culture for Distributed Teams

February 19, 2020 • ☕️ 5 min read

TeamsRemoteCulture

Life doesn't fall neatly into a 9-5 for everyone. There are appointments, sick children, dry cleaning, night owls and early birds. Life is hectic, people are different. We all know this. So why don't we build systems to account for this?

What if humans are deterministic?

November 11, 2019 • ☕️ 5 min read

AdvertisingFissionPrivacyWeb3

What are we if we're not dictating our own thoughts and outcomes? The saying is "I think therefore I am". Should it now be "I'm statistically significant therefore I'm not"?

Let Business Write Business Logic [Talk]

November 8, 2019 • ☕️ 5 min read

TalkWeb DevelopmentSoftware DevelopmentGrammarsElixirErlangYeccLeex

Talk at The Big Elixir, New Orleans 2019

Fission Live

October 19, 2019 • ☕️ 5 min read

TalkIPFSDistributed SystemsCLIHaskell

Talk at Diffusion, Berlin 2019

Let Business Write Business Logic [Blog]

May 31, 2019 • ☕️ 5 min read

Web DevelopmentSoftware DevelopmentGrammarsElixirErlangYeccLeex

Using Erlangs built-in lexing and parsing libraries we can easily define restricted and safe grammars that will let your business team define simple rules in your system. Essentially offloading arbirtrary business logic to the business team themselves.

How to write a super fast link shortener with Mnesia

September 18, 2018 • ☕️ 5 min read

Web DevelopmentSoftware DevelopmentProgrammingElixirTech

Elixir, the Phoenix framework, and the Erlang VM allows us to make production ready systems fast, easily, and with very few moving parts. At this point, you can see where we’re going with this. Let’s…

How to read and write Mindful Minutes from iOS’s HealthKit

August 6, 2018 • ☕️ 5 min read

IOSSoftware DevelopmentProgrammingWeb DevelopmentTech

I absolutely love the route Apple has been going with their iOS SDK’s. (Their hardware not so much). Apple’s focus on security has allowed it to become a reliable company to trust your sensitive…

Writing a Reverse Proxy in just one line with Go

July 12, 2018 • ☕️ 5 min read

GoGoogleSoftware DevelopmentReverse ProxyWriting A Reverse Proxy

Leave your programming language hang ups at the door and come admire the best standard library I’ve ever come across. Choosing a Programming Language for a project shouldn’t be like declaring who…

Remote Engineer: What’s in my Bag

May 4, 2018 • ☕️ 5 min read

ProductivityTravelSoftware DevelopmentWorkRemote Working

Not one to hide this opinion: I am a huge fan of remote work! I’m very vocal about my belief that this trend towards more distributed workplaces has no choice but to continue. However I’m not naive…

Setting up apollo-link-state for Multiple Stores

April 23, 2018 • ☕️ 5 min read

ReactGraphQLApolloJavaScriptSoftware Development

I want to touch on how to set up apollo-link-state to allow for support of multiple stores without interfering with one another. It boils down to that CreateClientState expects only one value for…

Storing Local State in React with apollo-link-state

April 23, 2018 • ☕️ 5 min read

ReactGraphQLApolloJavaScriptSoftware Development

GraphQL and its ecosystem are awesome and Apollo makes using it a pleasure. If you are writing a javascript application today I can’t stress enough how much simpler these two technologies will make…

Get notified of user signups and plan changes automatically using Postgres & Phoenix PubSub

April 2, 2018 • ☕️ 5 min read

ElixirPhoenix FrameworkNotificationsPostgresSoftware Development

A lot of time you need to make a system that can send out notifications to yourself or other users based on events, specifically events related to changes in your database. Postgres and Phoenix make…