Christian Santiago

AWS Certified Developer

Cloud and software engineer focused on AWS infrastructure, data pipelines, cost efficiency, and service reliability.

I came up through infrastructure monitoring, incident response, and the data engineering around it, working directly with the clients and stakeholders who depended on the output. Lately I have been building AWS infrastructure in Go, Python, and Terraform for generative AI and machine learning workloads.

About

A bit about me.

A short professional summary and some personal context.

Professional

My work has spanned both ends of the scale, and each end teaches something the other cannot. Enterprise infrastructure, where a change to a shared system has a blast radius and you learn to respect it. Small and mid-sized businesses, where there is no layer between you and the client who needs the answer, so you gather the requirement, build the pipeline, and present the result yourself.

I spent four years in an enterprise environment on infrastructure monitoring and incident response, and the data engineering around it: thresholds and event-driven alert routing on the detection side, telemetry pipelines and dimensional models on the side that turned resolved incidents into failure patterns. All of it through an on-premise to hybrid AWS migration. Since then, systems integration, ETL pipelines, BI reporting for leadership, and freelance application development.

The through line in my work is system design. Good architecture has less to do with knowing services than with asking what tradeoffs you are making with a decision, and being able to answer. Reliability against cost. Simplicity against flexibility. Shipping now against unwinding it later. There is rarely a correct answer, only one that fits the requirement in front of you, so I reach for the smallest thing that meets it rather than the largest thing that impresses. I treat those decisions as revisable rather than permanent, and let telemetry rather than my own opinion tell me when one needs revisiting. The habit came from presenting technical decisions to leadership and non-technical stakeholders, who were never going to accept "because it is best practice" as an answer.

Lately I have been pointing that at generative AI and machine learning workloads, in Go, Python, and Terraform on AWS. MLOps is the direction I am headed. I am an AWS Certified Developer, studied computer science at Vanderbilt University and cloud engineering through the AWS Cloud Institute.

Personal

Most of what I do outside work comes down to getting people in the same room. That looks like cooking dinner for a friend group, or pulling friends who live in different cities onto a call to play through whatever strange indie game somebody turned up on Steam. The activity is mostly a pretext. The part I actually care about is that everyone showed up.

I cook a lot, and I recently restored my first cast-iron skillet, which took considerably longer than I expected. Mostly sanding rust off and putting thin coats of oil on it in the oven, over and over, until it stopped being orange. Worth it, though. Cast iron holds heat the way a thin pan cannot, so food hits the surface and actually sears the way you see in cooking videos.

I am in Nashville, so on a given week you might find me at a community event at my local bodybuilding gym, at a developer meetup at Bitcoin Park, or riding my road bike through a state park with no particular destination in mind.

I like learning for its own sake, and I have never really stopped. At the moment that means grinding through the long path of Math Academy's Mathematics for Machine Learning track, keeping up with deeplearning.ai, and working through DataCamp's AI and machine learning courses, then going and building something with whatever I just picked up. That last part is the honest explanation for most of the projects on this page. They started as things I wanted to understand rather than things I needed to ship.

Experience

Professional Experience

Roles, and the work that mattered in each.

Cloud Engineering Resident

AWS Cloud Institute

Remote

  • Developed cloud application skills through hands-on AWS labs across serverless and container services, building event-driven workflows with AWS Lambda, Amazon API Gateway, Amazon DynamoDB, Amazon S3, Amazon SNS, and Amazon SQS, orchestrating multi-step processes with AWS Step Functions, and deploying containerized applications with Docker, Amazon ECS, Amazon EKS, and Amazon ECR.
  • Applied AWS AI/ML services including Amazon Bedrock, Amazon Rekognition, and Amazon Textract, and built Retrieval Augmented Generation (RAG) workflows with LangChain, practicing Infrastructure as Code (IaC) and CI/CD, with least-privilege IAM and observability through Amazon CloudWatch and AWS X-Ray.

Business Systems Analyst

Price Printing

Nashville, TN

  • Built and maintained ETL pipelines for client-supplied data feeds, automating recurring data formatting and ingestion in Python, and integrated CRM, order management, and inventory systems, resolving the cross-platform data inconsistencies that were breaking fulfillment workflows.
  • Performed dimensional data modeling with star and snowflake schemas and surfaced it through SQL and BI dashboards, isolating analytical reporting from the transactional source systems.

