Articles

Software engineering lessons from production, raw and honest from the heart — almost 20 years of them. Jump to a year in the sidebar, or browse categories and curated collections.

December 2023

The 3 budgets

Software engineering salaries come from one of 3 budgets. Which budget pays your salary shapes your day-to-day and influences your career trajectory

People like me are why you shouldn't run a hosting company

A daring adventure of manipulating GET parameters in a NextJS 14 project, pushing hosting limits and avoiding the need for data storage. Dive into the chaos of compressing inputs to keep the project delightfully storage-free.

Forget Bad Code, Focus on the System – React Summit talk

Wanna see me ride a flamingo wearing a cowboy hat? You're in luck! That was my outfit for a deeply technical talk to 700+ people at React Summit US 2023 🤘

What I learned from Do Hard Things

Do Hard Things is a recent book from an author of my favorite book about burnout (Peak Performance). It talks about why our traditional view of toughness is wrong.

Keeping a high engineering culture, tips from the field

I asked engineers how they keep a high quality culture. These are the takeaways

November 2023

Askers vs. Guessers

Askers vs Guessers: the culture clash that explains half the conflicts you've ever had

Let juniors speak first

Want an engaged engineering team? Let juniors speak first.

Hard work doesn’t scale

Overtraining won't always get you to the finish line faster. Growth comes in cycles - rest, push hard, recover. Less can be more when it comes to achieving your goals

The efficacy of TypeScript

TypeScript may streamline code navigation and catch semantic errors, but it doesn't guarantee fewer bugs or faster fixes.

What to put on your resumé

Position yourself as an expert and stand out in the job market

Don't neglect your upgrades

Regular software updates may seem tedious, but they save you from the nightmare of a massive overhaul down the line.

How to go from Senior to Lead

Transitioning from Senior to Lead Engineer isn't just about technical prowess, but strategic thinking, soft skills, and going beyond your role. And remember, strong individual contributions matter!

October 2023

I tried generative AI on lots of data and we're not quite there yet

Lessons learned from running GPT-4 on lots of data using the same task.

TypeScript runtime vs types at run-time

Understanding the nuances of TypeScript: it adds static types to JavaScript, reducing bugs by checking code validity pre-run. But imagine if we had types at run-time too - validating inputs, enhancing error messages. A dream, but a nice one.

Halfway there

Realizing I'm statistically halfway through life at 36. Time is the one thing you can't get more of

Bun – first impressions

I've been using Bun in a few side-projects and I like it a lot

When's the last time you tried something new?

Dive into this engaging exploration of hands-on learning from pottery to programming. Discover how embracing new experiences can enhance personal growth and improve your coding skills.

AI Engineer Summit report

AI is the easy part of the equation. The real game changers in #AIEngineering are mastering data engineering, handling non-deterministic outputs, and nailing product development.

A few thoughts on tRPC

Discover tRPC's potential in building end-to-end type safe RPC APIs in this insightful blog post. Perfect for developers seeking innovative solutions for server-client separation in webapp development.

Solve the problem, not a different more difficult problem

Solve the problem at hand, not the one you imagine might come next. A simple fix now often beats a complex one later.

September 2023

Ways to ask but why

Better ways to handle situations where the code makes you go O.o

2274 miles in 9 days on a cafe racer

These pics are epic and you should see them

Trust your wings, not the market

Success in your career doesn't come from relying on the market or job stability. It comes from trusting your own wings - having a clear vision, treating work as a value exchange, leveraging your skills, and owning your path

Move the rock

it's about noticing the rocks that could trip others and taking the initiative to move them

Similarity search with pgvector and Supabase

Explore the power of pgvector and Supabase for efficient similarity search in this comprehensive guide. Keep vector data next to your business data for efficient queries and less overhead.

August 2023

Why write

Regular writing is a secret superpower! Sharpens your thoughts, boosts your career, and helps you become an authority in your field. Don't pretend to be an expert, just share your experiences. Your insights are gold

Avoid spooky action at a distance

Shared state in programming isn't the enemy, it's unclear dependencies that tangle your code. Keep it clean with explicit state dependencies and strict access guidelines

More on how many years to senior

Lots of readers wrote in with questions and comments about How many years to senior engineer?. Here's some additional thoughts.

How many years to senior engineer?

Becoming a senior engineer isn't about clocking years, but about depth and breadth of experience. Work in diverse teams, stick with a codebase for 3+ years, and take on projects with real stakes.

Life is Poker

Certainty is an illusion, only probabilities are real