Lesson

36 articles · all categories

Latest Lesson articles

January 2024

What being an expert looks like

The blue sweater scene in 'Devil Wears Prada' is a masterclass in expertise

November 2023

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

September 2023

Move the rock

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

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

June 2023

When to throw away your code

Delete code when it stops providing value 💡 All code is a liability; context matters. Keep what solves problems, toss the rest.

April 2023

A backend service nobody can grok

a little case study from an upcoming book I'm writing with Manning about software rewrites

Own the outcome, not the work

Efficient problem-solving in engineering with a shift in perspective – focusing on user outcomes can lead to innovative solutions and change your approach to system design.

DRY vs SoC, a difficult choice

What is the essential difference between DRY and SoC principles in software engineering and how do you balance the two

March 2023

Coding is the easy part

Behind the scenes of a vendor migration project. What senior+ engineers do so you can focus on the code.

Clever technical hackery can't solve the wrong design

A simple change in perspective can help you overcome complex technical challenges and save time on future projects.

January 2023

My biggest React App performance boost was a backend change

Performance lives in the unlikliest of places. Follow the metrics.

October 2022

Why PATCH endpoints matter

A painful lesson from production that brought several engineers almost to tears: *Please* add PATCH endpoints to your public APIs.

September 2022

How better data modeling fixes your code

When your code feels hard, 9 times out of 10, the problem is with your data model. The signs are subtle.

July 2022

A work ritual that keeps me sane

A coworker asked me for tips on how to stay focused during the day. Here's what I said.

Write abstractions, not just code

Wherein I use a silly example to show why you need more than small reusable single purpose functions to write good software.

June 2022

Coding forces you to understand the problem

Programming translates fuzzy understanding into exacting specifications. That’s why it’s hard. The Illusion of Explanatory Depth reigns supreme

A lesson on expertise from a great mafia movie

You cannot make something good until you understand who you're making it for.

May 2022

Writing software is like kicking a can

Writing software is a playful process of exploration and discovery. Like a game of kick the can on a Sunday walk.

The Italian foods theory of bad software design 🍝

Spaghetti code – unstructured Ravioli code – too structured Lasagna code – layered wrong Minestrone software – unclear domains

Learnings about the future of the web from Reactathon

The first in-person conference in years! It was wonderful 🤩 - Remix is great - Serverless at edge is the future - GDPR does not play with 👆

April 2022

The role of a senior+ engineer

"Every product org should have a senior+ engineer whose job it is to run around and make everyone else more productive" 🤔 That IS the role of a senior+ engineer

March 2022

Saving time in UTC doesn't work and offsets aren't enough

Lessons from a painful outage with timezones, UTC offsets, and database clients that took a whole week to resolve.

A quick lesson in writing resilient code

On the backend anything can and will fail. How do you deal with that?

February 2022

Immutability isn't free

Or how we took an API endpoint from 16s to 3s.

How I used indie hacking to sponsor my own greencard

The longest project of my life

January 2022

The quickest way to fail a tech interview

No it's not a wrong answer or floundering with algorithms. Not even being nervous or shy or having a language barrier. Culture fit is the least of your worries if you make this mistake.

What to do when bugs are whack-a-mole

What do you do when every bug you fix creates 5 new bugs? You could laugh and move on, or realize it's a sign of bigger issues

December 2021

The Passion Paradox

burnout doesn't work the way you think

When it’s okay to work overtime

Not all overtime is bad overtime