Freelance Developer

Independent

Nashville, TN

  • Engineered automated ETL workflows to ingest, normalize, and validate raw client data from disparate third-party sources, enforcing the strict data hygiene and schema consistency required for trusted downstream workflows.
  • Delivered short-cycle contract engagements integrating client systems with industry-specific CRMs and third-party APIs, working against vendor platforms.

Software Engineering Resident

Codesmith

Remote

  • Designed REST APIs and microservice architectures across PostgreSQL and MongoDB in an intensive full-stack program covering system design and DevOps.
  • Built and contributed to open source products serving real developer communities, working in Agile cycles with pair programming and code review throughout.

Infrastructure and Monitoring Analyst

UPS

Nashville, TN

  • Developed incident response and infrastructure monitoring for high-throughput facility operations, establishing precise CloudWatch telemetry thresholds to detect anomalies and reduce mean-time-to-resolution.
  • Decoupled facility systems with SNS and SQS event-driven workflows to route operational alerts, reducing incident response lag across the distribution environment.
  • Transformed post-mortem incident reports into actionable data, designing dimensional OLAP models that isolated analytical queries from transactional traffic to track systemic failure patterns.
  • Contributed to an on-premise to hybrid AWS migration, working hands-on with Lambda, API Gateway, S3, RDS, DynamoDB, SNS, SQS, and CloudWatch.
  • Diagnosed and resolved PLC faults on automated conveyor and sorting systems to protect throughput targets.

Digital Marketing Analyst

Independent

Nashville, TN

  • Analyzed campaign performance in Python and Power BI, surfacing trends in conversion rate, ROAS, and audience engagement that drove spend and targeting decisions.
  • Aggregated and cleaned multi-source campaign data with SQL and Excel models, and tracked downstream site behavior and attribution through Google Analytics.
  • Planned and ran direct-to-consumer paid campaigns across multiple e-commerce accounts, owning budget, targeting, and creative iteration.

Education

Education

Academic background and certifications.

Vanderbilt University

Computer Science

AWS Cloud Institute

Cloud Engineering

Codesmith

Software Engineering Immersive

Certifications

  • AWS Certified Developer
  • AWS Certified Cloud Practitioner
  • AI Engineer for Data Scientists Associate (DataCamp Exam)
  • Data Engineer Associate (DataCamp Exam)
  • Data Science with AI – Professional Certification (Codecademy 12 week training)
  • Apollo Graph Developer

Currently studying and developing for the AWS Certified Generative AI Developer – Professional certification.

Projects

Side Projects

A few cool things I've recently studied and implemented.

retrain-pipeline

Training and governance

Retraining pipelines automate the training but not the judgment: no contract on incoming labels, no lineage from a model back to the rows that made it, and one bad batch can promote itself to production.

CI-driven MLOps retraining pipeline on Amazon SageMaker at $0/month idle cost and $0.0026 per training run: Great Expectations gates new labeled data as a required check on every pull request, short-circuiting on git diff so code-only PRs return in 5s against 56s for data PRs, and DVC versions each dataset in an S3 remote with git holding only the content-hash pointer, which carries into the training job name for idempotent submission.

A custom Go CLI-tool available to the CI runner submits the job and registers the result as PendingManualApproval in 3m41s from merge, under a CI role of 21 named IAM actions with zero wildcards that omits UpdateModelPackage, so no model is promoted without a human and CI could not approve one if it tried.

Stack: Go · Python · Amazon SageMaker · Model Registry · Great Expectations · Data Quality Gates · DVC · Dataset Lineage · Human-in-the-Loop Approval · Idempotent Job Submission · Least-Privilege IAM · scikit-learn · S3 · Terraform · GitHub Actions OIDC · CloudWatch

inference-gateway

Serving

Model endpoints bill by the token but tell you nothing: no per-caller attribution, no spend ceiling, and one runaway client can drain a month's budget overnight.

LLM inference gateway in Go adding the operational layer on top of Amazon Bedrock: Server-Sent Events (SSE) token streaming, per-key API authentication and rate limiting, and retries with backoff and jitter.

