About Me
In a Nutshell
Ex-Google Principal Engineer (L8) and Engineering Site Lead. Have founded and sold companies. Currently a founder, fractional CTO and consultant.
Philosophy
Starting with solid design principles is the only way to end up with correct, maintainable software. It's still not guaranteed, but it's possible. If you just build without thought for product or scale, you will almost certainly end up with an overly complex mess with huge overhead costs.
There's a difference between software engineers and programmers. Most people you find at vendor companies can code - some quickly and correctly - but few understand how to engineer a system. You wouldn't hire a handyman to build a home. If you want to build a product, you need people who can design, architect, and code.
I still enjoy getting my hands dirty. Writing clean, readable, well-designed code is a skill, and like any skill, it gets rusty without practice. It's important to know what it actually takes to build something. These days, engineers should be leveraging AI to write most of the code, but AI still makes mistakes - you need to know what good looks like.
Good working relationships are built on mutual trust. At the start, that means agreeing on what's needed and what the roles and scope entail. As a project progresses, it means agreeing on status and commitments. When those agreements break down, trust breaks down, and the engagement goes poorly.
Strengths
- Cutting through ambiguity and complexity to find the core problem
- Understanding both the technical and organizational aspects of challenges
- Building systems and teams that scale
- Making technical decisions with incomplete information
- Bringing perspective from large-scale experience to smaller organizations
- Staying current on what actually works vs. what's just trendy
Limitations
- A specialist in any one narrow technology - I'm a generalist with deep expertise in certain areas
- Interested in politics or managing up - I focus on solving actual problems
- Someone who will take over your whole operation - I help, I don't replace
- A fan of process for its own sake - if it doesn't help, we shouldn't do it
- Going to tell you what you want to hear just to keep the engagement going
Working Together
I don't have rigid packages or predefined scopes. Every organization's situation is different, and the engagement should reflect that. Some clients need ongoing fractional leadership. Others need intensive help with a specific challenge. Some want occasional advice and architecture review. All of these work.
I'm direct. If I think you're making a mistake, I'll tell you. If I don't know something, I'll say so. That said, I'm not difficult to work with. I have opinions, but I'm not precious about them. I'll advocate for what I think is right, but ultimately it's your organization and your decision.
I adapt to your existing tools and processes rather than demanding you adopt mine. For ongoing engagements, I believe in regular check-ins and clear accountability. You should always know what I'm working on and what progress is being made.
I'm based in Orange County, California. I work primarily remotely, though I'm happy to work on-site when it makes sense.
The Longer Version
I taught myself to code in 1998 by building Snake on my TI-83 calculator - by hand, through trial and error, before you could just Google the answer. That experience led me to study computer science at UCI, and I've been building software professionally since 2001.
I spent 13+ years at Google, starting as a software engineer and growing to Principal Engineer (L8) and Engineering Site Lead for Google Irvine. I led teams across business intelligence, interactive data analysis tools, data discovery, crawl infrastructure, and partner data ingestion and management. Some of that work became foundational: the query infrastructure I helped build evolved into Google Cloud BigQuery, and the data catalog work I led powers Cloud Data Catalog.
Managing a site of hundreds of people while simultaneously leading multiple engineering organizations gave me a perspective that's hard to get any other way. I understand what it takes to ship products used by millions and how to create environments where engineers do their best work.
After Google, I served as CTO at multiple companies, where I led engineering and IT building mission-critical data products. I founded (and sold) GoodHelp.AI, a multi-agent GenAI platform for SMBs, building it from the ground up.
These days, I split my time between helping organizations with technology strategy and leadership, and building my own projects. The combination keeps both sides sharp - consulting exposes me to diverse problems and constraints, while building my own products keeps me current on what actually works in practice.