Tom Wheeler

Software Engineer | Backend and Platform Services

Download PDF
SUMMARY

Software engineer with 20 years of experience building and owning backend and developer platform systems across enterprise, content management, healthtech, telecom, and fintech. Designs stateless services for reliability and high availability, along with the tooling other teams build on, and directs AI coding agents to implement them. Repeatedly trusted to own ambiguous, outcome-scoped problems end to end.

SKILLS
Languages
Go (Golang)PythonJavaJavaScript
Backend and Data
PostgreSQLSQLRelational Data ModelingDatabase DesignData EngineeringETL/ELTData PipelinesNoSQLRedisBuntDBDjangoRESTful ServicesOpenAPIgRPCProtocol BuffersMicroservicesDistributed SystemsHigh Availability
Cloud and Infrastructure
AWSAWS ECSAWS FargateAzureDockerDocker ComposeKubernetesNetworking
Observability
DatadogSentryAWS CloudWatch
Personal Projects and Homelab
k3sArgoCDGitOpsTraefikOpenTofuCloudflareCloudflare TunnelCoreDNSDigitalOceanGCPOPNsenseTailscaleOpenVPN
CI/CD and Tooling
GitGitHubGitLab CI/CDJenkinsCircleCIJira
AI and Developer Tooling
Generative AILLM AgentsAI-assisted developmentClaude CodeMCPAnthropic API
Frontend (AI-assisted)
ReactSvelteTypeScript
Earlier Stack
J2EESpringHibernateJBossWebLogicAdobe AEMOracleMS SQL ServerLDAP
EXPERIENCE

Senior Software Engineer

XOi · Nov 2025 - Jun 2026 · Nashville, TN (Remote)

  • Owned a rule-authoring toolset for the Data Ops team, used in production to author and manage thousands of rules for XOi's Equipment Decoder; ran interviews and observation sessions, then designed and built what leadership called "essentially an IDE."
  • The team reported 80%+ productivity gains across most rule authoring, QA, and support workflows; the toolset also sped up developer and feature work.
  • Owned the Go backend services and APIs on PostgreSQL (AWS RDS), running as stateless, cloud-native containers on AWS ECS on Fargate with monitoring, alerting, on-call, and incident response; designed the React frontend architecture and component patterns, implemented with AI agents under human review of every change.
  • Features: hierarchical data viewer with dynamic filtering, rule syntax highlighting, single and bulk validation, input tester, bulk rule parser, and shareable trace reports exported as CSV and human-readable HTML so the Data Ops team could review detailed traces and validate rules.
  • Extended the team's Node.js CLI so developers could run rule traces locally and export them for developer and AI use; prototyped a Go CLI with a local MCP server for AI-assisted development and proposed a server-side MCP service.
  • Built the rule tracer, with a visual path showing which equipment rule qualified, under unit and integration tests with a CI coverage gate; designed with PII and SOC 2 compliance in mind.
GoReactNode.jsPostgreSQLAWSDockerClaude CodeMCP

Senior Software Engineer

Healthy Together · Oct 2023 - Sep 2025 · Miami, FL (Remote)

  • Architected and implemented core backend services: a double-entry, append-only accounting ledger with an OpenAPI-described REST API for other teams, and a food benefits management service. Designed its relational PostgreSQL schema with constraints enforcing immutability, plus migrations. Built to support Farmer's Market Nutrition Program (FMNP) and Senior FMNP benefits for Maryland and several other states, and enabled new revenue channels and opportunities.
  • Designed stateless, highly available, cloud-native services on AWS ECS on Fargate and PostgreSQL on AWS RDS for reliability; the team owned deployments, observability and monitoring (Datadog, Sentry, AWS CloudWatch), incident response, and an on-call rotation.
  • Led system design through RFC documents and set technical direction, collaborating with product and client engineering teams to build resilient, scalable, and efficient solutions.
  • Worked directly with customers and benefits-assistance workers, often several times a week, mostly in development and staging environments on new features, either leading the sessions or supporting the product manager.
  • Wrote unit and integration tests against real PostgreSQL with each PR, under a 100% coverage CI gate, and troubleshot customer escalations on occasional production issues.
  • Exposed a balance-check endpoint for clients, enforced tenant access control across the multi-tenant services, added an audit log for the non-accounting data the append-only ledger did not cover, handled PII, and supported SOC 2 evidence and fixes.
  • Adopted agentic AI coding tools to speed development, testing, and debugging; reviewed every agent-authored change before merge, with the same CI gate as a guardrail on agent-written code.
PythonDjangoPostgreSQLOpenAPIGitHubAWSDockerDatadogSentryJiraClaude Code

Staff Software Engineer

