My Journey
From concrete and steel
to code and cloud.

I spent years managing complex marine construction projects. Now, I use that experience to build software that actually solves the problems I saw on site every day.

Ali Wagih

Two worlds, one perspective

My path is not typical for a software builder. I started in civil engineering, moved into project management on complex marine infrastructure, and then pivoted to computer science.

Each chapter taught me something essential: engineering gave me discipline and respect for constraints; PM taught me stakeholder navigation and delivery under pressure; CS gave me the tools to build solutions at scale.

The Background

My career started in civil engineering, where production meant delivering tangible infrastructure in harsh marine environments. As a Project Manager, I dealt with multi-million dollar budgets, complex stakeholder negotiations, and the constant pressure of tide charts and weather windows.

I saw first-hand how much friction exists in construction workflows. Data is siloed, decisions are made on stale information, and brilliant engineers spend hours copy-pasting spreadsheet rows.

The Pivot

I realized that the biggest levers for improvement were not better concrete mixes, but better information systems. I went back to school for Computer Science to build the tools I wished I had.

Today, I am bridging the gap. I speak the language of the job site and the language of the pull request. I build software that respects deep domain constraints while leveraging modern AI to automate the drudgery.

Core Values

The principles that guide how I build.

Empathy for the end-user

Software is for people. I build with their reality in mind.

Clarity over cleverness

Simple, understandable solutions beat complex ones.

Ownership of outcomes

I care about results, not just shipping features.

Bias for action

Start small, iterate fast, learn from what's real.

Rigorous simplicity

The simplest solution that works is often the best.

Reliability matters

From bridges to code—failure isn't an option.

Curious about what I am thinking about?

Check out my content