• Insecurity: The Root of Developer Evil

    I’m two feet off the ground, balancing on the handle of a socket wrench, cursing my inability to remove the wheels from my Honda Civic. I’ve decided to change my own brakes, and this simple first step has thwarted me for at least twenty minutes.

  • You Work for Yourself

    My eyes are blurring over as I squint at the screen. It’s 11pm and this is only the most recent of many all-day coding sessions. My creativity is gone. My love of programming is gone. Any ability to consider the system as a whole is gone. I’m striving in vain to finish a feature that is hoped to “turn the company around.”

  • Slow Is Fast

    “…slow is smooth, smooth is fast.” My trainer repeats the mantra as I make jerky, inefficient movements with the basketball. I decide he should sit next to me and repeat this while I code, do customer support, cook, and look for my keys.

  • Ignoring FSMs for Anger & Code Debt

    I’ve been neglecting an indisputable fact of the programming universe: everything is a Finite State Machine. Everything.

  • How to Get Work as a Developer

    Reduce risk for potential employers...
  • The Everlasting App - No SPAs Allowed

    I’m often embarassed by one of my applications. It’s old; git blame is ruinous to my developer ego; it’s “designed” in Bootstrap 2.3; the UX…needs improvement.

  • Saying No for Fun and Profit

    In the startup world, there’s frequently conflict between developers and other project stakeholders. If I were to make a list of reasons I’ve been relatively successful, I’d put my ability to say no to stakeholders near the top. In fact, I’m usually thanked for it. When I say no, it’s not to be rude, cynical, or confrontational. It’s not to avoid hard or complex work, or to push my own agenda. I say no when the long-term effects of saying yes put the product and/or company at risk.