Hey! I'm Michał. 👋
I’m a software engineer and architect with 15+ years of experience building production software and designing complex systems. My work has taken me from web and backend development through mobile engineering and large-scale distributed systems to today’s rapidly evolving field of AI and agent-based systems.
Over the years, I’ve worked across different technologies, platforms, and levels of abstraction. I’ve built software myself, led engineering teams, designed architectures, and worked on systems serving millions of users. This experience has shaped how I approach engineering today: technology is a means to an end, and good architecture is ultimately about making complex systems reliable, understandable, and maintainable.
My professional background spans Java, PHP, Objective-C, Swift, backend systems, mobile applications, cloud infrastructure, and distributed architectures. At Comarch, I moved from software engineering into iOS development and eventually became an iOS Team Lead.
At Codete, I worked on large-scale mobile applications, including a geolocation-based social platform serving millions of users. Following Codete’s acquisition by Exadel, my work increasingly shifted toward software architecture, internal platforms, and system-level engineering.
Today, my focus is AI-powered and agent-based systems for software engineering. I’m particularly interested in the engineering challenges that emerge when AI moves from being a simple tool to becoming an active component of a larger system.
My approach to engineering is shaped by a few principles:
- Reliability over Autonomy
- I prefer systems that are predictable and controllable over systems that are autonomous simply for the sake of being autonomous.
- Systems over Features
- I think in terms of architecture, boundaries, failure modes, and long-term maintainability—not just individual features or implementations.
- Humans in the Loop
- AI should augment human expertise rather than obscure responsibility or remove meaningful control from the system.
- Pragmatism
- Performance, cost, privacy, operational complexity, and user trust are not secondary concerns. They are fundamental engineering constraints.
