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.

Read the feature-store walkthrough →

Writing

Contact

The fastest way to reach me is email: angelo@angelomanos.com. I'm also on GitHub and LinkedIn.