On Admiring Simplicity
A poorly-designed solution may seem impressive. Why? Because it’s complex and unapproachable. So it looks like it was hard to build. A well-designed solution may seem unimpressive. Why? Because it’s...
View ArticleFour Ways to Fetch Data in React
React is a focused component library. So it has no opinion on how to request remote data. If you’re requesting and sending data to web APIs via HTTP, here are four options to consider....
View ArticleFour Reasons React Renders (and three ways to stop it)
There are four events that cause a React component to render: State change Prop change Parent render Context change When state changes, you can skip the render via: shouldComponentUpdate React.memo...
View ArticleFormik vs Plain React for Forms – Worth it?
I typically use plain React for forms. But I just converted a React form to use Formik. Results (sizes minified): Plain React: 130 lines of code, 46KFormik: 105 lines of code, 58KFormik + Yup...
View Article6 Signs a Dev Team is Out of Control
“We don’t have time to write tests.” “We don’t have time for code reviews.” “We don’t have time to set up a CI server.” “We don’t have time to automate deploys.” “We don’t have time to make it...
View ArticleReact Server Components in 5 Minutes
I’m excited about React Server Components. In this post, I will summarize the benefits and limitations in a few quick points. For more details, check out the Facebook team’s announcement video. The...
View ArticleAdding Custom Testing Library Queries
Testing Library is great. But it’s lacking a few queries I would find useful. Here’s an example of enhancing Cypress Testing Library with a plain function: I often write tests that target a specific...
View ArticleStop disabling copy/paste
Hey developers, please stop disabling copy/paste in form fields! 🚨 It’s awful UX. It’s confusing. It doesn’t improve security. It breaks password managers. It risks typos on critical info. If asked to...
View Article13 Reasons Software Development is a Unique, Amazing Career
1. Creative freedom. Product managers and designers specify *what* I should build. But, I get to decide *how* to build it. I choose my patterns, libraries, technical approach, workflow, and more....
View ArticleAvoid Sprints
Sprints create an arbitrary deadline every x days. This creates estimation overhead, and fosters short-term thinking. Instead: 1. Break work down into small tickets. 2. Estimate future flow by tracking...
View Article
More Pages to Explore .....