Use This Apple Engineer鈥檚 7-Step Process to Solve Any Tough Problem

Expert software and systems engineer Allan Sun shares the system he developed for tackling obstacles big and small.

By Dan Bova | Dec 22, 2025
Comment
Allan Sun

is a software and systems engineer at Apple, where he works on real-time system software and infrastructure for Apple鈥檚 in-house 5G modem silicon platforms (C1X), one of the company鈥檚 most technically complex systems, used in its latest iPhone models. His work focuses on building measurement-driven systems that improve reliability, coordination, and failure diagnosis in production-scale environments where mistakes are costly and ambiguity is unacceptable.

Before joining Apple, Sun spent several years in a UC San Diego neuroengineering lab developing real-time software systems for brain-computer-interface (BCI) research. His work helped translate raw neural signals into actionable data during live experiments鈥攕ystems that push the frontier of science toward restoring mobility and independence for people with disabilities through direct neural control of assistive technologies.

搁别濒补迟别诲:听鈥榃e鈥檙e Very Open鈥: Apple CEO Tim Cook Says He Wants to Buy Startups. Could Your Company Be Next?

Across both scientific research and large-scale production systems, the underlying problem has always been the same: how to convert complexity into clarity. 

Whether the system involves neurons or silicon, success depends on rigorous design, precise measurement, and disciplined iteration. The same principles that keep real-time systems reliable under microsecond deadlines also apply to building resilient teams, products, and companies.

This is the approach Sun is known for internally鈥攁 measurement-first, systems-level loop that scales from research labs to production silicon.

7-Step Problem-Solving Method

1. Define the system problem and the stakeholder.

Sun starts by identifying which part of the system is under stress, who depends on it, and what failure actually looks like in practice. 鈥淚n complex systems, vague problem statements lead to fragile solutions,鈥 he says. 鈥淚 aim to define success in concrete, observable terms that everyone can agree on.鈥

In real-time system engineering, that might mean missed deadlines, dropped messages, or incorrect coordination. In a business context, it could mean customer churn, operational bottlenecks, or slow decision-making.

Takeaway: If you can鈥檛 clearly define the problem and who it affects, you鈥檙e probably solving the wrong thing.

Related: Gen. McChrystal Says You Need a Risk-Taking Mindset to Succeed: 鈥業f You鈥檙e Not Failing a Certain Percentage of the Time, You鈥檙e Not Doing Enough鈥

2. Understand existing solutions鈥攁nd where they break down.

Before proposing anything new, he studies how the system currently behaves. In software systems, this means understanding how components communicate, where timing assumptions exist, and where coordination breaks down.

In academia, this looks like a literature review. In industry, it鈥檚 architectural analysis: existing frameworks, industry-standard designs, implicit assumptions, and known bottlenecks.

鈥淭he goal isn鈥檛 to criticize what exists, but to understand why it fails under real-world conditions,鈥 he says.

Takeaway: Real insight comes from studying why current solutions fail鈥攏ot just why they succeed.

3. Know the constraints.

鈥淏efore building, I invest heavily in design,鈥 Sun explains. 鈥淭hat means explicitly identifying constraints鈥攖iming guarantees, ordering requirements, hardware resource limits, and long-term maintainability鈥攁nd defining clean interfaces between components.鈥

Correctness is often about coordination rather than individual lines of code in real-time systems. Measuring assumptions early prevents expensive rework later, when changes are harder and riskier.

Takeaway: Slow down early. Decisions made without measurement get paid for later鈥攚ith interest. Measure many times, cut once.

4. Build a focused proof-of-concept.

Sun first builds a minimal prototype that stresses the hardest parts of the system: message passing, synchronization, timing behavior, and failure handling. The goal isn鈥檛 completeness, he notes, it鈥檚 validation.

鈥淎 good prototype surfaces hidden assumptions while changes are still cheap. It shouldn鈥檛 prove what鈥檚 easy 鈥 it should prove what could break everything,鈥 he clarifies.

Takeaway: Prototype to test your assumptions, not to confirm your optimism.

5. Iterate through refinement and review.

As the system evolves, Sun says he relies on real behavior鈥攏ot intuition鈥攖o guide refinement: 鈥淚 seek early feedback from other engineers and domain experts, and I start testing as soon as possible.鈥

Unexpected results aren鈥檛 treated as mistakes; they鈥檙e data points that reveal gaps in the mental model of the system. 鈥淲hen something goes wrong, I want it to fail fast, fail early, and fail loudly鈥攕o the issue is easy to observe, diagnose, and fix,鈥 he says.

Takeaway: Fast, clear feedback turns failure into progress.

Related: The Framework Google Uses to Solve Its Hardest Problems Can Work for Anyone. Here鈥檚 What to Do.

6. Harden the system and verify its contracts.

Once the design stabilizes, his focus shifts to consistency. Communication paths must behave predictably, deadlines must be respected, and the system must remain understandable as complexity grows.

鈥淭his is where production-scale rigor matters most,鈥 Sun notes. 鈥淩eliability isn鈥檛 flashy, but it鈥檚 what allows teams, customers, and partners to trust the system鈥攁nd to build on top of it with confidence.鈥

Takeaway: If it鈥檚 going to scale, it has to work predictably鈥攏ot just once, but always.

7. Operate, observe, and evolve.

鈥淪hipping a system isn鈥檛 the end of the work鈥攊t鈥檚 the beginning of learning,鈥 says Sun. Real-world usage exposes edge cases, new requirements, and opportunities for improvement that no design phase can fully anticipate.

Some changes are incremental. Others point toward the next major architectural shift. 鈥淭he best systems鈥攁nd the best organizations鈥攖reat evolution as a feature, not a failure,鈥 he points out.

Takeaway: Shipping is the start of learning, not the finish line.

is a software and systems engineer at Apple, where he works on real-time system software and infrastructure for Apple鈥檚 in-house 5G modem silicon platforms (C1X), one of the company鈥檚 most technically complex systems, used in its latest iPhone models. His work focuses on building measurement-driven systems that improve reliability, coordination, and failure diagnosis in production-scale environments where mistakes are costly and ambiguity is unacceptable.

Before joining Apple, Sun spent several years in a UC San Diego neuroengineering lab developing real-time software systems for brain-computer-interface (BCI) research. His work helped translate raw neural signals into actionable data during live experiments鈥攕ystems that push the frontier of science toward restoring mobility and independence for people with disabilities through direct neural control of assistive technologies.

搁别濒补迟别诲:听鈥榃e鈥檙e Very Open鈥: Apple CEO Tim Cook Says He Wants to Buy Startups. Could Your Company Be Next?

Dan Bova VP of Special Projects

91成人 Staff
Dan Bova is the VP of Special Projects at 91成人.com and host of the How... Read more
Join the Conversation
Leave a comment. Be kind. Critique ideas, not people.
Sort: |

Related Content