Many development agencies refuse to inherit already built projects, and earlier this year, I found out why. The most dreaded part of any developer’s job is dealing with “legacy code.” While legacy code is a near inevitability in most tech companies, understanding and maintaining it is time consuming and costly....
Last week, I had an interesting chat with a peer about the difficulty of finding a balance between using established standards and building proprietary solutions within development projects. Personally, I’m an advocate for utilizing established third-party solutions whenever possible as a way to reduce new developer onboarding time and increase...
As a developer, I’m a huge fan of continuous integration. For the uninitiated, continuous integration is a software engineering practice in which code changes are tested as soon as they are committed. This enables early problem detection. It also provides immediate feedback on code quality, allowing for issues to be...
You know the contributions calendar grid on GitHub profiles? The one with all the pretty green squares? What if you could write a message within that box? That’s exactly what a friend of mine asked me a few months ago. At first, it seemed like a silly question, because even...
An uncomfortable majority of companies that offer high storage limits for specific file types have a major problem: MIME type validation isn’t good enough. If you’ve ever had to implement file validation for user uploads, you’ve probably relied heavily on MIME type validation to ensure that the files you are...
I’m a huge fan of SequelPro, a Mac OSX application that provides an incredibly easy to use GUI for managing MySQL databases. Unfortunately for me, I’ve spent the past year working on a project with a Postgres database, so my easy-as-you-please SequelPro days are pretty much over. Thankfully, after about...
Originally coined as a term to describe mercenary soldiers, the phrase “free lance” has come a long way in the past 200 years. Sir Walter Scott, originator of the term, first wrote it in the book Ivanhoe in 1820: I offered Richard the service of my Free Lances, and he...
Spotify. Hulu. Netflix. Amazon Prime. Evernote. Dropbox. Google Apps. iCloud. Stop me when you get the point. There was a time in my life where I did everything the hard way. Not because I was inefficient, or stupid, but because it provided me opportunities to learn a ton about how...
CloudFlare. Laravel. Heroku. Despite being the keywordiest article title I’ve ever written, I really did have to solve this exact problem recently, and it took me longer than I’m proud to admit. Let’s face it: SSL is a pain in the ass. At least it is when it comes to...
As a freelance developer, I am occasionally asked to audit projects that have had the majority of development outsourced. While outsourcing isn’t an intrinsically bad thing, managing an outsourced product requires you to walk a very fine line between “bootstrapped” and “cheap.” The Code No two codebases are the same,...
For the better part of the last decade, being a software developer has been more than just my chosen career path. It’s been my identity. Honestly, if you had asked me before today what I do for a living (or what my favorite hobby is, or what I want to...