Nav Technologies · Aug 2022 - Aug 2023 · Draper, UT (Remote)

  • Led project teams with product managers and designers; mentored developers through pairing, code reviews, design sessions, and team huddles.
  • Co-authored, with another Staff Engineer, a Go data ingestion service on Kubernetes that automated intake of lending-partner sales lead and product life-cycle data, speeding up sales, enabling status tracking of lending applications, and driving commissions on card offers.
  • Made the ELT pipeline event-driven: AWS EventBridge event notifications signaled each partner file landing, and files were consumed asynchronously. Validated each partner file against its expected schema, used PostgreSQL for raw-data storage, then normalized the partners' varying formats into a unified relational data model that fed downstream products used by data teams. Wrote raw SQL.
  • Designed the service for reliability and high availability, stateless, and participated in on-call rotations, with Datadog and Sentry for observability.
  • Used gRPC and Protocol Buffers for inter-service communication between the Go services.
  • Wrote unit and integration tests with each PR, under a coverage threshold enforced in CI, and handled PII in lending-partner data.
GogRPCProtocol BuffersPostgreSQLGitLab CI/CDGitJiraAWSKubernetesDatadogSentryKanban

Senior Software Engineer & Architect

Intevity (1099 Contract) · Mar 2022 - Aug 2022 · Burlington, MA (Remote)

  • Authored a software assessment of application value to guide resource allocation and investment, and assisted clients in building more robust, up-to-date CI/CD pipelines.
JavaJavaScriptAdobe AEMAWSAzureGitJira

Senior Software Engineer

Teem by iOffice · Feb 2020 - Mar 2022 · Salt Lake City, UT

  • Asked back by Teem's leadership after WeWork sold the company to iOffice, returning to the same team.
  • As Teem under iOffice broke up its Django monolith to address scalability, proposed Go for smaller, more efficient services and led the extraction of the search API for physical spaces into Teem's first Go microservice, on PostgreSQL, with an OpenAPI-described API; used by other engineering teams.
  • Helped maintain existing Django applications, developed locally in Docker Compose.
  • Performance tested the main existing services with Locust, run as part of regression testing on every release.
GoPythonDjangoRedisPostgreSQLBuntDBLocustDockerDocker ComposeAWSGitJenkinsCircle CI

Tech Lead (promoted from Senior Software Engineer)

