Szymon Mrozek

Overview

Software delivery often gets harder than it should, and my job is to make it simpler, faster, and more reliable.

Since 2016, I have worked across iOS engineering (with some backend work in Elixir/Phoenix) and engineering leadership, from hands-on product development to organization-level delivery responsibility.

In practice, that means building maintainable mobile systems with significant focus on developer experience, modular architecture, testing, CI/CD, and automations, while improving how teams plan, communicate, and execute.

I move between IC and leadership contexts depending on what the problem requires, keeping technical depth and delivery outcomes connected. I treat AI-assisted engineering as a useful tool for shortening feedback loops, but not as a substitute for engineering craft.

Technologies

  • Swift / Objective-C
  • UIKit / SwiftUI
  • Elixir / Phoenix
  • BigQuery / Looker
  • Xcodegen / Tuist

Skills

  • Mobile Engineering
  • Modular Architecture
  • Developer Experience
  • Testing
  • Automations
  • CI/CD
  • Engineering / Delivery Management
  • Leadership
  • Analytics / Data Analysis
  • AI-assisted Engineering
Read complete story

Hey, I’m Szymon.

I’ve been working as a software developer since 2016. I started my journey with iOS, driven mostly by a fascination with audio processing. At that time, I experimented with low-level digital sound algorithms written in C and C++, and wired them into iOS applications simply to explore how audio could be transformed, analyzed, and manipulated.

In 2017, I joined Appunite - a company where I could start working on professional projects and learn what building software for real users actually looks like. Over time, my focus shifted more strongly toward mobile applications and the broader ecosystem around them. I explored various programming concepts and approaches, reactive and functional programming, modular architectures, and testing - trying to understand not only how to build software, but how to make it easier to maintain and evolve.

Alongside application development, I became increasingly interested in automation and tooling. I spent a lot of time experimenting with CI infrastructure and developer workflows, looking for ways to reduce manual work and friction. In 2018, I built a CI management tool that allowed setting up an iOS-ready environment, with Xcode and all in just a few clicks. Optimizing repetitive processes and designing systems that scale human effort became a recurring theme in my work.

In 2020, I stepped into an Engineering Manager role, leading a team of over a dozen people responsible for delivering a mobile application for one of the largest C2C marketplaces in Poland. Looking back, this was probably the period when I made the most mistakes in leadership and management. During this period, I also started taking my first steps into backend development (Elixir/Phoenix) and partially operated as a mobile full-stack engineer, which turned out to be one of the most interesting phases of my engineering experience.

Building on those experiences, in 2023 stepped back from coding and I began working more closely with other Engineering Managers in a coaching-like role. To be honest, for a long time this brought little tangible value, and I didn’t yet have a clear understanding of what effective support at that level should look like. From mid-2024 onward, this work gradually shifted toward more direct accountability and managing leaders, with responsibility extending beyond individual teams. Over time, that evolution naturally led into a Head of Service Delivery role, with ownership of the entire delivery function.

Because of that journey, my perspective spans a wide range of roles, from individual contributor, through team leadership, to organization-level delivery and decision-making. This blog is a collection of observations from that path. I write about problems I’ve solved, tried to solve, or simply observed while working with teams and organizations building software. The topics vary, but the underlying question remains the same: why does software delivery get harder than it needs to be, and what can be changed to make it work better?

Timeline

2025

Undisclosed fleet app (freelancer) + Head of Service Delivery @ AppUnite

MOBILE

Undisclosed fleet app (iOS Engineer, freelancer)

Role: iOS Engineer

B2B mobile application for fleet customers of a global fuel retailer, supporting electric vehicles charging, payments, station discovery, and operational company account management.

The primary challenge was embedding a complete standalone iOS application into the main app under an extremely compressed timeline.

This required integrating a large codebase without duplicating dependencies, adapting the modular structure of the embedded app to fit the host application’s architecture, and ensuring the resulting solution remained reviewable, maintainable, and production-ready despite the scale and speed of the integration.

