Type-Driven Development – Replacing Unit Tests with Types in Typescript

Being explicit about the return type of the function is the most under-utilized feature of TypeScript. At least, that’s true for the way I write my code. When I first started using TypeScript, I was really impressed with the way it inferred the return type of the function, and having these types perpetuate throughout the […]

Reviving the Handwritten Thank-You Note: Tips, Tools, and a 4-Sentence Template

I’m pretty sure you already think handwriting thank-you notes is a good move. So why don’t you more often? Does it seem old-fashioned? Too much work? Overly time-consuming? Not sure what to say? Do you associate it with obligatory notes to Aunt Martha, thanking her for your itchy birthday socks?

Commit Messages – the Easiest Documentation You’ll Ever Write

When it comes to writing documentation, nobody wants to do the job. And whatever documentation does get written is quickly outdated because nobody wants to update it, either. The most accurate documentation of how a system works is the code itself, but even “self-documenting” code falls short of describing why it was written that way. […]

With Jetpack, Android Development Has Leapfrogged iOS

Over the past six years, I’ve done a lot of iOS development (and written a lot about iOS). I would say it’s been the primary focus of my career. But as a software consultant, I need to be flexible, and I’ve done my fair share of Android development as well. I’m currently working on a […]

Choosing the Right Software Development Partner (with or without an RFP), Part 1: Evaluating Longevity

Finding the right custom software development firm for your project is a tough job. Even a thorough RFP process won’t save you if you’re not looking for the right things. Software projects are notorious for being late, over budget, and frustrating. Why? Making useful, valuable software products takes a lot more than technical know-how.

How to Set a Budget for Your Custom Software Project

Software is never done—there are always more features and functions you could add. So how much should you budget for a custom software project? Some companies keep throwing money at the project without any budget at all. But they can miss out on early client feedback and end up wasting money on the wrong things.