WeWork (Teem) · Mar 2019 - Feb 2020 · Salt Lake City, UT

  • Designed and built a Go identity integration, deployed on-premises inside customer networks, that syncs private LDAP/AD users and groups to Teem's user directory, with concurrent processing built on goroutines, sync.WaitGroup, and channels. It replaced a Python app; Go let us ship one self-contained binary with a backend, bundled web UI, and embedded BuntDB key-value storage. Open-sourced a BuntDB helper library as ezbunt.
  • Led a 40x performance optimization of the Google user sync for all customers, measured by throughput before and after: stored-hash change detection (following the Microsoft 365 sync's etag pattern) updated only changed users, and distributed systems design ran batches concurrently across the Django server fleet, with orchestration state in Redis (AWS ElastiCache) as the source of truth. Designed for reliability: failed records were skipped and logged, and the next sync picked them up automatically because their stored state was not updated.
  • Led the development team on user stories, agile process, and releases, and helped product managers define and refine new products and features.
  • Supported SOC 2 and security audits by resolving the issues found.
GoPythonDjangoRedisPostgreSQLBuntDBDockerDocker ComposeAWSGitJenkinsCircle CI

Tech Lead

Intevity (client: Nike, Inc.) · Nov 2016 - Feb 2019 · Beaverton, OR

  • Helped establish the contract from a professional network built during an earlier Nike engagement.
  • Designed and built a custom Adobe AEM integration with Nike's internal translation platform, providing internationalization for all global brand content, as team lead and contributor.
  • Implemented feature flags for high-risk releases.
  • Kept the Adobe AEM platform behind Nike.com's marketing content available to millions of site visitors across Nike, Converse, Hurley, and Jordan, with hundreds of authors publishing globally, as part of a small team with a QA engineer and a sysadmin: served content from cache through maintenance windows, added features, and participated in on-call incident response; worked directly with content authors on their issues.
JavaJavaScriptJSPGitAdobe AEMJCR/CRXIntelliJJira

Senior Software Engineer

Intevity (client: Adobe Government Solutions) · Jan 2016 - Nov 2016 · McLean, VA (Remote)

  • Consulting and engineering for government entities using Adobe AEM.
Java 8JavaScriptNode.jsAngularReactGitAWSAdobe AEMJCR/CRXIntelliJJira

Senior Software Engineer

Nike, Inc. (W2 Contract) · Jul 2014 - Jan 2016 · Beaverton, OR

  • Built full-stack solutions to serve Nike.com content and content authoring.
  • Implemented a major data migration to reorganize all brand content for Nike.com.
  • Advised outside teams on applications and web APIs.
  • Debugged a multi-week rendering bug that several engineers had been unable to resolve: on one older Internet Explorer version, line breaks rendered as missing-glyph boxes. Isolated it to that browser and tested a line-break string against each font in the stack, which showed the in-house currency-symbol overlay font, first in the stack, had no newline glyph; fixed the font build to insert an empty one.
  • Resolved an AEM scheduling failure for worldwide product launches: editors setting a 2:00am Beaverton-time launch on a daylight-saving transition day hit an error, because the AEM version's bundled tzdata could not be updated. Built a custom OSGi service, isolating a newer Java time library and tzdata from the rest of the system, to convert them to each launch's local time.
  • Demonstrated concepts and solutions to stakeholders and teammates across technical backgrounds.
Java 7JavaScriptJSPGitAdobe AEMJCR/CRXIntelliJJira

Senior Software Engineer

Columbia Ultimate · Aug 2013 - May 2014 · Vancouver, WA

  • Built J2EE solutions and web APIs, and custom data interfaces to migrate legacy data into the core product platform.
Java 7WebLogic 12cEJB3HibernateMS SQL Server

Software Engineer

EarthLink, Inc. / NewEdge Networks · Aug 2008 - Aug 2013 · Vancouver, WA

  • Built full-stack solutions in the JBoss J2EE container for a network order management system, with tooling for users to track the network information needed to fulfill an order, and internal web APIs integrating telecom partners, working with DBAs, QA, and business stakeholders to define requirements. Returned to the same team after a year at Pendum.
J2EEJBossSpringHibernateEJB2

Operations Analyst

Pendum, Inc. · Sep 2007 - Aug 2008 · Portland, OR

  • Provided guidance on technology usage and implementation for the Field Services group.

Software Engineer

EarthLink, Inc. / NewEdge Networks · May 2006 - Aug 2007 · Vancouver, WA

  • Built full-stack solutions in the JBoss J2EE container, plus internal web APIs integrating telecom partners.

Layer 2 & 3 Network Provisioner

New Edge Networks, Inc. · Oct 2005 - May 2006 · Vancouver, WA

  • Built WAN network connections for OSI Layers 2 & 3 on Alcatel network equipment via virtual interfaces.
  • Created a web app for provisioning high-speed network failover: it used a geospatial lookup over geocoded dial-backup locations to return the one closest to a customer site.
EDUCATION

Brigham Young University-Idaho

Bachelor of Science in Information Systems

PROJECTS

Sourcebee

Beta

GitHub collaboration app and developer tooling for engineering organizations - real-time org-wide visibility into pull requests, CI/CD, and releases, plus AI-generated insights for ICs and leaders.

  • Multi-service platform: Go API with an OpenAPI spec on DigitalOcean App Platform with managed PostgreSQL, three Svelte frontends (marketing site, web app, and internal admin web app) built with AI coding agents and deployed independently to Cloudflare Pages via wrangler, and a central OpenTofu infra repo with separate dev/prod state (in Cloudflare R2) and Doppler-managed secrets; GitHub Actions deploys per app repo.
  • GitHub App integration that tracks pull requests and code review from webhooks plus catch-up sync: review-request and first-review latency, stale review requests, PR size, and deploy-to-PR linkage from commit ranges via the Compare API, alongside CI/CD visibility, release views, AI-generated org analysis (Anthropic API over aggregated data: designed the context sent to the model and evaluated its output with output validation), and an MCP server for end users' agent tooling.
  • Read-only GitHub App scope (metadata only) as a deliberate guardrail, with team- and repo-level analysis, not individual tracking. Integrations: an internal Dex service (the Go dex package) for OIDC authentication, Paddle (billing), and Anthropic API, each with per-environment scoped secrets.
GoSvelteTypeScriptPostgreSQLOpenAPIDigitalOceanCloudflareOpenTofuGitHub AppMCP

ezbunt

Open source Go library of convenience functions for BuntDB, an embeddable key-value database: creating data files and storing simple and JSON-encoded values.

  • Written for the Teem LDAP/AD sync application and published as an MIT-licensed Go module; starred by the author of BuntDB.
GoBuntDB

dadjoketoday.com

A new joke every 12 to 24 hours.

  • Docker container on Google Cloud Run with autoscaling and a Cloud Tasks queue scheduling the next joke at a randomized 12-to-24-hour interval; Go backend with chi routing, Templ server-side templating, and Firestore.
  • Simple frontend: plain CSS with custom styles and vanilla JS.
GoChiTemplGCP Cloud RunGCP FirestoreDocker

sift.sh

Home Kubernetes cluster running k3s on bare-metal hardware.

  • GitOps: ArgoCD reconciles all cluster state from Git, with SOPS-encrypted secrets decrypted only at sync time.
  • SSO across every internal service via Authelia 2FA backed by an LLDAP directory, enforced at the Traefik ingress layer.
  • Cloudflare Tunnel exposes only the public app with zero inbound ports open on the home network, while CoreDNS/ExternalDNS auto-register everything else for LAN-only access.
  • 4-node topology on repurposed desktop hardware, with node scheduling constraints keeping heavy workloads off the weakest node; self-hosted Forgejo, Headlamp, and kube-prometheus-stack.
Kubernetesk3sArgoCDTraefikAutheliaLonghornCloudflare Tunnel