MANAGEMENT

Heads (Appunite)

Role: Head of Service Delivery

Heads were responsible for their functional areas and the outcomes delivered within them. They set priorities, defined standards, and made decisions affecting multiple teams. Heads coordinated across functions to keep direction and execution aligned. They represented their areas in leadership discussions and decision forums. Their role combined strategic ownership with accountability for results.

This role moved the focus from operational leadership into strategic ownership, with challenges centered around questioning and shaping the company’s service strategy rather than simply executing it.

Operationally, the role involved leading a layer of mid-level managers responsible for the entire service delivery branch of the organization. Key challenges included standardizing the service offering end-to-end—from a clear definition of what the service actually is, through explicit expectations around outcomes, quality, and accountability—where previously much of this had been implicit or inconsistent. A critical area of responsibility was designing and implementing a reliable financial management and planning system for service delivery. Historically, the organization struggled with a significant gap between financial predictions and actual results, leading to poor decision-making; addressing this gap resulted in meaningful cost savings and a positive financial outcome by year-end, following two consecutive years of losses.

An additional, full-fledged responsibility was ownership of the sales funnel from a delivery perspective, including preparing estimates, materials, and demos that supported sales efforts in a way that was both technically credible and conversion-oriented. The role also involved navigating the organization’s approach to AI in 2025—actively exploring practical, value-driven applications while resisting pressure to adopt AI “at any cost” without clear business justification.

Concrete outcomes delivered by the team included standardization of evaluation processes, rate changes, compensation bands, and cross-department collaboration practices.

On a human level, the team outcomes are: noticeable improvement in trust and working relationships between delivery teams and service leadership, clearer support structures for leaders, and better alignment between individual career paths and the actual work people were doing—within clearly defined business constraints rather than unchecked autonomy.

2024

Engineering management leadership

MANAGEMENT

OpEx (Appunite)

Role: Service Leadership Manager

OpEx was an operational team combining service delivery, client management, and people-related responsibilities. It coordinated day-to-day execution across projects, clients, and teams to keep the business running. OpEx handled escalations, staffing decisions, workload balancing, and client communication. It operated close to the ground, often compensating for unclear ownership or missing standards. In practice, OpEx carried significant responsibility without full strategic authority.

This role began in an environment with no clear, operational definition of what “good leadership” actually meant in a service-based organization.

Team leaders were largely operating on high-level visions and personal intuition, with little shared standard for delivery quality, leadership effectiveness, career progression, or compensation frameworks for developers.

A major challenge was navigating deeply rooted, collaboration-specific legacy—each team and client engagement had evolved its own ways of working over the years, often inconsistent and difficult to scale or compare.

As an early step into mid-level management, the work focused on bringing structure where none existed: defining baseline expectations for team leaders, introducing clearer feedback loops, addressing long-standing performance issues, and initiating conversations around career paths, rate bands, and leadership accountability.

Not all initiatives succeeded fully, but most of the core problems were at least surfaced and addressed for the first time.

The role required handling a significant number of difficult conversations, including providing long-overdue feedback and making hard decisions such as letting go of leaders who were no longer effective in their roles, while gradually shifting the organization away from implicit, legacy-driven leadership toward more explicit and actionable standards.

2023

Undisclosed secure messenger

MOBILE

Undisclosed secure messenger (Platform Engineer)

Role: Platform Engineer

End-to-end encrypted communication platform for enterprise and security-conscious users, combining messaging, voice, and video with strong offline support requirements.

The engagement focused on unblocking a struggling iOS team by addressing both technical and delivery-level issues beyond standard task-based workflows.

Major technical challenges included reducing excessive architectural coupling caused by poorly chosen offline-first patterns, stabilizing a largely undocumented legacy CI system with 45–60 minute build times and flaky tests lacking observability, and restoring team ownership by exposing systemic problems and engaging engineers in solving cross-cutting platform issues rather than isolated Jira tasks.

2020-2023

Undisclosed marketplace apps

MOBILE

