Principal Software Engineer · Austin, TX
Angelo Manos
I build the platforms teams ship on — backend systems, cloud infrastructure, and the ML pipelines that keep models honest between training and production.
About
I'm a full-stack engineer with fifteen-plus years of shipping production software, most of it on the backend and the infrastructure underneath it. The part of the job I've gotten best at is breaking a fuzzy goal into a plan a team can execute — service boundaries, data model, delivery pipeline — and then following through until it's running, observed, and boring.
Lately that work has been service-oriented, event-driven platforms on GCP and AWS: Terraform-managed infrastructure, GitOps pipelines that spin ephemeral environments up and down, Kafka and Pub/Sub for the messaging layer, OpenTelemetry across everything. And increasingly it has been machine-learning infrastructure — feature stores, streaming features, model packaging and serving — because that is where I keep finding the biggest gap between what gets built and what stays working.
Off the clock: music, art, skateboarding, and a long-running habit of self-hosting things on a single NixOS node that I probably should have put on a managed service.
Skills
Languages
- TypeScript / Node.js
- Python
- Java / Kotlin / Scala
- Go
- Rust (supporting binaries)
- C / C++
- Ruby
- PHP
- Bash
- SQL
- PromQL
Cloud & platform
- GCP
- AWS
- Kubernetes (EKS, k3s)
- Helm / Helmfile
- Flux GitOps
- Terraform
- NixOS
- Docker
- Cloud Run
- Cloudflare Workers & Zero Trust
- Linux
- nginx / Envoy Gateway
Data & streaming
- PostgreSQL
- BigQuery
- ClickHouse
- Apache Kafka / Redpanda
- Apache Flink
- Redis / Valkey
- Elasticsearch
- Cassandra
- DynamoDB
- DuckDB
- Parquet / S3
- MinIO
ML platform
- Feast feature store
- Point-in-time training sets
- Streaming features (Flink → online store)
- XGBoost → ONNX
- ONNX Runtime serving
- Training/serving skew detection
- Kubeflow / Ray
- Metaflow
- Model release workflows
Services & APIs
- OpenAPI spec-first
- gRPC / protobuf
- Fastify
- Spring Boot
- Express
- Ruby on Rails
- Event-driven architecture
- Casbin RBAC
- JWT / OAuth
Frontend & mobile
- React 19
- Vite
- Zustand / TanStack Query
- Tailwind
- Angular
- Flutter / Riverpod
- Google Maps Platform
Delivery & observability
- GitHub Actions
- Jenkins (JCasC, shared libraries)
- CircleCI
- OpenTelemetry
- Prometheus / Grafana
- Jaeger / Loki
- Datadog / New Relic
- Playwright e2e
- TDD
ML platform & MLOps
Models are easy. Keeping them honest is the work.
Most ML incidents aren't model bugs — they're a feature computed one way in the notebook and another way in the service, or a training set that quietly saw the future. I build the layer that prevents that: one feature schema, enforced on every write and read path, from the batch job to the request handler.
Feature stores as the contract
Feast-backed feature platforms where the registry is the single source of truth: batch and stream producers validate against it before they write, training and serving read the same versioned feature service.
Point-in-time correct training
Training sets assembled with as-of joins so every row only sees what was knowable at the event's timestamp — no leakage, no AUC that evaporates in production.
Streaming features
Flink jobs over Kafka with event-time windows and watermarks, pushing near-real-time aggregates into the online store through the same schema the offline path uses.
Packaging & serving
XGBoost and friends exported to ONNX and served from JVM services with ONNX Runtime — one artifact, no Python at the edge, feature vectors assembled from the online store at request time.
Model SDLC
At Harman I partnered with ML engineers to design the end-to-end training and inference SDLC — CI/CD, config management, release workflows, code standards — cutting delivery time and deployment errors by roughly half.
Skew detection & observability
Served-feature logging joined back to the offline reconstruction, OpenTelemetry traces through the inference path, and dashboards that catch training/serving drift before the business metric does.
Experience
-
Sep 2024 — present
Sr. Principal Software Engineer · Harman International
- Architected a service-oriented, event-driven platform on GCP: Terraform-managed, multiple permanent and ephemeral environments, services and jobs on Cloud Run, Pub/Sub as the message bus.
- Built and ran production TypeScript and Python REST APIs (OpenAPI-driven) with supporting Rust binaries, PostgreSQL, BigQuery for OLAP and Redis caching, developed under TDD.
- Partnered with ML engineers to design and operationalize the end-to-end model training and inference SDLC, cutting delivery time and deployment errors by ~50%.
- Designed cross-project, multi-environment GitOps CI/CD so developers spin environments up and down safely under least-privilege access; misconfiguration incidents dropped and delivery frequency rose sharply.
- Standardized OpenTelemetry instrumentation across all services and provisioned end-to-end observability (metrics, traces, dashboards, alerting) via Terraform.
- Shipped threaded comments, search, a high-throughput event-driven messaging system, digital-asset license validation, and edge services on Cloudflare Workers with Zero Trust database access.
-
Jun 2023 — Sep 2024
Principal Software Engineer · App Lattice
- Designed a vendor-agnostic, declarative service platform on AWS EKS with Kubernetes, Helm and Helmfile.
- Built and maintained gRPC microservices in TypeScript/Node.js on an event-driven Kafka backbone; ran PostgreSQL, Cassandra and Redis clusters behind them.
- Owned Jenkins CI/CD (JCasC + shared libraries) and a self-hosted observability stack — OpenTelemetry, Prometheus, Grafana, Jaeger, Loki.
-
Sep 2021 — Jun 2023
Staff Software Engineer · HealthSherpa
- Performance work on a Ruby on Rails + PostgreSQL backend that directly helped over a million more people enroll in health coverage.
- Owned major backend projects end to end: RFCs, technical design, scoping and estimation; designed horizontally scaling AWS infrastructure for millions of requests per second.
-
Aug 2019 — Sep 2021
Sr. Principal Software Engineer · Standard Conversions
- Set the engineering practices for a startup — PR and review process, quality guidelines, deployment and disaster-recovery procedures.
- Built TypeScript ETL pipelines ingesting large time-series datasets from third-party APIs into Elasticsearch for BI; led the migration of a PHP monolith to a Spring Boot distributed system.
Projects
feast-demo — feature store, end to end
A batteries-included ML platform in miniature: synthetic events → DuckDB batch jobs → Feast offline/online stores, a Flink job pushing streaming features, XGBoost trained on point-in-time joins, exported to ONNX and served from Spring Boot. Runs on a local kind cluster with Nix.
- Feast
- Flink
- Kafka
- DuckDB
- XGBoost
- ONNX
- Spring Boot
- Terraform
- kind
MiSpots
A location-based social platform I run end to end: OpenAPI-first Fastify API, React map app, Flutter port, admin dashboard, streaming video pipeline, and a notifier service on Kafka — deployed by Flux onto a NixOS k3s node provisioned with Terraform, with per-branch disposable environments and an unattended Jira-to-PR coding agent.
- TypeScript
- Fastify
- Prisma
- React
- Flutter
- k3s
- Flux
- Envoy Gateway
- NixOS
- Terraform
- ClickHouse
- Redpanda
msx — environments as a CLI
A developer-experience CLI for MiSpots: one command stands up an isolated droplet with its own k3s, Flux branch, DNS and TLS, seeds it, and tears it down; a drift guard in CI fails the build when infra changes outpace the tool.
- TypeScript
- Terraform
- DigitalOcean
- Flux
- GitHub Actions
Self-hosted platform
Everything above runs on infrastructure I own: NixOS nodes, a WireGuard admin plane, SOPS-encrypted secrets reconciled by Flux, nightly backups to object storage, and image automation that rolls deployments from CI-tagged images.
- NixOS
- WireGuard
- SOPS / age
- Flux image automation
- MinIO
- PostgreSQL
Writing
-
Keeping training and serving honest: a feature store walkthrough with Feast, Flink and Kafka
A tour of feast-demo, a batteries-included project that trains and serves a track-skip model, and why the feature store in the middle is the part that keeps the model from lying to you.
Contact
The fastest way to reach me is email: angelo@angelomanos.com. I'm also on GitHub and LinkedIn.