about

Hi — I'm Liliana.I engineer software, lead engineering, and drink the coffee that keeps both going.

I'm a software engineer and engineering leader. My work spans the whole shape of a system: architecture, backend, frontend and the production concerns in between — because a feature isn't finished until it behaves well where users actually are.

I've spent my career building for the web across the stack: interfaces, backend systems, APIs, SaaS products, media and advertising technology, and the production infrastructure that keeps them running. That range includes everything from semantic HTML and email layouts to internal operational platforms, video players, interactive advertising and browser games.

My core ecosystems are JavaScript/TypeScript and PHP. Today Vue and Laravel are where I'm most at home — but those are preferences, not boundaries. I pick (and learn) technology according to the problem, because the problem is what decides.

I've carried production applications across PHP's major generations — from 5.x-era codebases to currently supported releases — and migrated systems built on older frameworks toward modern ones. That work keeps teaching me the same lesson: technical debt is normal; ignoring it indefinitely is not. Production software can't always stop while everything gets rewritten, so modernization works best as verified, incremental steps that leave the system easier to maintain than you found it.

My bias is toward practical, maintainable solutions. I like boring architecture that fits the problem, tests that make change safe, and refactoring done in steps you can verify. When a system has history — edge cases, old decisions, customers depending on quirks — I treat that history as information, not an obstacle.

That's also why I'm comfortable working with existing systems, not only greenfield projects. Reading someone else's code carefully, figuring out why it looks the way it does, and improving it without breaking what works: that's a craft, and it's most of real software work.

One more thing about how I work: when you hire me, you talk directly to the person doing the engineering. No account managers, no translation layers between your business problem and the code. And I take ownership of what I build — I want to understand the problem behind the ticket, not just close it.