Focus
I'm full stack, specializing on backend engineering. On a typical week that's maybe 80% services, APIs, and data, 20% UI. Payroll platforms, dealer tooling, side projects: same split. Dealer Alchemist is still the day job. I've been picking up C and C++ on my own time, and the two threads connect more than the job title suggests.
Backend-first
I keep ending up on the layer where bugs are expensive. APIs, databases, background jobs. Wrong there and the UI doesn't matter.
Six years at Band of Hands on a nationwide time and payroll platform. 10,000+ users, county rules, timestamps across time zones. Wrong pay or a compliance miss, not a broken button. We leaned on transactions, typed boundaries, observers for time tracking, and CI/CD so nobody had to remember deploy steps by hand.
Dealer Alchemist sells dealers websites, not payroll, but the work rhymes. Onboarding needs validation before a build runs. Generation goes through queues across a dozen NestJS services. I rolled GCP Secret Manager into 12+ of those services so bad creds fail at boot instead of halfway through a job. I ship features. I also notice when everyone's busy and the system is still one bad deploy away from pain.
I still write frontend when a feature has to ship end to end. The part I keep choosing back is the boring stuff: tier limits, webhook retries, queue backpressure. We replaced Vagrant with Docker at Band of Hands and local setup dropped about 75%. Small infra wins like that stick around longer than most feature launches.
Side projects
After hours I built whole products, not APIs in a vacuum. From 2017 through 2019 that meant Laravel and PHP, UI included, but the part I cared about was schemas, transactions, and blocking bad data before it reached a user.
Homelessly mapped anonymous charity reports. Each submit was a transaction: location, headcount, needs, all commit or all rollback. Blue Skyline Marketing sent bulk SMS through Twilio with tier checks on the server before anything queued. Resume AI was a waitlist landing page. I wanted to see if anyone would sign up before I built the generator.
I kept five of these on one Docker stack locally. Apache, MySQL, one script to migrate. Same reason I pushed Docker at Band of Hands: setup shouldn't be the hard part.
C and C++
Production work is still NestJS, Laravel, TypeScript. Studying C and C++ is separate, on my own schedule.
A few years in I realized I could call an API and pass a review but couldn't always tell you what happened after Node or PHP took over. Where memory lives. Who owns a buffer. What you actually pay for a syscall. Those gaps kept nagging me, job title or not.
C forces the memory question. C++ adds RAII and templates, and most of the systems code I want to read lives there. I'm not pretending otherwise: small programs, exercises, reading other people's code. No production C++ on my resume yet. I want to understand what's under the runtime, not chase a new label.
What carries over
NestJS or a C tutorial, I keep asking the same thing: what fails first, and did anyone plan for it? The layer changes. The habit doesn't. More on that in How I Work.