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
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.
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.