Not to get maudlin, but it is fun to think about accomplishments over the years. The days are long, but the years are short, and I can’t believe I’ve been working in software development for more than two and a half decades.
My top professional accomplishments include:
- Writing a book for a known publisher
- Co-founding a startup that is still alive and kicking (5+ years after I left)
- Running my own consulting business for about 8 years, and making a decent living from it
- My time at FusionAuth; I’ve worn a bunch of different hats with real impact on the direction and culture of the company
- Presenting at marquis conferences like Identiverse
- Co-organizing the Boulder Ruby for about 5 years
- Supporting the website of one of the biggest sporting events in the world
- Keeping this tech blog running for over 20 years
For a span from 2002 to 2019, I almost never had a work computer. There was one or two times where a contract provided a computer. But primarily my work computer where I did, you know, my work, and my home computer, where I worked on side projects and did my writing and personal internet access, were one and the same.

A friend recently shared a letter from Hunter S. Thompson on
Leaving a company in a way that is fair to both you and your company can be difficult. When employed, we spend a large portion of our waking hours at work. You may be leaving a group of people you loved, a toxic environment, a place you’ve outgrown, or a place you’ve loved and just need to move on from for personal reasons. Because of the amount of time invested and the multiplicity of emotional circumstances, it can be difficult to leave well. Below are some thoughts on this career transition, however, I’m not writing about why you should leave, just how the process should go once you’ve made that decision. (Note that some of these apply to transitioning positions within a company.)