Stephan Schulz

Senior Software Engineer based in Berlin, with a strong focus on systems thinking, technical clarity, and sustainable architecture. My core expertise lies in building scalable mobile applications using native iOS and Flutter.

With over 20 years of experience across a wide range of technologies, I bring a holistic perspective to software development, one that helps teams move forward with clarity and purpose. I focus on creating structure in complex environments, thinking long-term, and supporting companies and products through calm, reliable execution.

My strengths lie in delivering value with focus and consistency, communicating architectural decisions clearly, helping others grow through thoughtful mentoring, and contributing to a positive team dynamic by being present and approachable. I'm passionate about building systems that are both scalable and understandable, and creating a culture of technical enablement.

Outside of work, I host a monthly meetup on MBTI personality types and personal development, motivated by a curiosity for human nature.

iOS Swift SwiftUI Objective-C Flutter Dart Cross-platform Development GraphQL REST OpenGL Encryption Native Module Integration Software Architecture Clean Architecture MVVM MVVM-C VIPER Redux MVP Domain-Driven Design Dependency Injection Modular Architecture Scalable Systems Design Patterns State Management Event-Driven Architecture DRY SOLID Functional Reactive Programming Combine Code Reviews Documentation Static Code Analysis Code Quality Code Ownership Unit Testing Functional Tests Integration Testing Snapshot Testing Mocking Code Coverage Continuous Integration Continuous Delivery CI/CD Pipelines Release Management TestFlight Linting VSCode Figma Performance Profiling Memory Profiling Scrum Kanban JIRA Git Flow Cross-functional Collaboration Agile Software Development Stakeholder Communication Technical Leadership Mentoring Knowledge Sharing Developer Experience Engineering Culture Decision-Making Communication Problem Solving Systems Thinking Long-term Thinking Sustainable Architecture Technical Enablement Human-Centered Development

Projects (excerpt)

On – Building On's First Multilingual Consumer App 2022 - 2024 / 16 months

On is a premium Swiss sportswear company, often compared to Nike or Adidas in terms of brand presence and innovation. I joined their mobile team at a pivotal early stage to help build their first public-facing, multilingual consumer app for iOS and Android using Flutter. The app has been well received by users, maintaining a strong rating in the App Store and serving as an important digital touchpoint for customers worldwide.

From the beginning, I was deeply involved not just in implementation but in shaping the foundation of the app's architecture and development process. Together with the team, I participated in multiple architecture sessions where we defined a layered structure separating concerns across app, domain, data, and presentation layers. We adopted the BLoC pattern for state management, used GetIt and Injectable for dependency injection, and chose AutoRoute for robust and declarative navigation.

One of my core contributions was leading the implementation of key user-facing features like Product List, Product Detail, Search, Cart, and Checkout. I also developed a custom payment provider plugin for both iOS and Android, taking full ownership of its architecture and reliability. Later, I documented and diagrammed the entire payment flow to ensure a smooth handover as the project scaled.

Working closely with the design team, I helped translate high-fidelity prototypes into a modular UI system composed of reusable components. This modularity supported long-term scalability, visual consistency, and reduced complexity across the codebase. Special attention was paid to detail: the app included custom transitions, platform-specific interactions, and polished animations that aligned with On's brand identity.

Beyond implementation, I actively contributed to the team's engineering culture. I introduced snapshot testing, helped establish and maintain CI/CD pipelines, and regularly served as release manager in our rotating system. I helped bring structure, clarity, and calm to the team, contributing to both the project’s technical direction and the collaborative process from the beginning.

This project remains one of my favorite experiences. It brought together everything I value in software development: thoughtful architecture, clear communication, collaborative design, and a high standard of quality.

"I have had the pleasure of working closely with Stephan on the same team, where we collaborated as Flutter developers. Throughout our time together, Stephan consistently demonstrated a strong commitment to code quality and cleanliness.

One of Stephan's notable strengths is his meticulous approach to reviewing code on GitHub. He approached each review with care and attention to detail, providing valuable feedback and engaging in patient discussions aimed at improving the codebase. His dedication to maintaining clean and efficient code has undoubtedly contributed to the overall success of our projects.

Moreover, Stephan has been instrumental in enhancing my skills as a developer. His willingness to share knowledge, offer guidance, and engage in constructive dialogue has greatly contributed to my professional growth and development.

Stephan is an exceptional colleague and developer who consistently strives for excellence. I wholeheartedly endorse him for his outstanding contributions to our team and his positive impact on my own skills and development." Maryam Karimi, Flutter Developer @ On
iOS Android Flutter Dart Swift Kotlin GraphQL BLoC GetIt Injectable AutoRoute Mocktail Flutter Plugins Encryption CI/CD GitHub Actions Unit Testing Shader TestFlight VS Code Scrum

Vivy – Server-Driven UI for a Digital Health App 2021 - 2022 / 8 months

Vivy is a digital healthcare assistant that connects health insurers with their customers through personalized content, programs, and guidance. The app helps users identify health risks, set goals, and access expert support.