Undisclosed marketplace app (Lead iOS Engineer, C2C domain)

Role: Lead iOS Engineer (C2C Domain)

The dominant e-commerce marketplace in Poland, operating at national infrastructure scale and serving millions of users daily across a highly modularized mobile application.

The main challenge was delivering a large, business-critical C2C selling feature (an undisclosed C2C app) into an existing super-app developed by dozens of engineers, while operating as an external contractor.

This required isolating ownership boundaries without breaking deep integration, designing a highly dynamic selling form varying across categories, delivery methods, and sales models, and actively supporting the early stages of app modularization in a codebase that was only beginning its transition toward a multi-module architecture (currently 230+ modules).

MOBILE

Undisclosed C2C app (Engineering Manager)

Role: Engineering Manager (cross-functional team with Mobile, Backend, Product & Analytics competence)

High-traffic local C2C marketplace built under extreme time pressure, driven by a hard marketing deadline tied to a national TV campaign and a broad product scope covering the full mobile e-commerce experience.

Key challenges included delivering the application end-to-end in roughly five months (pre-AI tooling era), coordinating multiple stakeholders with conflicting priorities, and compensating for limited backend availability during active development.

From a technical perspective, this was my first large-scale, properly modularized mobile architecture built from scratch, designed to enable rapid development, easy component replacement (including temporary WebView-based solutions), and long-term scalability, supported by aggressive acceleration techniques such as code generation, one-click module creation, and workflow orchestration optimized for development speed.

2018-2019

Undisclosed hospitality app

MOBILE

Undisclosed hospitality app (Lead iOS Engineer)

Role: Lead iOS Engineer

Enterprise-scale hospitality application forming a core part of the guest experience for one of the largest resort and entertainment operators in the US, including reservations, loyalty, and on-site services such as mobile room keys.

The project inherited a heavily constrained legacy codebase built around a highly non-standard architecture and a custom internal DSL, resulting in steep onboarding costs and critical production issues, particularly around physical door lock interactions.

Key challenges included executing a deep refactor to reduce architectural complexity, restoring reliability of core guest flows, and building an automated functional test foundation providing sanity coverage for the most critical user journeys, which significantly reduced the cost and risk of regression testing. All of this was delivered while integrating with outdated hotel reservation systems and validating fixes through real-world, on-site testing in Las Vegas properties.

2017-2018

Undisclosed fitness apps

MOBILE

Undisclosed fitness apps (iOS Engineer)

Role: iOS Engineer

Mobile tools used globally by professional fitness instructors as the primary way to manage and play licensed training music during live classes.

The core technical challenge was building an advanced, low-latency audio engine on iOS, capable of parallel sample playback, multi-track mixing, dynamic tempo changes, and real-time BPM calculation.

The system had to behave deterministically under live conditions, support seamless transitions between tracks, and remain stable across a wide range of devices (including TVs), effectively treating iOS audio processing as a real-time system rather than a typical media player.

2017-2023

Platform Engineer (Appunite)

MOBILE

Platform Engineer (Appunite)

Role: iOS Engineer

Software development services company delivering team augmentation and end-to-end delivery teams across multiple mobile and backend technologies.

The technical challenges extended beyond single-project development and focused on building internal platform capabilities leveraged across many teams and client projects.

This included designing and implementing an end-to-end platform for bootstrapping, provisioning, and managing virtual machines for iOS, Android, and Flutter development, enabling repeatable and scalable development environments.

A significant part of the work revolved around improving developer experience around iOS build infrastructure, including custom-built dependency caching tools, systematic build-time optimizations across all iOS projects, and improvements to CI observability through better monitoring and notification within running and of the completed pipelines.

The role also involved solving complex build-system issues related to compilation, architecture, and linking, automating cross-team code review processes, and contributing to the long-term evolution of the internal iOS platform through developer enablement, creating guidelines, project templates, technical documentation, and running workshops to raise the overall maturity of iOS development across the organization.

2016

Amateur iOS + audio/DSP experiments