Senior Software Engineer
Victor A. Villagomez
Introduction
I'm a Senior Software Engineer with more than 20 years of experience building web applications, APIs, cloud-based systems, and the infrastructure behind them. I've worked in both SaaS product companies and custom software consulting, which has given me experience on two very different sides of software development.
Over the years, my role has grown well beyond writing code. I'm comfortable taking a problem from an initial conversation through architecture, implementation, deployment, and production support, while working directly with clients and teammates along the way. I still enjoy getting into the code, though. That's the part of the job I have no interest in giving up.
How I Think About Engineering
I like to understand the problem before deciding what the solution should look like. Requirements, existing architecture, time, budget, and the expected lifetime of the software all matter. The technically ideal solution isn't always the right solution for the situation.
Once the goal is clear, I generally favor the simplest implementation that solves it well and fits the architecture around it. I care about readable code, good naming, useful tests, sensible abstractions, and systems that another engineer can understand without needing an archaeological expedition.
Experience has also taught me when not to change something. Sometimes a system deserves a substantial redesign. Sometimes incremental modernization is the better choice. And sometimes working software should simply be left alone until there's a good reason to touch it.
Background
I've spent my career building software across different industries, teams, and technology generations. I've worked on long-running SaaS products as well as custom applications where engineering decisions have to account for client requirements, timelines, and budgets.
A significant part of my recent work has involved modernizing established systems, designing new applications and services, working with cloud infrastructure, and helping move legacy applications toward more maintainable architectures without losing sight of the business that depends on them.
Twenty-plus years of doing this has made me more resourceful, organized, and considerably calmer when things go wrong. It's also made me a better communicator. I'm comfortable discussing implementation details with engineers, working through requirements with clients, and explaining technical tradeoffs without turning every conversation into a computer science lecture.
What Keeps Me Curious
I still enjoy building products where I can see the connection between the technical work and the person using it. I'm particularly interested in application architecture, cloud and serverless systems, APIs, modern web development, and the process of turning an idea into a working product.
More recently, AI has changed the way I approach learning and development. Instead of making unfamiliar technology something expensive to explore, AI-assisted development has made it practical to experiment, learn quickly, and work outside the boundaries of the stack I already know. I use AI development tools regularly, both to accelerate familiar work and to explore technologies and approaches I might previously have passed over.
That combination is what keeps software interesting to me after more than two decades: experience gives me a better sense of what matters, while there's still always something new to figure out.
Outside the Code
Software is a big part of what I do, but not all of it. Outside of work, I created and co-host 12Coffees, a podcast and media project covering MMA, television, and whatever else gives us something worth arguing about.
I'm also a longtime UFC fan, enjoy traveling whenever I can, do CrossFit, and spend a questionable amount of time watching movies and television. 12Coffees eventually brought several of those interests back into software when I started building tools and interactive experiences around the community.