Staff Software Engineer
I make difficult production systems understandable and safe to change.
I am a Staff Software Engineer who helps teams modernize valuable systems they cannot afford to rewrite. I trace opaque production behavior, hidden coupling, distributed failures, and risky transactional workflows to make the next safe decision visible.
Choose your way in
Start with the question you brought.
You do not need to understand the whole archive before finding something useful. Choose the path that best matches why you are here.
01 / Architecture Retrospectives
Proof that the work changes outcomes.
Each case study starts with a problem people recognize, explains the useful intervention, and shows the outcome that made the next decision easier.
Monolith Modernization
System Cartography: Mapping a 10-Year Monolith
- Problem
- A valuable Rails platform had a decade of undocumented dependencies and seven lending funnels that were difficult to trace.
- Intervention
- Mapped the runtime and business paths, then gave squads a shared picture for making changes.
- Result
- Teams could modernize without a rewrite or planned downtime.
Database Engineering & Compliance
Database Archaeology: Safe Multi-Table PII Purge Engine
- Problem
- Sensitive records were spread across legacy PostgreSQL tables with dependencies that were not safe to guess at.
- Intervention
- Mapped the references and designed a five-phase deletion strategy with lock-timeout budgets and replication controls.
- Result
- The team could remove data while protecting live application state.
Enterprise Rails Resilience
Restoring a Hidden 4% of Customer Applications
- Problem
- Four percent of customer applications disappeared silently at the boundary between Rails sessions and downstream storage.
- Intervention
- Followed the request path through oversized cookies, defensive middleware, and the DynamoDB migration.
- Result
- Removed the hidden failure mode and restored the missing applications.
Fintech State Machines
Instant Money: Real-Time Debit Disbursement Architecture
- Problem
- Real-time disbursement had to coordinate transactional state without trusting uncommitted reads.
- Intervention
- Designed two-phase state verification gates and idempotent ledger webhooks.
- Result
- Funds could move quickly while the ledger remained consistent and replayable.
Panoramic View
Start with what the system actually does.
Panoramic View is my practical framework for legacy modernization: map the business process, trace what the software actually does across runtime boundaries, and resolve the differences before changing anything.
The user of the system might be a customer, an employee, an automated process, or an AI agent. The same questions apply.
Logs, traces, diagrams, documentation, and AI-assisted analysis are inputs to the map. They are not substitutes for understanding the system.
- What does the business expect to happen?
- What does the software actually do?
- Where do those views agree, diverge, or remain unknown?
Inventory β Evaluate β Address
Make the next safe improvement visible.
When no one person has the whole picture, delivery slows and risk hides in the gaps. I connect business goals, system behavior, evidence, and ownership so teams can decide together and move with confidence.
The shape of the work
One practice. Four ways it appears.
I build, repair, explain, and preserve systems. The projects below are different expressions of the same practice.
flowchart LR
M["Mike Hall | Staff Software Engineer"] --> B[Build]
M --> R[Repair]
M --> E[Explain]
M --> P[Preserve]
B --> B1[Ruby and Rails]
B --> B2[Products and tools]
R --> R1[Legacy systems]
R --> R2[Safer change]
E --> E1[Diagrams and standards]
E --> E2[Observability and teaching]
P --> P1[Communities]
P --> P2[UGtastic and oral history]
classDef mike fill:#f7efe1,stroke:#b45309,color:#1e232a,stroke-width:2px
classDef path fill:#e6f4f1,stroke:#0f766e,color:#1e232a
class M mike
class B,R,E,P,B1,B2,R1,R2,E1,E2,P1,P2 path
03 / Public work
Documenting the craft over time.
I have written technical guides, spoken at conferences, founded grassroots engineering communities (SCMC, Geekfest@OMF), and recorded oral histories of modern software development. The current index contains 184 interviews across 212 recorded assets.