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.

May 2023

How I turned 15 years of writing into a chatbot

What do you do with 15 years of your writing history when LLMs hit the scene? A chatbot!

Your manager can be a peer

This collaborative approach enhances both people and technical aspects of a team, leading to a more efficient work environment.

You can't fix the wrong abstraction

Unlock the secrets to combating architectural complexity in software development and learn to identify and fix the wrong abstraction. Boost productivity, reduce bugs, and retain more staff.

Eight things to know about LLMs

eightthings.pdf is the best paper I've read on what's going on in AI right now and why everyone is excited. Here's my summary.

Hug your manager

Behind every thriving team is a dedicated manager who shields them from corporate chaos, sacrificing their own well-being for the team's success.

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.

Your background won't get you the job

Skills and experience matter more than prestigious schools and employers.

Insights for interviews from Kahneman's Noise

everything people say is bad about modern tech interviews is actually good 🤯

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

I went to "AI Woodstock" and wow

"AI Woodstock" was a HuggingFace meetup showcasing groundbreaking AI projects and innovations. Here are some of my favs.

March 2023

Software engineers, exercise, health, and productivity

Don't worry about the hype, just get some sun, some rest, and remember to hydrate.

The programming tutorial SEO industry is dead

20 years ago greybeards laughed at us for Googling. Now they laugh when we ask ChatGPT. But the leverage is 🚀

Coding is the easy part

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

Are you annoyed by the extra space after your name [name|]?

Behind the scenes of a tiny bug that survive 919 days

Done means Shipped

Don't overthink, just ship

Build semantic search in an afternoon? Yep 🤯

Learn how to build a powerful semantic search engine in just 2 hours with the OpenAI API.

"If you're so good, why aren't you making 600k at BigTech?"

Swiz shares why he's not making the big bucks at a tech giant, from the soul-crushing grind of corporate to the funny money of tech compensation.

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.

Own your career like an expert

You can achieve more with your career by leveraging your experience, advice, and ability to clear blockers, rather than just working hard. This approach of "force multiplying" your team can create more value than working alone

February 2023

The backend iceberg

It takes an entire ecosystem to power the backend of a software system! Complex networks of processes, data storage, analytics, and more are often underestimated when looking at a software system from the frontend

Building browser extensions with NextJS

NextJS can be used to build browser extensions. This is a novel way of building extensions that allows developers to use familiar tools and technologies. Here's how

Why take a bigger role for no bump in pay

Luck is a function of the work you do and how many people know about it? Expand your visibility, take on impactful work, and increase your luck and career capital

January 2023

My biggest React App performance boost was a backend change

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

Squash merge? Really!?

Learn why squash merging is your friend - from hating it to loving it! Squash merging helps you keep moving and focus on the work instead of recording the work.

Why trunk-based development is best

Merging finished work straight to main and deploying to production right away, scales to teams of thousands. This approach is counterintuitive to many engineers who may be used to working on their own

Start coding at the point of least certainty

Start coding at the point of least certainty: Learn how to approach projects when there is uncertainty and risk, and why it's beneficial to start with the hardest part first, instead of building a foundation and working up from there. This concept is illustrated through the analogy of training a monkey to jump through a hoop.

Reader question: How to grow 10+ years into your career?

For those wanting to stay hands-on, we recommend solving bigger better challenges with higher stakes and new problems.

Async React with NextJS 13

We look at React's native async support and how to use it in a NextJS 13 app. Learn how to use async components, parallel loading states, and caching with React.js and NextJS 13.

In case of layoffs

Advice on how to prepare for potential layoffs, how to support friends and colleagues who have been laid off, and how to find a new job after being laid off.