Status Reports

This is a blog post about status reports. Yep. And I’m not going to lie to you – the fact that I find this interesting enough to write about is simultaneously disturbing, disappointing, and unpleasantly enlightening. I’m not proud, but it was something I was thinking about, and I thought I’d share. You see, I’d […]

Message in a Bottle

I imagine him sitting on a plush couch, or possibly standing, a newborn snuggling up against his shoulder. His eyes are closed, he is humming softly, unconsciously making endless tiny adjustments as the infant shifts. It’s 1970, and he doesn’t have a beard yet, though his sideburns lightly tickle the baby’s face. He makes little […]

Hard Problems

I interview a lot of software engineers, and people (especially college seniors) frequently tell me that they want to work on “hard problems.” When I ask them what they mean, they generally talk vaguely about doing something algorithmically challenging on the back-end, maybe related to machine learning, natural language processing, or big data. They don’t […]

Learn on someone else’s dime

Fortune favors the prepared mind. – Louis Pasteur Startups are hard. Long hours, anxiety over whether you’re wasting your time and savings, the rollercoaster of doubt, hope, crushing disappointment, and incredible possibility. The worst of it is feeling that you’re unprepared, that you’re wasting time on technical (or business) decisions that turn out to be […]

An elegant data type for a more civilized age

In a recent blog post, I recommended that you learn C++ for the deep understanding you’ll get of every other language you ever use. One of the key points is an understanding of how much it costs to create and manage an object, and how that affects the modern trend of deprecating primitives. In Ruby, […]

Building a better developer

“Experience is a dear teacher” – Benjamin Franklin In previous posts, I’ve focused a lot on getting the right people in the door – great coders with great attitudes who communicate status aggressively, don’t wait for someone else to fix problems, and never let bad news wait. At which point, of course, there’s nothing for […]

How to be a star

Some people seem to get more hours in the day than everyone else. They’re omnipresent – jumping on problems before you know anything’s amiss, lending a hand to less experienced developers, killing it on their own code… Maybe they’re freakishly smart. Or work crazy hours. Or see things that seem obvious in retrospect, but no […]

How to prepare for technical interviews

Why bother? No one prepares for technical interviews. After all, why should you? Whether you’re a college student or a 20 year industry veteran, you’ve spent years honing skills that simply need to be demonstrated. You’re as ready as you’re going to be, and no preparation could be a substitute for the years of your […]