Software engineer · product · infra · applied AI systems

I build products from 0 to 1 and systems from 1 to millions.

Product-minded software engineer specializing in applied AI, distributed systems, and backend infrastructure. I turn ambiguous product ideas into production systems, then own the architecture, outcomes, and reliability as usage scales.

Experience

2024 — Present · Intuit

Senior Software Engineer

Built AI-powered marketplace, recommendation, and workforce optimization systems for Intuit's Virtual Expert Platform. Worked on production applied-AI systems that improved routing coverage, operational onboarding, and customer-support outcomes at large scale.

2023 · AnimePics

Founder

Built a GenAI product from scratch that transformed user photos into anime illustrations. Owned the business, product, and engineering, including custom model training, payments, authentication, async GPU jobs, and media delivery.

2018 — 2023 · Ethos

Staff Software Engineer

Joined near the beginning and helped build the platform foundations behind a fast-growing engineering org: Kubernetes, deploy automation, Postgres migrations, eventing, service boundaries, and production operations. Helped scale Ethos from Series A to 100+ engineers, $50M ARR, and a multi-billion-dollar valuation.

“Eric was one of our first engineers… He played a fundamental role in building major parts of both our frontend and backend which have grown to become our core systems.”
Lingke Wang, Co-Founder at Ethos

2015 — 2018 · Curology + hiQ Labs

Product engineering foundation

Started professionally in frontend and product engineering, then moved deeper into backend systems after building a stronger computer science foundation.

Selected work

Built
to ship
and scale.

Short essays on software engineering

AI writing disrespectful essay artwork

Untouched AI output feels disrespectful

The reason why I think bad AI writing bugs people so much - it is genuinely disrespectful to ask someone to put effort into reading something you couldn't be bothered to put an ounce of effort into writing.

AI slop cannon essay artwork

AI makes bad engineers more expensive

Hot take - AI makes working with bad software engineers much more painful. Bad engineers were somewhat rate-limited.

Tech debt essay artwork

Tech debt is not always bad debt

"Tech debt" is actually a great name because debt is not always bad. Sometimes it is good.

AI and platform teams essay artwork

AI changes the value of platform teams

Maybe a hot take here - I think AI codegen is reducing the value of platform teams. Specifically those that have centralized platform ownership.

LLMs and collaboration essay artwork

LLMs are making software development less collaborative

LLMs have definitely made software development less collaborative. Personally I used to get pinged all the time for advice on code structure, technology choices, architecture, and so on.

AI reasoning trail essay artwork

AI-assisted work hides the reasoning trail

A lot of the decision making process now disappears into a black hole on Anthropic's servers. With LLMs, you often see the final implementation but lose the reasoning that produced it. That reasoning trail can be super valuable.

Knowledge debt essay artwork

The new tech debt is knowledge debt

AI has let people develop systems that cannot be managed or reasoned about without the assistance of AI, creating a lock-in effect and a dependency on the models.

AI rewrites essay artwork

AI makes rewrites less taboo

A software engineering truism that no longer makes sense after AI codegen: "Never do a full rewrite."

SQL query optimization skill artwork

SQL query optimization skill

A few years ago I wrote down advice for fixing slow SQL queries. Today, that kind of writing should probably be turned into a skill.

AI and agency essay artwork

AI rewards agency, but punishes shallow understanding

Have you ever talked to an engineer about their PR and you can tell they have no idea what is in it?

AI second-order effects essay artwork

AI and second-order effects

You ship a feature that queries the DB and brings a lot of data into memory. There is a separate thread that dequeues and processes logs from a queue in a loop.

Programming languages essay artwork

The best language is no longer just the one you know

A software engineering truism that feels weaker now after AI codegen: "The best programming language is the one your team currently uses."

Brooks's Law essay artwork

Brooks's Law is weaker, but not dead

A software engineering truism that feels weaker now after AI codegen: Brooks's Law from The Mythical Man-Month.

Software truisms essay artwork

Old SWE truisms that matter even more after AI

Simple beats clever. Duplication beats the wrong abstraction.

Debugging with LLMs essay artwork

Debugging with LLMs is amazing until it isn't

So one great side effect about machines that can process a Harry Potter novel amount of information in seconds is they can make debugging a lot quicker.