Want to work with me?

I'm an independent software consultant/contractor. Mostly what I do is subcontracting with Extreme Programming consultancies. I'm also open to "regular employment" if the fit is right.

My main priority is working with good people, and I enjoy solving new problems. So while this page is going to mostly be a rundown of the things that I know I'm looking for, if you like my writing and you have something that needs doing that you think I'd be good at, send me an e-mail, even if it's different from what's listed here. I'm generally interested in talking to anyone who wants to hire me, even if you don't have the perfect match right now.

My second priority is to make enough money, while also making time to write. In the past I've done this by alternating contract work – between 6 weeks and 6 months – with time "off" where I'm focused on writing. I've also found that ~32 hour work schedules can work well.

You should absolutely e-mail me right now if you are looking for someone to

  • Write Elixir
  • 4 days a week
  • Mostly in pairs
  • With tests

The companies that have been happiest with my work have been ones that have software with a relatively high quality floor they need to meet, deceptively hard technical problems, and some kind of domain that engineers tend to consider "boring." I love billing systems, and anything involving the words "classification code."

The individual managers who have been happiest with my work tend to be people who have a really clear idea of what "good" looks like for a software team, and have recently taken over management of the team that I'm joining. They tend to be people who value "rolling up your sleeves and doing what needs doing" over raw technical problem-solving.

You'll get the absolute most value if there's some technical debt clean up, especially if it's related to testing, and especially if you also have delivery dates you need to hit and can't stop development entirely to fix everything that needs fixing. I'm really good at systematically and incrementally chipping away at obstacles to software delivery, while also delivering software.

You will also probably really like what you get from me if you have some new folks who need to be onboarded to Extreme Programming, or have some engineers who are skeptical about it but willing to give it a shot. I like pairing and TDD and I'm good at it but I also have a pretty pragmatic view of the downsides and tradeoffs, which makes me good at building trust with folks who share XP's goals but have reservations about its methods.