Why Your Big-Team Software Project Needs a Utility Player

Projects with big teams introduce a slew of interesting problems–problems like keeping developers fed with multiple tracks of work, understanding areas with large technical risks, and sharing knowledge. On a recent project, we developed a role to help solve these problems. I call it the utility player. In this post, I’ll define the role, the […]

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 […]