About
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?