Stephen Ullom
Software Architect

Engineering clarity within complex, real-world problems

Software architect with two decades building resilient, scalable systems for high-stakes industries. I translate ambitious ideas into long-lived software products.

About Me

I’m Stephen Ullom, a software architect who has spent the last twenty years pulling order out of complex, physical systems. The kind of software where determinism, observability, and the gap between simulation and reality are not abstract concerns.

I work at the seam between business visionaries, domain experts, and software execution. I lead architecture, mentor engineers, align stakeholders, and ship software products built to evolve. I also heavily leverage AI-native workflows, from human-in-the-loop collaboration to fully automated agentic execution loops.

This site is itself a small showcase: spec-driven, statically rendered, and intentionally crafted, with a few easter eggs that hint at the kind of systems I love to build.

Skills

  • Systems-Level Reasoning
  • Architectural Tradeoff Analysis
  • Architecture Governance | RFCs & ADRs
  • Domain, Spec & Test-Driven Design
  • AI-Native Engineering
  • End-to-End Observability
  • Real-time & Safety-critical Systems
  • Digital Engineering & Simulation
  • Business Vision & Product Taste

Domains

  • Transportation
  • Energy
  • Robotics
  • Industrial Automation
  • MedTech
  • Simulation

Featured Projects

View All Projects →

Medical Injector

A deterministic, real-time contrast-injection controller with safety monitoring, and clinical workflow.

  • C++
  • Qt/QML
  • gRPC
  • HIL interfaces
  • unit testing
Animated UI showing a real-time injection sequence with pressure and flow telemetry.

Portfolio Site

Spec-driven Astro portfolio that turns content, architecture, and build governance into a public systems case study.

  • Astro
  • HTML5/CSS
  • Playwright
  • CI/CD

More case studies in progress

More project writeups and technical deep-dives are currently in development.

Architecture & Systems Thinking

A clockwise cycle of eight phases — Discovery, Problem Framing, Architectural Tradeoffs, Decision Records, Implementation, Integration, Observability, and Iteration — with three dashed feedback edges: observability informs tradeoffs, validation informs implementation, and decisions inform domain modeling. Discovery & Research Field study, user interviews, and prior-art review to surface real constraints before code. 01 Discovery & Research Problem Framing & Domain Modeling Translate findings into bounded contexts, glossary, and the core model the system will speak. 02 Problem Framing & Domain Model Architectural Tradeoffs Weigh load-bearing options against constraints — latency, cost, blast radius, operability. 03 Architectural Tradeoffs Decision Records & Alignment Capture choices as RFCs and ADRs; align stakeholders on the contract before building. 04 Decision Records & Alignment Architecture-Guided Implementation Build to the contract — specs, schemas, and ADRs steer the code, not the other way around. 05 Architecture-Guided Implementation Integration & Validation End-to-end checks, contract tests, and staged rollouts confirm the system behaves as specified. 06 Integration & Validation Observability & Feedback Telemetry, logs, and traces reveal how the architecture holds up under production reality. 07 Observability & Feedback Product Iteration & Evolution Findings re-enter the loop — what we shipped reshapes what we discover next. 08 Product Iteration & Evolution

How I Approach System Design

  • Model the world, not the database. The schema follows the bounded context.
  • Choose architectures based on proven boundaries and real operational costs.
  • Decisions are written down, not folklore. The artifacts outlive the meetings.
  • Predictable latency beats average latency. Tail behavior is the contract.
  • Measure first. Without telemetry, performance tweaking is a guessing game.
  • LLMs as engineering teammates, not magic boxes. Spec the work, review the diffs.
  • Solve the next problem while shipping this one.

Experience

Lead Software Architect & Product Manager Alstom Transportation
2021 – 2026
  • Led architecture and product strategy for a global suite of real-time rail simulation systems
  • Modernized 4 legacy systems into scalable, containerized platforms (-40% maintenance cost)
  • Implemented AI-augmented engineering workflows (-40-50% SDLC overhead)
  • Improved system observability (-50% MTTR)
  • Directed lifecycle and delivery of 7 simulation products used for system validation
  • Mentored and scaled a 14-person engineering team with 0% attrition
  • Built a FAISS-based RAG documentation engine to eliminate knowledge silos
  • Team leadership
  • Product strategy
  • Platform modernization
  • Observability
  • AI-Native workflows
  • RAG
Software Architect Alstom Transportation
2019 – 2021
  • Architected a deterministic digital-twin simulator for real-time control and testing
  • Designed a common software framework reducing development/maintenance effort by 30%
  • Established architecture standards adopted across the simulation product line
  • Evaluated and guided architectural tradeoffs (modular monolith vs. services)
  • Instituted architectural governance for stakeholder alignment (RFCs / ADRs)
  • Digital twins
  • Real-time
  • Determinism
  • Tradeoff analysis
  • Architectural governance
Senior Software Engineer Bombardier Transportation
2016 – 2019
  • Built real-time, deterministic train positioning and motor-response simulation systems
  • Designed a hardware-in-the-loop API bridging digital simulation with physical control systems
  • Led architectural design and served as scrum master for simulation/test products
  • Delivered technical guidance and training to engineering teams and key users
  • Simulation
  • CBTC
  • HIL APIs
  • Scrum master
  • Mentorship

Tech Stack

Languages

  • C#
  • C++
  • Python
  • Java
  • CUDA

UI & Front-End

  • Blazor
  • React
  • Astro
  • Qt/QML
  • WPF
  • HTML5/CSS

Distributed Systems

  • gRPC
  • GraphQL
  • REST
  • HIL interfaces

Data & QA

  • SQL Server
  • MongoDB
  • V&V automation
  • unit testing
  • Playwright

AI-Augmented

  • Claude Code
  • GitHub Copilot
  • GPT Codex
  • RAG
  • FAISS

Frameworks & DevOps

  • .NET
  • Git
  • CI/CD
  • Docker

Let's Connect

Stephen Ullom

Open to Principal / Staff / Architect roles in simulation, digital engineering, transportation, energy, robotics, industrial automation, medtech, or any field with hard problems.

Do Not Press