All posts
Product

From iOS Code to Product Vision

My journey from iOS developer to product manager and founder — how technical skills evolved into product thinking and what I learned along the way.

DZDaniel Zaharia
4 minutes read

The Developer's Dilemma

Four years ago, I was an iOS developer building features. Today, I run my own studio creating AI-powered productivity tools. The path from writing Swift code to shaping product vision wasn't linear, but it taught me something valuable: the best products come from understanding both the "how" and the "why."

It started with a simple realization — I didn't just want to build features anymore. I wanted to shape entire products.

The Healthcare Wake-Up Call

At Unified Practice, I was building medical EHR apps used in real clinics. Every line of code I wrote had real patient outcomes behind it. That responsibility changed how I thought about software.

I wasn't just implementing specs anymore. I was asking:

  • Why does this feature matter to practitioners?
  • How will this improve patient care?
  • What happens if this fails?

When I took the lead on redesigning the iPhone app interface, I realized I was already thinking like a product manager. I just didn't know it yet.

The Transition

Moving from iOS Developer to Product Manager at Unified Practice was my formal entry into product thinking. Suddenly, I wasn't just responsible for the "how" — I owned the "what" and "why" too.

I learned to:

  • Think in user outcomes, not features — Instead of "let's add a dashboard," it became "how can we help clinics make data-informed decisions faster?"
  • Balance technical debt with business value — Sometimes the right product decision isn't the cleanest technical solution
  • Communicate across disciplines — Translating between engineering, design, and business stakeholders became a daily skill

The technical background helped enormously. When engineers said something would take three weeks, I understood why. When designers proposed interactions, I knew what was feasible.

The Founder's Perspective

Running Smart Code Studio taught me the final piece of the puzzle: everything is connected. Product, engineering, design, marketing, support — they're all part of the same system.

Building OmniAssistant from scratch meant wearing every hat:

  • Product Manager — defining the vision and roadmap
  • iOS Developer — building the SwiftUI interface
  • Backend Engineer — architecting the Python AI pipeline
  • Designer — crafting the user experience
  • Growth — getting the app discovered and adopted

This holistic view changed how I approach problems. Instead of thinking in silos, I think in systems.

What I Learned

1. Technical Skills Are Your Superpower

Having a technical background in product management is like having a cheat code. You can:

  • Accurately estimate effort and complexity
  • Identify technical risks before they become blockers
  • Speak the engineering team's language
  • Make informed trade-offs between features and technical debt

2. Code Quality Mirrors Product Quality

The same principles that make good code — clarity, simplicity, maintainability — make good products. If your codebase is a mess, your product experience probably is too.

3. Users Don't Care About Your Architecture

No matter how elegant your Swift code is, if it doesn't solve a real problem for real people, it's just expensive art. Product thinking forces you to focus on outcomes, not outputs.

4. The Best Products Feel Inevitable

When you deeply understand both the technical possibilities and user needs, the right product decisions become obvious. It's like finding the natural path through the forest instead of fighting through the brush.

The Apple Ecosystem Advantage

Building for Apple platforms taught me something crucial about product craft. Apple's design principles aren't just aesthetic choices — they're product philosophy:

  • Simplicity — Hide complexity, reveal clarity
  • Consistency — Users should feel at home across your app
  • Delight — The little touches that make software feel magical

These principles now guide everything I build, whether it's an iOS app or a web dashboard.

Advice for Developer-to-Product Transitions

If you're thinking about making a similar transition:

  1. Start where you are — Look for product problems in your current engineering role
  2. Learn the business context — Understand how technical decisions impact business outcomes
  3. Practice explaining technical concepts — to non-technical stakeholders
  4. Stay technical — Your engineering background is an asset, not something to leave behind
  5. Build something end-to-end — Nothing teaches product thinking like owning the entire experience

The Future

Today, I'm building AI-powered productivity tools that help people think clearly and get more out of their day. The technical foundation enables the product vision, and the product vision guides the technical decisions.

It's the best of both worlds — the satisfaction of building something that works beautifully, and the meaning of building something that matters.

The journey from iOS code to product vision taught me that the most fulfilling work happens at the intersection of what's technically possible and what's genuinely useful. That's where the magic happens.


Currently building OmniAssistant, an AI productivity companion for the Apple ecosystem. Previously Product Manager at Unified Practice, where I led the evolution of mobile EHR platforms serving real clinics.