My focus at Vivy was to research, design, and implement a Server-Driven User Interface (SDUI) solution in Swift. At the core of the system was a modular design system made up of reusable components, allowing screen layouts to be dynamically composed from server data. I helped define the supported visual object types and built a flexible rendering engine around them.

To make this solution cross-platform, I worked closely with the Android team to align on a shared SDUI specification and coordinate platform behavior. The system included a node-based builder tool, used by insurers to create custom flows like interactive questionnaires and health journeys.

The work came with the added challenge of dealing with a large, frequently shifting codebase. The app had undergone multiple scope changes due to regulatory shifts, so flexibility and clear architectural separation were critical. I documented the entire SDUI framework and its usage to ensure future maintainability and team onboarding.

Beyond implementation, I was also involved in interviewing new engineering candidates, working alongside the tech lead to prepare and conduct technical interviews.

"Stephan is an exceptional software engineer! I had a chance to work with Stephan on Consumer App at Durstexpress. From day one he was involved in the development of our Consumer Application. Proved himself as an experienced engineer who was always ready to present his own ideas or ways to improve the code, product and even the development process. Was always open to feedback and ready to provide feedback. Was involved in development, architecture decisions, UI development of our App. I can definitely recommend Stephan and it will be my great pleasure to work with him again in the future!" Eugen Disiak, Former Head of Mobile @ Vivy
iOS Swift Server-Driven UI Modular Design System SwiftLint Clean Architecture Modularization UICollectionView Candidate Interviews Bitrise Hiring Documentation Cross-Platform Collaboration

On – Laying the Technical Foundations for In-House Development 2021 / 6 months

In 2020, On began insourcing its internal software development and established a new IT department in Berlin. I joined during this foundational phase to support the transition on both technical and organizational levels.

My responsibilities included defining and documenting development workflows such as GitFlow and release procedures, helping shape the internal infrastructure, and participating in the hiring process through interview preparation and execution. I also maintained and delivered architectural improvements to existing native iOS apps written in Swift.

One of my key contributions was evaluating cross-platform frameworks to support future development. After in-depth research and prototyping, Flutter stood out due to its maturity, developer experience, and tooling. Based on these findings, we chose Flutter to rewrite one of On's core applications—a multilingual catalog app.

The new app was built using an MVVM and Redux-based architecture, with a strong emphasis on testability. All features were covered by unit, integration, and snapshot tests to ensure quality and maintainability. In parallel, I also documented both the Flutter and native iOS codebases to ensure long-term sustainability and onboarding efficiency without relying on AI-generated content.

This project was a chance to help shape a modern engineering foundation from the ground up and support a team during a critical phase of internal growth and transformation.

Flutter Dart Swift MVVM Redux Unit Testing Integration Testing Snapshot Testing GitFlow CI/CD Mockito Bitrise Firebase VS Code Cross-Platform Evaluation Documentation Hiring Technical Diagrams

Mercedes-Benz – Media & AR Experiences for Product Events 2017 - 2022 / 16+ months

At Mercedes-Benz, I was responsible for leading the development of multiple high-impact iOS applications, balancing technical depth, security requirements, and cutting-edge technologies like ARKit and 3D rendering.

I started by developing the Mercedes me media app from scratch, designed to provide journalists and event attendees with direct access to company news, media assets, and personalized content during product presentations and drive events. As the sole iOS developer, I shaped the app's architecture using MVVM, combined with ReSwift (a Redux implementation) and ReactiveSwift, as Combine was not available at the time. Deep linking and navigation were handled via a declarative routing system. Due to the group's strict data protection policies, the app included obfuscation and encryption measures, and later underwent external code audits to ensure compliance with internal security standards. I continued maintaining the app over the following years, delivering stability updates and feature refinements as needed.

Shortly after, I led the development of two augmented reality applications built with ARKit 2. The first app was a white-label tool for scanning physical objects, allowing teams to manage, export, and test scans internally. The second, branded application was able to import these scans and detect real-world objects in order to visualize state-of-the-art 3D models, such as a detailed AMG combustion engine, in augmented reality.

A key challenge in both AR apps was improving the realism and stability of the rendered models and reducing visual glitches caused by ARKit over longer sessions. I worked closely with the 3D and content teams to achieve a stable user experience across environments. These apps were featured at a major trade show in Austin, Texas, and later at a German automotive museum, showcasing their longevity and relevance.

Though my primary role was iOS development, I also supported the Android team, helping align architecture and process across platforms. I was involved in event preparations, observed the apps in real-world use, and continuously iterated on the experience based on hands-on feedback.

These projects combined long-term ownership, AR innovation, and secure enterprise development at a global scale. They reflect my approach to building robust, future-proof systems while staying close to real users and the environments where the apps are used.

iOS Swift MVVM Redux ReSwift ReactiveSwift Declarative Routing ARKit Augmented Reality Encryption Obfuscation Security Review Code Audits SwiftFormat SwiftLint CircleCI Fastlane UICollectionView Snapshot Tests

Open Source

Portrait of Stephan Schulz

Download CV / Summary
LinkedIn / GitHub
Mail / Call
Imprint