// software_engineering.md

Systems
built to
last.

Photographer by nature. Engineer by discipline. I architect software systems with the same principles I apply to a portrait — clarity of intent, precision of execution, and the willingness to remove everything that doesn't belong.

cvillaronga ~ $ whoami
→ software engineer · photographer · linux enthusiast

cvillaronga ~ $ cat interests.txt
distributed systems · AI & machine learning
linux kernel · software architecture
human-computer interaction

cvillaronga ~ $

Technical domains

What I build

01 // systems

Software Architecture

Designing systems that scale with clarity — not complexity. Clean separations, minimal coupling, maximum coherence.

microservices API design distributed

02 // intelligence

AI & Machine Learning

Building models that learn from structure. Applied ML for real problems — vision, language, and the systems that run them.

python pytorch computer vision

03 // substrate

Linux Systems

Living at the command line. Infrastructure, kernel-level understanding, and the kind of control that comes from knowing what's underneath.

arch linux kernel devops

04 // interface

Backend Development

Robust, maintainable, well-tested. Software that handles the edge cases you didn't plan for — because the real world always finds them.

rust go postgresql

05 // interaction

Product Engineering

Bridging technical precision and human experience. Software should feel inevitable — the user should never see the seams.

react typescript UX thinking

06 // convergence

Photography × Tech

Using code to deepen creative practice — from camera automation to image processing pipelines and web presence that reflects the work.

cv pipelines web systems tools

Approach

Engineering philosophy

"Good architecture, like good photography, is about removing everything that doesn't need to be there."

I came to software the same way I came to photography — obsessively, through the details. The appeal was never the output alone, but the discipline required to produce it consistently, under constraint, at depth.

I believe that technical work done with intention has its own kind of beauty. A well-designed API, a system that handles failure gracefully, a service that runs for years without complaint — these are their own kind of portraits.

The intersection of engineering and photography isn't coincidental. Both require you to see what's actually there, not what you expect. Both punish assumptions. Both reward patience and precision.

2018

First camera. First terminal.

Both obsessions started around the same time. Learning to see and learning to build — two languages for the same thing.

2020

Software engineering, full-time

Backend systems, distributed infrastructure. The discipline of making things that work when no one is watching.

2022

AI and computer vision

Teaching machines to see. A natural intersection with photography — and a field that continues to evolve faster than intuition.

Now

Building at the intersection

Systems that serve creative work. Photography that informs how I think about software. Both practices, deepening each other.

Writing

From the blog

Research · Visual RAG

PixelRAG: when AI starts looking at the page

Analysis of a framework that replaces text parsing with screenshots, improving accuracy by up to 18% and reducing tokens 10×.

Read article →
Architecture · Software design

Software complexity is optional

How Specification-Driven Development and AI reverse the economics of complexity. Inspired by Ousterhout.

Read article →
Architecture · AI · Software design

The end of complexity

How AI and Specification-Driven Development change the economics of software design. First article in the AI-Native Software Architecture series.

Read article →
Architecture · AI

Architecture after AI

Why abundant implementation changes everything we know about software design. Second in the AI-Native Software Architecture series.

Read article →
Architecture · AI · Specifications

Specification-first software engineering

Why software should be designed before it is implemented. Third in the AI-Native Software Architecture series.

Read article →
Architecture · AI · Economics

The economics of software design

Why AI is expensive only when design is cheap. Fourth in the AI-Native Software Architecture series.

Read article →
Architecture · AI · Complexity

The human complexity budget

Why understanding is becoming the most valuable resource in software engineering. Fifth in the AI-Native Software Architecture series.

Read article →
Leadership · Engineering · AI

Reality cannot be negotiated with physics

Why technology leadership begins where management ends. First in the Engineering Leadership Beyond Management series.

Read article →

The engineering work lives here. The portrait work lives there.

← Return to photography