TOMMY
O'KEEFE

Engineering leader — HashiCorp (an IBM company)

After writing software and shipping products for over a decade I’ve spent the last 5+ years leading teams who do the same. These days I see myself as more of a “gardener” than anything else, focusing on what I can do to help things grow. That process takes different shapes: turning a rough idea into a polished product, coaching an engineer through a career transition, or guiding teams through seasons of change with the shared goal of coming out healthier and more productive on the other side.

based in washington, dc
Tommy O'Keefe

About

I’ve spent the last 5+ years leading software engineering teams, after over a decade spent building and shipping full-stack software. Most of that work has been with an eye toward user experiences: shipping apps for web, mobile, voice, CLI interfaces, and various OTT devices.

I believe that building good software starts with people. The teams that ship great user experiences are the ones where transparency is encouraged and collaboration is actively cultivated. A lot of my day to day work goes to practically building, protecting and sustaining those sorts of environments.

I’ve spent most of my career navigating various versions of flux: large migrations, reorgs, acquisitions, and teams inheriting systems nobody wants to own. Somewhere along the way I realized that I’m at my best when I’m helping other people learn to thrive through that kind of change rather than just trying to survive.

I don’t write much production code these days, but I still find myself doing some architectural work occasionally, or digging into a challenging bug from time to time. On the technical side, I’m most at home with TypeScript, Node, and the React / React Native ecosystem, but consider myself a true software polyglot with work experience in Python, PHP, Go, Elixir and a bit of Swift, Objective-C, and Kotlin. As a former full-stack engineer I’ve spent a good deal of time configuring and deploying to AWS and other cloud providers, as well as building and shipping on bare metal and other on-prem infrastructures. I have shipped and led teams who ship everything from web apps deployed at the edge and backend systems deployed to kubernetes clusters to mobile and CLI apps that ship as binaries and most things in-between.

At the end of the day, I like to be a part of the entire software development lifecycle — from initial hypothesis to shipped feature or product, and then back to the whiteboard with new data for the next iteration.

How I work

Growing people

From thoughtful hiring to coaching people through challenging career transitions, I’ve been actively involved in growing teams and individual engineers for the last 5+ years. My philosophy of software development is simple: you start with a human-centered approach that is committed to the flourishing of each team member, and work to foster a transparent, collaborative and safe environment for those members to coalesce into a real team. A healthy team is the key to shipping good software in a sustainable way.

Shipping product

I love taking something from a rough idea to a release that real users interact with. I’ve helped ship new features on long lived apps, large redesigns, and several brand new experiences. I love being involved in shipping for the long haul, not just the MVP. Practically that means helping to create and reinforce feedback mechanisms while focusing on quality and consistency as part of the continuous improvement loop.

Leading through change

I’ve been involved in several acquisitions, reorgs, and large migrations, but that’s not the only kind of change I’m familiar with. I’ve also led teams in the process of adopting an orientation of continuous improvement and helped repair broken process and practices at several orgs I’ve worked for. Regardless of the source of the change, I bring an attitude of “defiant optimism” that focuses on the things we can control and influence while filtering out the rest of the noise.

Experience

2025—now

Engineering Manager

Hashicorp, an IBM Company

I currently manage the Terraform Core team (we build Terraform Community Edition). I joined right as the IBM acquisition closed and saw my initial role as providing a steady hand through the transition while the team shipped multiple new language features. On the cross-org front I helped design and implement a new leadership comms process that refocused our limited synchronous time to go to tactical and strategic discussion rather than status updates. Currently I’m involved in a new cross-team effort where I lead a tiger team focused on preparing Terraform for an agentic future.

Sept 2024—July 2025

Director of Engineering

Audacy Inc.

I directed a 22-engineer application development org, growing us into three separate feature teams all delivering across across web and mobile. I operated as a technical product owner for those web and mobile applications and trained three senior engineers to step into technical lead roles for the first time.

May 2022—Sept 2024

Engineering Manager

Audacy Inc.

I initially managed a seven member team and acted as technical lead for the wider 20+ engineer client app org. Eventually I took ownership of a second team while continuing to provide systems architecture where it was needed. During that time I oversaw the JavaScript-to-TypeScript migration of our shared client services SDK and helped lead efforts to develop and ship the redesigned “A2” React web and React Native mobile apps to millions of monthly active users and more than half a million daily listeners.

Nov 2020—May 2022

Tech Lead / Engineering Manager

Cubic Digital Intelligence

I managed and mentored five engineers while advising two other ongoing projects as a tech lead. I led efforts to create a full software development lifecycle via GitLab CI/CD pipelines, helped break a monolithic app into containerized services for Kubernetes, and eventually took over the frontend team to lead a new design system and a progressive React SPA to replace a more traditional server rendered front end.

July 2017—Nov 2020

Senior Software Engineer

NPR

I helped convert the NPR One web app from JavaScript to TypeScript and wrote TS standards and style guide adopted by the broader org. I also led some of the containerization work for NPR’s first on-prem-to-AWS migrations, and mentored two junior engineers. Addtionally I led the “Play NPR” project on Google Assistant and helped build NPR’s Alexa “Continuous Listening Experience” — Alexa Skill of the Year, Project Voice 2020.

Nov 2016—July 2017

Web Developer

TEKSystems (NPR Contractor)

I helped build a new React and Redux editor for the NPR CMS — including leading the efforts for a Medium-style in-line formatting picker and copy / paste support that required consistent results across different word processor sources and browser destinations.

April 2015—Nov 2016

Web Developer

Atlantic Media Strategies

I built numerous responsive frontend components from mockups and custom WordPress post types to fit client content needs, plus a few data-driven full-stack apps on the MEAN and MERN stacks.

Aug 2014—April 2015

CMS/Web Developer

SevenTwenty Strategies

I built and launched responsive sites on ExpressionEngine and WordPress, and led the team to adopt a mobile-first approach to our front-end design and development.

2002—2014

Earlier career

Pastoral ministry, TNS, and more

Before my software engineering career, I spent about a decade in pastoral ministry: first as a youth pastor and music director, then later as the lead pastor of a ~ 250-person congregation, coordinating volunteers and leading several ongoing programs. During that same time I did my first paid dev work, providing support, scripting, and bug fixes on internal network-monitoring software at Transaction Network Services. That professional experience built on years of web work as a volunteer and hobbyist. Before that I was assistant manager at Frank Parsons Paper Company (big Dunder-Mifflin vibes), running inventory and delivery logistics as well as providing customer service.

Let's talk

If you’re looking for a mentor, steering a team through a hard transition, or just want to compare notes on engineering leadership, shoot me an email!

EMAIL TOMMY → or find me on LinkedIn →