The Principles

My approach to engineering is not built around a specific framework or a programming language trend. Instead, it is anchored in four foundational positions designed to combat systemic software complexity.

I. The Analytical Filter

Due to my dual background as a Lead Systems Analyst and occasional Product Owner, I act as an internal structural filter. I ensure that a project possesses a verifiable business value before a single line of code is written. Once value is established, I ruthlessly isolate the core scope—refining, slicing, and decoupling requirements until there is nothing left to extract. We must define what we are building and why before we argue about mechanics.

II. Pragmatism over Paradigm

I appreciate and utilize advanced architectural blueprints: Clean Architecture, Domain-Driven Design (DDD), Ports & Adapters, Pipes & Filters, Event-Driven Patterns, and custom Domain-Specific Languages (DSLs). However, I view them strictly as specialized tools to manage cognitive load and system scaling—never as a dogmatic corporate religion.

III. Radical Simplicity First

Every complex system should start its life as a simple, deterministic mechanism. When faced with a new challenge, my starting point is radically minimal—often beginning with pure, frameworkless objects (Plain Old Ruby Objects) or a straightforward command-line script. We must validate the baseline algorithm before wrapping it in architectural layers.

IV. Clean Domain Next

When a system needs to grow, the custom problem domain must be aggressively isolated from infrastructure noise. I focus heavily on writing highly expressive models and algorithms (Entities, Value Objects, Interactors, and Use Cases), sometimes designing custom internal DSLs.

“By completely decoupling business logic from third-party framework magic, external APIs, and volatile delivery mechanisms, the core software is built to outlive the current technology stack and whatever trend comes next.”


The Workbench

Tools are merely practical extensions of an engineer’s habits. My preferred structural methodologies, environment, and technical stack include:

Requirements & Specifications

  • Problem Statements, Product Vision Documents, Scope Mapping, Requirements Lifecycle Management.
  • Stakeholder Triage, Actor Identification, High-Fidelity User Stories, and Use Cases.

Systems & Architecture Design

  • Object-Oriented Design (OOD), Clean Architecture, Domain-Driven Design (DDD).
  • Ports & Adapters, Event-Driven Architecture, CQRS, Pipes & Filters, and RDBMS Schema Design.

Core Ecosystem & Technologies

  • Languages & Mechanics: Ruby 3.x (Metaprogramming, Custom DSLs, PORO), Rack, Rake, Distributed Ruby (DRb), ERB, JSON, C.
  • Data & Messaging: PostgreSQL, Firebird RDBMS (triggers, stored procedures), NATS, RabbitMQ, Google Protobuf, and Amazon AWS S3.

Environment & Diagnostics

  • Runtime Operations: Linux, macOS, TMUX, Git.
  • Core Editors: Helix, Zed.
  • Automation & Visualization: Entr, Pandoc, Graphviz.

42. That is all.