Olá 👋

Hi there, I’m Hugo.

By day I'm a full-stack developer. At night I write Haskell to quiet the functional demons inside my head. For the last seven years I’ve been helping startups turn ideas into software.

I care about functional programming and type systems, and about code that’s a pleasure to come back to. Away from the keyboard I’m usually in the ocean or on a climbing wall.

Keep scrolling to learn more about me

Hugo, smiling, holding Pepita the chihuahua

How I got here

I’ve been writing software professionally for about seven years now, and recreationally for maybe 7 more. Programming has been a passion since I was 15, writing programs on my Texas-Instruments calculator.

Somewhere along the way I fell for functional programming. I found that types and immutability let me reason about a system instead of guessing at it. I write about that sort of thing on the blog.

These days I work with startups on full-stack. I like joining early and staying long enough to see the things I built getting traction.

When I’m not working I’m surfing, climbing, or working on my next unfinished coding project.

A few things about me

Hills I’m willing to die on

  1. AI code you generate is your code

    “The LLM wrote it” is not an excuse for an outage. I use them everywhere — brainstorming, drafting, review — but the diff ships under my name, and I don’t send anything out that I can’t explain line by line.

  2. Cleverness is a tax your teammates pay

    I will happily run a Brainfuck interpreter inside the typechecker for sport. In a codebase people have to maintain though it pays off to keep it simple stupid.

…and some things I was wrong about

  • That a test suite slows you down… No, it buys you the nerve to delete things.
  • That I could ship that feature in two days… Estimating development time has been an hard earned skill.