Join 5000 CTOs and engineering managers for opinionated insights Subscribe

Stephan Schmidt, CTO Coach - October 22, 2025

Code First, UI Second


TL;DR: AI-powered product engineering enables a shift from traditional UI-first to code-first development, where product engineers deploy functional prototypes rapidly and iterate based on real usage data to design truly effective interfaces. This reverses the waterfall-driven approach where product managers designed elaborate UIs before understanding actual user needs, allowing form to follow function as teams learn what interfaces should look like through hands-on product usage.

AI is has more impact every day - it is changing how we think about software development and how we build software. This now changes everything we thought we knew about UIs and Software Development.

With Product Managers, it’s UI first, code second. With Product Engineers, this is now turned on its head: Code first, UI second.

Code First, UI Second

In the past, we were UI first, code second. Why? Because of Product Managers. Why? Because everyone was doing Waterfall aka. Scrumfall aka chopped-Waterfall. Product Managers had to work on something while developers were coding. Product Managers drew up the next UI, and coders then needed to add in the code. Because we didn’t iterate, the UI had to be perfect first time. And then move on to the next feature while developers were coding. We got more and more elaborate UIs and more and more elaborate UI tools. This was a disaster, it wasn’t agile, it was waterfall.

Without real - long term - users or user feedback, or real data and real usecases - the real ones, not the imagined ones, this led to UIs that looked nice, worked in small scale usability tests but did not capture the needs for the job to be done.

Today with AI, with product engineers, we can go code first. Let AI write the code, work with the Prototype, learn from usage what UI is needed.

Form follows function - which was the central philosophy of Bauhaus - and not function follows form. With elaborate UIs, we focus on the UI, the form, the beauty - not the job to be done. From interacting with the product, we learn what the UI needs to look like. Over days and weeks we learn what really matters and get a deep understanding. Usign the app with a draft UI lets us understand what the UI really needs to show, what numbers we need and what buttons. With AI and product engineering, we now go #CodeFirstUISecond for the first time. While this was too disruptive to companies in the past, and took too much effort in the past, with the amalgamation of the product manager role and engineering role, not only #CodeFirst is possible, but it’s the only way to go.

How to transition from UI-first to code-first, UI-second?

  1. Start Small: Identify a new feature or product where you can pilot this approach. Avoid trying to shift the entire organization immediately—run experiments and build confidence, experiment, experiment, experiment. As a CTO you need to know what from the cutting edge works already and what doesn’t.
  2. Move to Product Engineers: Move ownership for prototyping from product managers/UI/UX teams to empowered engineers (who may work with AI to rapidly prototype full features).
  3. Leverage AI Tooling: Integrate generative AI coding tools (like Claude, etc.) to quickly convert high-level ideas into functioning prototypes. This allows teams to get hands-on fast.
  4. Embrace Iterative Usage: Encourage the team to use early prototypes themselves (“dogfooding”), gather data, and learn directly from user behavior rather than relying on front-loaded research or speculative UI workshops.
  5. Adjust Processes: Replace classic requirements documents and mockup reviews with working demos and interactive feedback sessions. UI/UX design becomes a follow-up discipline, polishing what’s already proven valuable.
  6. Upskill & Shift Roles: Support product managers and UI/UX designers in adapting to more of an “editor” or “refiner” role—improving flows and polish after the functional surface emerges from usage.

First write the code, use the app, learn what a perfect UI would look like that get’s the job done, create the final UI. This is the new workflow. Break with the constraints of the past!

About me: Hey, I'm Stephan, a CTO Coach with 40+ years of software development and 25+ years of engineering management experience. I've coached and mentored 80+ CTOs and founders. I've founded 3 startups. 1 nice exit. I help CTOs and engineering leaders grow, scale their teams, gain clarity, lead with confidence and navigate the challenges of fast-growing companies.

Join 5000 CTOs and engineering managers for weekly insights from CTO Coach Stephan Schmidt
- no ads, no sponsorships, free.