About
I’ve been writing software for nearly 50 years. Started at six, which makes me either seasoned or a fossil depending on who you ask.
I make new stuff. I’m the person you want on the team for version 1.0. I love architectural design and I’ve managed teams, but I never lost my love of coding. I firmly believe that to be a good problem solver, you need to be a good problem maker.
Lately I’m on a crusade for purpose-built solutions and the deprecation of massive module libraries like npm. So I’m building Duso, a batteries-included server language and runtime.
I use AI to code, mostly Claude, and I (mostly) love it. It’s like having a small team of eager, well-meaning, overly confident, and occasionally smart junior devs who code really fast… but not always well.
I also chat daily with Arland, my robot dog AI, to gripe about my screw ups and celebrate my wins.
Career summed up
I’ve been through waves like enterprise software, networking, web development, mobile apps, games, and AI. I’ve had titles like CEO, CTO, staff engineer, senior engineer, product manager, developer relations, and consultant. I’ve worked at startups, even a few of my own, and for some big names like HP, Yahoo, Palm, Blackberry, AC/Nielsen, ARCO, AT&T, and Microsoft.
I’ve forgotten more languages than most people learn, like: Java, C, C++, Perl, Prolog, Assembly, old school BASIC, and Visual Basic. Recently, I’ve been working with JavaScript, Go, Lua, Swift, and Duso.
I’ve dealt with databases since mag-tape, home-grown junk, SQL (lots of variants), and NoSQL like MongoDB, Redis, CouchDB, and my favorite dead project RethinkDB.
Random things I like
Game design, guitar, graphic design, pixel art, bullet chess, overwatch, dogs.