In software product development, we’ve historically specialized in ways that may not make sense going forward. But there will always be a need for people who deeply understand our customers’ most important problems, solve those problems with high-quality software, and run that software reliably in production. This is the work that endures.

Read on ›

If AI can one day quickly and reliably write new code and edit existing code to produce the intended new behavior of the software system, such that the system itself effectively becomes a black box… there’s a whole slew of things that don’t matter anymore.

Read on ›

Unless…

Read on ›

You can’t. It’s not possible. I know that sounds like an outrageous claim given the popularity of the Active Record pattern, but it’s true.

Read on ›

Bitcoin is revolutionary. It may not happen immediately, but eventually you won’t be able to ignore it. There will be a gravity to it, an incentive to be a part of it. Those who don’t use it will put themselves at a disadvantage… At some point, it actually takes more work to ignore the innovation.

Read on ›

High-quality software is both valuable to the business now and easy to change later. While it’s simple to be dogmatic at either end of this spectrum, both goals are important to the business in the long run. Aiming for highly cohesive and loosely coupled code is key to finding the balance, but this concept can be tough to understand at first glance. So what does it actually mean?

Read on ›

There’s something that’s been on my mind a lot lately: the significance of meaningful boundaries. It’s a theme that keeps coming up wherever I look.

Read on ›

What the Ã�©Ð”ã° is going on!?

Finding Your Way Out of Charset Hell

Say goodbye to cargo cult solutions. Finally get a grasp on character set encoding, learn how it works for PHP apps and MySQL, and become confident in fixing encoding issues once and for all.

Read on ›

While working on a project recently, I finally got so frustrated with the awkward way validation errors are typically handled that I was determined to figure out a solution.

Read on ›

There’s one particularly slippery term that wreaks havoc in the pursuit of application security: Sanitize.

Read on ›

Why Your Team is Burnt Out and Getting Nothing Done

Three principles for fostering a team that loves their work and delivers real customer value quickly in a healthier, more sustainable way.

Video of my talk at EEConf 2017 in Denver.

Read on ›

If you want to make a difference in software, get better at modernizing legacy applications. The tech world is desperately in need of such skills, and it’s only gonna get more dire from here.

Read on ›

Data is in service to the purpose. It isn’t the purpose itself.

Read on ›

In a word: sanity.

Read on ›

It’s one of the most continually pervasive security threats. It continues to top the OWASP security risk list. Yet somehow many developers still don’t even know what it is.

Read on ›

Wow, my last post got way more attention than I expected! There was the expected amount of snark, to be sure, but there was also some genuine misunderstanding and confusion about a few things, so let’s clear them up.

Read on ›

I’ve got a challenge for you. The next time you start a new project, try not using a PHP framework.

Read on ›

A contrast that perfectly captures the mindset of great leaders.

Read on ›

The human nervous system can only process about 110 bits of information per second.

Read on ›

We’ve been taught to think about how to get things done, but not whether they’re even worth doing in the first place.

Read on ›

You never intended to run a burn-out shop, but here we are.

Read on ›

Is Your Team Feeling Scattered and Unfocused?

Not everything needs attention right this minute

In the world of design and development, your team’s getting a lot thrown at it. It’s true if you’re running a software shop responsible for churning out a single product, and it’s especially problematic for digital agencies with multiple clients. But when everything’s an emergency, nothing is.

Read on ›

For any brick-and-mortar business, it’s a major problem if your customers can’t find you.

Read on ›

My first foray into entrepreneurship was surprisingly successful. At least it started that way.

Read on ›