How I Actually Build Systems

Tools, constraints, and habits — not theory
Architecture & Runtime
  • Java for scale and long-lived services
  • Elasticsearch for tagging, search, fast analytics
  • Python for ML / DSP / AI where tooling matters
  • Docker everywhere — cloud, edge, and local
  • Deployments on AWS, GCP, Azure, DigitalOcean, and my own hardware
  • Small edge-style deployments (Raspberry Pi, single-node Docker) - primarily personal projects.
  • Linux administration
Testing, Performance & Reliability
  • Unit testing in Java and Python
  • Integration testing with JUnit
  • Performance testing with JMeter
  • Strong bias toward regression testing and TDD
  • Regular use of profilers to stay inside CPU and memory limits
  • Designing systems so changes can be proven safe
Operations & Ownership
  • Run my own Jenkins servers
  • Operate my own Git servers (and GitHub)
  • ZFS-based storage with sanoid / syncoid backups
  • Responsible for systems other people depended on daily
  • Integrated notebooks and exploratory work into production systems
  • Comfortable owning failures and fixing them properly
Why This Matters for Sonar & Test Systems
  • I’m used to systems that run continuously and cannot be restarted casually
  • I assume data, models, and assumptions will change over time
  • I build pipelines that can be replayed, tested, and explained
  • I reduce operational and testing friction for domain experts
  • I’m comfortable sitting between hardware, physics, and software