I’m a bit herder, a pointer wrecker, and HTTP is my best friend. 0xA3 & 0x7C are also my friends, but not 0x08.
I spend my days somewhere between writing code and making sure other people can write better code. I love distributed systems, low-level embedded devices, and anything that has a content-type. I also have an unhealthy relationship with YAML, but that’s a Kubernetes problem.
The day job
During the day, I lead engineering and operations at EnergyCAP — a SaaS platform that helps organizations track utility spend, energy consumption, and sustainability goals across massive building portfolios. We’re talking $100B+ in utility bill spend tracked across 350,000+ sites. Government, education, healthcare, commercial real estate — if it has a meter, we probably manage it.
I started here as a developer in 2009 and have been building ever since — through senior roles, into leadership, and eventually into the VP seat where I get to shape both the tech and the teams behind it. Some days that means architecture decisions. Most days it means removing blockers so smart people can do their best work. And yes, sometimes it’s just meetings about meetings.
My philosophy is simple: technology should serve people. Build teams where people feel safe to be wrong, give them the tools to be great, and get out of the way.
Things I geek out about
Distributed systems, container orchestration, database performance tuning, developer tooling, process dumps, leadership that doesn’t suck, making engineers’ lives better, and the eternal quest for a perfect terminal setup.
I also talk at things
I like getting on stage and nerding out about the things I’ve learned the hard way. My talks tend to fall into a few buckets — and yes, I have strong opinions about all of them.
AI & the developer experience
The AI wave hit and I leaned in. I’ve talked about using LLMs as debugging partners, building RAG pipelines that actually know your business context, and the ethical lines we should be drawing as we hand more work to machines.
- My Rubber Duck is a Large Language Model
- Unleashing the Power of the AI Wizards: Retrieval-Augmented Generation Spells
Kubernetes & cloud native
I was late to the Kubernetes party — and I’ll tell you all about it. From lightweight K3s workshops to navigating the 900+ services in the CNCF landscape, to making the case that cloud-native principles work even when you’re not in the cloud.
- Kubernetes Chronicles: Late to the Party, Big on Adventure!
- K3s — Half the Size, Twice as Awesome (workshop)
- Orchestrating Machine Learning Workloads with Kubernetes
- Exploring the Cloud Native Landscape
- Cloud Native is Only for the Cloud, Right?
- Nomad — Orchestration Doesn't Start with a K
Performance & databases
I’ve spent an unreasonable amount of time staring at query plans. These talks cover squeezing performance out of SQL Server, using DMVs like cheat codes, and that one time we took a 10-hour process down to 10 minutes.
- ReArchitecting Data: 10 Hours to 10 Minutes
- Mastering SQL Server Performance Optimization (workshop)
- SQL Server DMVs That Give Me Superpowers
- Achieving Continuous High Performance with Query Store
- Practical High Performance: C# Edition
- Intrinsics in .NET: Start Somewhere
Production war stories & leadership
Production breaks. Systems fail. The interesting part is what you do next. I also talk about the human side — what I’ve learned (and gotten wrong) leading engineering teams.
- Bug Squashing with Process Dumps
- Recovery by Design: A Postmortem Adventure
- Joining the Cloud: Our Journey
- TIL as a CTO
The wildcard
Sometimes you just want to build something fun with your hands.
- Paper Circuits: Origami for a New Generation
Let’s talk
I drink a bit too much coffee while rambling on about technology. If you’re willing to have a conversation — I’m ready to buy you a cup.
email: chris@houdeshell.dev
github: choudeshell
linkedin: choudeshell
twitter: @choudeshell