Skip to main content

About Me

James Pogran
I’m a Senior Software Engineer at IBM working on Terraform Cloud’s VCS and Git Services platform — a distributed system that processes thousands of webhook events per second across GitHub, GitLab, Bitbucket, and Azure DevOps.

What I do #

I build and run developer platforms, and I’ve spent most of the last decade doing it twice over: once as an individual contributor on distributed systems, and once as the person responsible for turning a side project into a piece of infrastructure other people depend on.

At HashiCorp I led the Terraform VS Code Extension and its Go-based Language Server from a small team project into a flagship open source release — defining the release cadence, contribution standards, and code review process that let external contributors work alongside the core team without every change routing through me personally. Before that, at Puppet, I did the same thing from an earlier stage: I spotted the opportunity for a VS Code extension, built the first proof of concept, and grew it into a sponsored open source project used by thousands of engineers.

These days I’m back in distributed systems territory, working on the Git integration layer underneath Terraform Cloud. Recent work includes leading a zero-downtime, cross-team migration off an external Git library onto an internal implementation, and performance work that cut README ingestion latency by roughly 30x.

Before that #

I’ve been working with computers in some form for over 15 years. I started in systems administration for a large military installation, then moved into building monitoring software and automating large-scale Windows environments for a managed services provider — which is also where the PowerShell DSC book came from.

Elsewhere #

I write here about the parts of this work that don’t fit neatly into a changelog: what it actually takes to keep an open source project healthy once it outgrows you, how protocols like LSP and MCP solve the same shape of problem a decade apart, and what I do and don’t trust an AI agent to do on a production migration. You can find more at pogran.dev/talk (conference talks) and github.com/jpogran (code).

I love finding out how things work, taking them apart, and making them work faster.