• 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.