My work is a game, a very serious game
— M.C. Escher
I am a senior knowledge worker and independent consultant specializing in Software Product Engineering with 28 years of professional experience, coding since the age of eight and dreaming of computers since I am five.
I learn extensively and continuously because problem and solution spaces constantly evolve and cross into new knowledge domains and learning is the bottleneck.
Working primarily with small businesses, I'm well-versed in the entire Software Development Life Cycle from Information Architecture and UX Design to Software Architecture, Data Architecture, Software Engineering, DevOps Engineering, and Service Reliability Engineering.
In 2023, I begin broadening my focus to include Data Science, Machine Learning, and AI.
Over the past decade, I learn how to build systems that build systems by designing, integrating, deploying, documenting, and advocating for best practices and technology stacks. I also dedicate time to teaching and mentoring my teammates. Along the way, I learn to leverage technical debt.
I am proficient in designing, implementing, testing, deploying, and operating containerized web applications. My everyday toolbox contains Angular for single-page apps, Nest.js for web services, SQL and NoSQL databases, and GitLab CI/CD pipelines for deploying applications to Docker Swarm clusters provisioned using Ansible and monitored using OpenTelemetry.
As a Product Engineer, I am a stakeholder. As a knowledge worker, I value autonomy, mastery, and purpose. Money isn't a purpose; money is a measure.
Collaboration and cooperation aren't the same thing. I favor cooperation because I don’t want to cover for others’ mistakes when they don’t invest in continuous learning. While this might make me seem less well-rounded, the opportunity cost of compensating for others is too high. I've been on the other side.
I am the Farmer in the Covey Matrix. Small businesses hire me to cultivate best practices, plant well-adapted technology stacks, nurture PoCs and MVPs, and help grow teams through teaching and mentoring, because Software is a medium for storing executable knowledge and small businesses need deep generalists.