_
   ___  __ _ _ __| | ___  ___
  / __|/ _` | '__| |/ _ \/ __|
 | (__| (_| | |  | | (_) \__ \
  \___|\__,_|_|  |_|\___/|___/

software engineer · 18 years in · the last two changed how I build

Tools, workflow, and craft: the things a CV leaves out.

carlos@mx:~/how-i-work$whoami

Carlos García. Senior software engineer, 18+ years shipping web software: SaaS platforms, notification pipelines, payments, e-invoicing, government payroll.

Rails is home. I have lived in Python, PHP, Java, and JavaScript long enough to know their neighborhoods.

These days the terminal is my studio: I direct AI agents; they type faster than I do. Decisions stay human.

# remote from Mexico since 2013 · UTC-6 · away from the keyboard: MTB trails, electronic music (best experienced live), and always reading something

carlos@mx:~/how-i-work$cat principles.md

# Things I believe after 18 years

  • Stacks change, patterns hold. Monolith or microservices, Ruby or Python, the discipline is the same.
  • Fail fast; fix causes, not symptoms.
  • AI writes code. Humans own decisions. Everything ships through review.
  • Good tooling outlives its author: build things your team adopts.
  • Leave the code better than you found it.
  • Simple over clever. YAGNI is a feature, not a limitation.
  • Tests are a design tool. The suite is the spec.
carlos@mx:~/how-i-work$carlos --workflow
PLANSpec-driven development. The agent and I write the spec before any code exists.
BUILDThe agent scaffolds; I architect. Boilerplate stopped being my job.
VERIFYTDD gates everything. Agent output ships when the tests pass, not when it looks right.
REVIEWA custom PR-review Skill assists; my eyes own the merge.
SHIPDocker builds through CI, continuous deployment to production.
LOOPConventions become Skills, so each new project starts smarter.
carlos@mx:~/how-i-work$ls -lh languages/
drwxr-xr-xruby/since 2011 · Home. Rails 3 through 8, five companies, two products of my own
drwxr-xr-xjavascript/since 2008 · React, Hotwire and Stimulus, Backbone back when it was new
drwxr-xr-xpython/recent, focused · Payroll and compliance systems, automation, AI tooling, consulting
drwxr-xr-xphp/recent · A government ERP with a 14-developer team
drwxr-xr-xjava/2008-2011 · Where I learned teamwork; promoted to team lead
drwxr-xr-xsql/always · PostgreSQL, MySQL, SQL Server
carlos@mx:~/how-i-work$cat ai-stack.txt

# The pattern: agents + tools (MCP) + conventions (Skills) + human verification. Examples below, not the full inventory.

dailyClaude Code · Gemini CLI (agent-driven development in the terminal)
also usedChatGPT · GitHub Copilot · OpenCode · Kimi · MiniMax
exploringlocal models · new agents and harnesses as they ship
mcpcontext7 (live docs) · Chrome DevTools (visual testing, debugging) · Playwright · Stitch
skillspr-review* · uiux-validation* · hotwire-conventions* · stitch-to-react · docker-multistage
craftprompt engineering · context engineering · agent workflow design · harness engineering (Skills, MCP, verification gates)
in productOpenAI · IBM Watson · Gemini API · an NL-to-SQL engine built with LLMs

* Authored by me. The rest I adopted, because good engineers also know when not to build.

carlos@mx:~/how-i-work$cat technologies.txt
languagesRuby · Python · PHP · Java · JavaScript · SQL · Bash · C/C++
backendRuby on Rails (3.1 through 8.1) · Laravel · Django · FastAPI · Sinatra · Java Seam · Sidekiq · Solid Queue · REST APIs
frontendHotwire/Turbo · Stimulus · React · Vue · Angular + Ionic · Backbone.js · HTML · CSS/Sass · Tailwind · DaisyUI · Bootstrap
dataPostgreSQL · MySQL · SQL Server (Azure) · Redis · Active Record · SQLAlchemy · Django ORM
pythonpandas · NumPy · Excel, PDF, and XML processing · cryptographic signing (tax seals) · CLIs · Telegram bots
testingRSpec · Capybara · Cucumber · FactoryBot · Selenium · VCR · SimpleCov · Playwright · pytest · Vitest
qualityruff · mypy · uv · ESLint · Prettier · bundler-audit · import-linter
devopsDocker & Compose · CI/CD (Travis CI) · Git · Bash · Coolify · WireGuard VPN
cloudsAWS (IAM, S3, SFTP) · Azure · Heroku
serversLinux (CentOS, Alpine, Ubuntu Server) · Apache · provisioning, backups, VPN tooling
integrationsStripe · Braintree · Authorize.net · Twilio · Nexmo · Mandrill · Salesforce · Google My Business · Tango · PayrollXpert
architecturehexagonal, layered design (DDD) · multi-tenant SaaS · background processing · monolith modernization
practicesAgile · SCRUM (certified Master & Developer) · XP · SDD (spec-driven development) · TDD/BDD (as design tools, not checkboxes) · pair programming · code reviews · SOLID · DRY · OOD
carlos@mx:~/how-i-work$git log --oneline me
2026Shipped three Rails 8 + Hotwire apps solo, AI-first, all running in production: a point-of-sale system, a project manager for architects with Gemini-powered file summaries, and a pro bono system for ~400 retired teachers
2025Made AI agents part of a team's daily workflow: Claude Code, Gemini, MCP servers, custom Skills. The team kept my tooling after my contract ended. Learned that the multiplier effect is real
2025Built payroll and federal-compliance systems processing data for ~7,000 employees, solo, in Python
2018-24Built multi-channel notification pipelines (email, SMS) and shipped AI product features before the hype: sentiment analysis, AI-drafted responses. Mentored three developers along the way
2015-18Led a live Rails 3 to 4 migration on a ticketing platform with thousands of concurrent users. Learned to change the engine mid-flight
2011-13Founded a software company and built two multi-tenant SaaS products serving ~160 organizations. Learned product, clients, and ownership the hard way
2008-11First team lead role, two years into my career. Learned that software is a team sport
carlos@mx:~/how-i-work$contact --help

usage: reach out through any channel

exit codes: replies fast, in English or Spanish.