Meters token cost per request and attributes it per API key in structured logs, with per-key token buckets enforcing a hard ~$10.50/day spend ceiling in middleware rather than a post-hoc billing alarm. Cut worst-case Bedrock API calls per request 67% (9 → 3) by replacing the AWS SDK's nested default retryer with a single explicit transient-only loop. Deployed on Amazon ECS Fargate with Terraform IaC.

Stack: Go · Amazon Bedrock · Server-Sent Events · Rate Limiting · Cost Metering
ECS Express Mode on Fargate · Terraform · Docker · GitHub OIDC · CloudWatch · CloudFront · TypeScript · React

rag-api

Retrieval

Retrieval systems return passages but not accountability: no link from a claim back to the text that supports it, no way to separate a retrieval miss from a generation error, and a confidently wrong answer reads exactly like a right one.

RAG service in Go on Amazon ECS Fargate at $0.58/month all in, Bedrock inference included: 500-rune overlapping chunks that never split a multi-byte character, Titan v2 embeddings, and top-5 cosine search in pgvector, returning { answer, sources[] } so a wrong answer traces to whether retrieval or generation failed.

Profiled at p50 1.8s / p95 3.0s, with 88% of that in Bedrock generation against 0.77ms for the vector search, which ruled out indexing the vector store and pointed at token streaming as the only change that would move perceived latency. RDS owns the database password and ECS injects it from Secrets Manager at launch, so it never enters the image or Terraform state.

Stack: Go · Amazon Bedrock · Titan v2 Embeddings · pgvector · Vector Search · Source Citations · RDS PostgreSQL · ECS Express Mode on Fargate · Multi-Tier VPC · Terraform · Docker · Distroless · GitHub OIDC · Secrets Manager · CloudWatch

christiansantiago.dev

Edge and delivery

Static hosting hides its own risks: a bucket left public, a deploy nobody can reproduce, and long-lived keys sitting in CI forever. This one has none of the three.

A Cloud Resume Challenge build. Static page in a private S3 bucket reachable only through CloudFront by Origin Access Control, so the bucket has no public URL at any point. The visitor counter runs on a Go Lambda, and increments through a single atomic DynamoDB update rather than a read followed by a write, so concurrent visitors cannot race each other into a lost count.

Every resource is Terraform against remote state and every deploy is a git push authenticated by GitHub OIDC, so no long-lived AWS keys exist anywhere, including in CI. The DynamoDB client sits behind a Go interface, so the handler unit-tests against a fake with no AWS calls at all, and a Playwright check runs against production after each deploy: if the counter does not render on the live page, the deploy failed.

Stack: Go on Lambda arm64 · DynamoDB · Atomic Increments · API Gateway HTTP API · S3 · CloudFront · Origin Access Control · Route 53 · ACM · Terraform · Remote State · GitHub OIDC · Keyless Deploys · Playwright E2E · CloudWatch

Resume

Resume

Highlights here, full PDF linked below.

Highlights

My work has consistently sat where cloud architecture meets business intelligence: close enough to the infrastructure to build it, close enough to the data to know what it is for.

Cloud and platform engineering

Experience building AWS-hosted services in Go and Python, REST APIs, Terraform defined infrastructure, and event-driven workflows on SNS and SQS, deployed through CI that authenticates by OIDC rather than stored keys.

Monitoring and incident response

Track record of shortening incident response by setting CloudWatch alerting thresholds, routing operational alerts through event-driven workflows, and feeding incident telemetry into the reporting pipelines behind failure analysis.

Data engineering and reporting

Background in ETL pipelines for client-supplied feeds, star and snowflake dimensional models that separate analytical reads from the transactional systems they compete with, and SQL-backed reporting dashboards presented directly to leadership.

Services for generative AI and ML workloads

Three services deployed and verified on AWS covering training governance, retrieval, and inference serving, with data quality gates, private data tiers, and per-request token and cost accounting on a streaming gateway.

The PDF

My current resume is viewable in the browser or available to download directly below.

View Resume Download PDF

Contact

Connect

Email, GitHub, and LinkedIn.

Always open to connecting, especially about cloud and software engineering work on AWS, or roles where generative AI and machine learning workloads need someone to build the infrastructure underneath them.