Blog

Posts on software development, careers, and craft.

Do you read books and blogs that are full of superb life advice...and then...

Do you read books and blogs that are full of superb life advice...and then fail to act? Me too. A lot. Don’t do that. It’s intellectual procrastina...

Coding gets much easier over time

Coding gets much easier over time. 1. You get better at breaking complex problems down into simple problems. 2. You get better at conveying your in...

Solid examples of some common mistakes with async/await: How to escape...

Solid examples of some common mistakes with async/await: How to escape async/await hell https://buff.ly/2GXcGpy #javascript

Study finds remote workers are more productive and stay with the company longer

Study finds remote workers are more productive and stay with the company longer. Working remote part time is an excellent compromise too. It provid...

Systems > goals 1

Systems > goals 1. Less stressful 2. Produces more consistent results 3. Avoids feeling like a failure when an arbitrary goal isn’t reached. 4....

Today I'm creating plop templates for our team's React framework

Today I'm creating plop templates for our team's React framework. This will allow us to easily generate React components, reducers, actions, tests,...

Question I've heard recently: “What if we create a component library in...

Question I've heard recently: “What if we create a component library in React/Vue/Angular/whatever and a new component tech becomes popular in a co...

Yep, JavaScript Moves Fast. Build Your Component Library Anyway.

Here’s a question I’ve heard a few times recently: “What if we create a component library in React/Vue/Angular/whatever and a new component technology replaces …

Ah

Ah! Just learned there is a name for this pattern. Ever created a file that just exports a bunch of things? That's a barrel. A barrel is a way to r...

Woah

Woah! This is super handy. Ever been confused trying to remember how to specify different version ranges for package.json references? Here's a semv...

All too many meetings are scheduled because the scheduler is unwilling to...

All too many meetings are scheduled because the scheduler is unwilling to simply email a cogent and thoughtful proposal to effected parties. Before...

Google publishes a JavaScript style guide

Google publishes a JavaScript style guide. Here are some key lessons. #javascript Summary: -const or let, no var -semicolons required -prefer arrow...

React tip: Functional components transpile down to less code, which =...

React tip: Functional components transpile down to less code, which = smaller bundles. 🗜 Just updated my "9 Reasons to use Functional Components"...

Apple support is exceptional

Apple support is exceptional. 1 of my AirPods wasn’t as loud as the other. 1. I click “call me” on Apple site 2. They call 3. I explain the issue 4...

Woah, @Netlify now supports AWS lambda functions

Woah, @Netlify now supports AWS lambda functions! 125,000 requests/mth for free. This integration with AWS is slick. https://buff.ly/2psWW2c

As a dev nearing 40, this StackOverflow stat concerns me: Only 7% of...

As a dev nearing 40, this StackOverflow stat concerns me: Only 7% of developers are over 44 years old. I still love solving problems with code. I'd...

Why specialize

Why specialize? Because the industry is changing faster than ever. Today, the half-life of an engineering degree is between 2.5 and 5 years. You mu...

Many companies have: 1

Many companies have: 1. A corporate style guide 2. A separate UI component library that implements the style guide's rules Idea: The style guide an...

"What have you learned in the past week that you’ll still care about in 5...

"What have you learned in the past week that you’ll still care about in 5 years?" - Shane Parrish Few tech skills were useful for me for over 5 yea...

The "full stack" dev is a dying breed

The "full stack" dev is a dying breed. Just keeping up with JS & React ecosystems is a full-time job! Redux, MobX, GraphQL/Apollo/Relay, Jest,...

Love the new split terminal window feature in VS Code

Love the new split terminal window feature in VS Code! @code Really handy for running your app and automated tests in side-by-side integrated termi...

Realization: I’ve spent many hours reading books and blog posts about...

Realization: I’ve spent many hours reading books and blog posts about productivity. I must admit most of this reading was merely procrastination. I...

Sure, you know about console.log, but there are a lot of other handy tools...

Sure, you know about console.log, but there are a lot of other handy tools in the browser console: https://buff.ly/2FtBktn #javascript

GitHub tip: You can assign "code owners" to sections of a code base

GitHub tip: You can assign "code owners" to sections of a code base. Why? Code reviews are then assigned to the owner(s) automatically! 1. Create C...

Ever use your Browser's console as a little scratchpad to try JavaScript

Ever use your Browser's console as a little scratchpad to try JavaScript? Now you can use VS Code as a REPL! Install the Quokka.js plugin and see t...

Career tip: As tech moves faster, consider specializing

Career tip: As tech moves faster, consider specializing. 2000 - I was "full stack", multiple langs. Generalist. 2010 - Still "full stack", but focu...

How I read open source docs: 1

How I read open source docs: 1. Clone repo 2. Open http://README.md in VS Code 3. Display markdown preview on right. 4. Read right pane. Fix typos...

How to handle environment-specific settings in your JavaScript apps

8 ways to handle environment-specific app settings Today many web apps are built using React, Angular, Vue, Ember, etc. These modern client-side rendered apps o…

GitHub Tip: Create PULL_REQUEST_TEMPLATE.md in your project root

GitHub Tip: Create PULL_REQUEST_TEMPLATE.md in your project root. GitHub will automatically populate all pull requests with this content! I suggest...

promise.finally has moved to stage 4, so it's officially part of JavaScript

promise.finally has moved to stage 4, so it's officially part of JavaScript. Here's how it works: https://buff.ly/2Chg8Jf #javascript