Give me the hard work your team can’t get to.

Every feature starts with, “We can’t do this before we do this, and this, and this.” Deadlines slip. Deploys get scary. Good engineers spend more time working around the codebase than changing it.

Most teams know their dark corners. They need someone who can step into the mess, start shipping, and figure out which problems are actually worth fixing.

I join product teams and agencies as a hands-on principal engineer. Give me the features nobody has time to own, the deployment work everyone avoids, or the part of the app nobody feels confident touching. I start pushing PRs in the first few days and fix the problems I find along the way.

Tell me what’s stuck →


I start with the work

I usually pick up a few issues the team needs done but doesn’t have capacity to take on. That gets useful work moving while I learn the codebase, infrastructure, and deployment process.

Then I follow the problems that repeat. If local development is broken, I fix the setup. If every release needs babysitting, I fix the pipeline. If a core module blocks feature after feature, I make it safer to change and bring other engineers into the work.

I don’t clean up ugly code for the sake of it. Some dark corners are stable and cost almost nothing. The expensive parts are usually standing in plain sight: the code every feature passes through, the deploy that needs a babysitter, or the setup that steals a day from every new engineer.

Ways to work together

Embedded Engineering: For product teams and agencies that need a senior engineer who can operate independently. I take ownership of features, bugs, infrastructure, and the hard work sitting between them. I ship alongside your team and improve the system as I go.

Codebase Rescue: For teams whose roadmap has been swallowed by missed deadlines, failed deploys, and prerequisite chains. I work through the problems holding everyone back without disappearing for months into a rewrite.

Fractional CTO: For founders and engineering leaders who need help with technical direction, architecture, hiring, or building a team that can ship. This can stay advisory or include hands-on work.

Codebase Audit: Useful when nobody agrees on what should be fixed first. I read the code, infrastructure, pipeline, and test suite, then talk with the team. You get a short, opinionated set of priorities instead of a catalog of everything ugly.

More about working together →


What rescue looks like

One product team was drowning in work after building fast. Its Next.js app spanned Vercel, AWS, Terraform, RDS, and DynamoDB. Local onboarding and provisioning were fragmented, while deployments relied on a manual rsync process across unrelated development, staging, and production branches.

In under four weeks, while continuing to ship product work, I built a reproducible local environment, added a full CI gate, automated staging deployments, added guarded production releases, and made it possible to refresh staging with sanitized production data.

What clients notice

“An extraordinary thing happened when Ally joined our team: everyone got more productive. Her thoughtful code reviews and kind guidance were a force multiplier. Her in-depth knowledge of Postgres, Ruby, Rails, and AWS were on display as she confidently led multiple successful platform transitions without disrupting customer activity.”

Aaron Gerdes, Lead Engineer at Rosh Review

About me

I’m Ally Piechowski, a principal software engineer based in Southeast Asia and a US citizen. I’ve spent more than a decade working inside inherited systems and codebases that became harder to change than anyone expected.

My background runs deepest in Rails, but my current work spans Next.js, TypeScript, AWS, Terraform, and whatever else the system needs. The hard part usually isn’t the framework. It’s understanding an unfamiliar system quickly and knowing which change unlocks the rest.

I stay hands-on and work directly with your team throughout the engagement. If a project needs more people, we make that decision together.

Work with me →