Blog

Posts on software development, careers, and craft.

“We all have the same 24 hours a day”

“We all have the same 24 hours a day”. No we don’t. Some have less: -Health issues -Caring for others -Unreliable car, home -Low pay job that requi...

Woah, npm 7 automatically installs peer dependencies:...

Woah, npm 7 automatically installs peer dependencies: https://github.blog/2020-10-13-presenting-v7-0-0-of-the-npm-cli/ This will bite people. Examp...

Avoid creating flexible React components with many props

Avoid creating flexible React components with many props. Instead, start "rigid" (few props). Benefits: Enforce consistency Simpler code Easy to un...

TIL about the URL constructor

TIL about the URL constructor. A safe and clear way to dynamically build a URL, one piece at a time. More: https://developer.mozilla.org/en-US/docs...

An organization that doesn't document effectively, cannot grow efficiently

An organization that doesn't document effectively, cannot grow efficiently. Why? Because it can’t efficiently share knowledge as the org grows. So,...

How I became a conference speaker: Someone said “Why aren’t you speaking?”...

How I became a conference speaker: Someone said “Why aren’t you speaking?” How I became an author: Someone said “why don’t you author a course?” On...

After coding in TypeScript, plain JavaScript feels like doing acrobatics...

After coding in TypeScript, plain JavaScript feels like doing acrobatics without a net. So when I work in plain JS, here's a setting I enjoy: Tell...

How to create a life of stress: Overcommit

How to create a life of stress: Overcommit. Say yes to everyone. Go broad. Try to know everything and be useful to everyone. Spend more than you ea...

I'm considering writing another React related course on @pluralsight

I'm considering writing another React related course on @pluralsight. What course would you like to see me create? #reactjs #react

Low-stress life recipe: Early to bed

Low-stress life recipe: Early to bed. Wake naturally. No alarm. Exercise early. Work from home. Set my own schedule. Specialize in work I enjoy. Av...

The #1 answer I hear from teams that don’t write automated tests: “We don’t...

The #1 answer I hear from teams that don’t write automated tests: “We don’t have time.” I interpret this to mean two things: 1. Management doesn’t...

A team without documented, repeatable processes is out of control

A team without documented, repeatable processes is out of control. Questions the docs should answer: How do I run the app? What is our definition o...

Fallacy: To stay busy, go broad

Fallacy: To stay busy, go broad. Offer many services. Reality: To stay busy, be exceptional at one thing. It's surprising how small you can niche d...

I'll admit it: For the first 10 years of my career, I thought tests were a...

I'll admit it: For the first 10 years of my career, I thought tests were a waste of time. Now I realize tests *save* me time. How tests help: ✅ Run...

I am anti "foo"

I am anti "foo". Why? Because "foo" typically confuses rather than clarifies. My preference: Use *realistic* values and identifiers that convey rea...

My opinion on TypeScript changed because the environment around it changed

My opinion on TypeScript changed because the environment around it changed. Babel compiles TS. ESLint supports TS. Editors support TS. create-react...

What college is selling: 1

What college is selling: 1. Membership to an elite club 2. A certificate to help open doors 3. A motivational whip at your back 4. A clear, “safe”...

Just read “The Psychology of Money”

Just read “The Psychology of Money”. Superb.🔥 Key point: The best benefit from saving is the ability to own your time. People who control their ti...

Many who have have experienced work from home will never go back to...

Many who have have experienced work from home will never go back to full-time office work. They've tasted the benefits: - No commute - Pick your wo...

Just successfully deployed a React app to an AWS S3 bucket via an Azure Dev...

Just successfully deployed a React app to an AWS S3 bucket via an Azure Dev Ops CI server, using Terraform. After every merged PR, it builds, run t...

I avoid declaring React components via the concise arrow syntax

I avoid declaring React components via the concise arrow syntax. Instead, I prefer to use plain old function declarations. Here's why: 1. I can set...

I’ve spent the last three days convinced my laptop had been hacked or had a...

I’ve spent the last three days convinced my laptop had been hacked or had a horrible hardware bug. Random keystrokes, mouse bouncing around, inabil...

Years ago, I was programming in PHP

Years ago, I was programming in PHP. The company announced they were moving to off-the-shelf software. They expected me to run the new system. Inst...

Software development is about these 10 transformations

Software development is about these 10 transformations... (thread) 1. Transform manual into automatic. 2. Transform slow into fast. 3. Transform er...

Software development: It’s hard to make something easy

Software development: It’s hard to make something easy. But it’s massively rewarding when you do.

Epiphany: Just wrote a test…for tests

Epiphany: Just wrote a test…for tests! Problem: We forget to create tests for new components. Solution: Write one test that assures a corresponding...

Just finished “The Phoenix Project”

Just finished “The Phoenix Project”. Superb book on DevOps. If you aspire to improve your org’s DevOps practices, this entertaining novel tells the...

When stuck, step away

When stuck, step away. Spent hours trying to solve what seemed like a simple problem 2 days ago. This morning, looked at it with fresh eyes. Fixed...

Rhythm I’ve found: Work 2 hours, then take a long break away from the screen

Rhythm I’ve found: Work 2 hours, then take a long break away from the screen. I do ~3 focused, 2-hour work sessions/day. For breaks I lift weights,...

Woah, if you're building a component library / design system, "Design...

Woah, if you're building a component library / design system, "Design Systems Repo" has an impressive list for inspiration: https://designsystemsre...