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.
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.
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.
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?
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.
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.
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.
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.
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.
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.