Seven stages of learning

Stage 1: The opportunity At first, you’re excited. Something shiny and new! You’ve always wanted to learn this new thing, a language perhaps, and whether through planning or circumstance, you finally have your chance. Stage 2: Unwarranted optimism So you Google for tutorials, work your way through one or two, buy a book, start a MOOC. […]

Old school coding tricks

In a recent post I talked about some gotcha-type questions / Java quirks, but there’s a more fundamental gap that I see all the time – primarily in coders who have never been forced to program in C/C++ at some point. There are some basic pieces of knowledge, some tricks of the trade that everyone […]

My first big idea

It hit me while I was walking down the street in a chic Tokyo suburb, an honest-to-God bolt from the blue mindfreak of a satori. It hit me so hard I had to stop, find a place to sit, and think for a while. I had a good life in Japan – an amazing group of […]

Special

I’ve been thinking (again) about what it is that makes some coders special, and have come up with the following idiosyncratic, completely unscientific, my-employer-does-not-endorse-my-views classification. It should go without saying (but won’t) that not only is this graph not to scale, but that it’s a pretty scary power function as you move up the pyramid. […]

Lost Skills

When I was in high school, I used to amuse myself by multiplying four digit numbers in my head. It was a point of pride that I had memorized all of my friends’ phone numbers. I even worked out my own (possibly incorrect) version of the Doomsday rule (no, no, of course there was no […]

Silver Bullets

Paradigms matter. The Pythagorans killed the discoverer of irrational numbers because they didn’t fit within their world view. The Romans had a numerical system that was actively antagonistic to arithmetic, and made no significant mathematical discoveries. The Arabs, on the other hand, had much the same numerical writing system as we use today, developed the […]

Epigrams

Procrastination is triage with a machete and a blindfold. Hackers are min-maxers. Python is the programming language equivalent of juggling one ball. In order to exceed expectations, you first have to meet expectations. The bottom always eats the top. You have to be nice before you can be mean. With very few exceptions, every single […]

Coding as Jazz Piano

Democracy is the worst form of government, except for all those other forms that have been tried from time to time. – Winston Churchill I get asked a lot by non-technical people why it’s so hard to find good technical talent. How it is that we can do so many interviews, yet make so few […]