Identity and access
Services that extend what an identity provider offers out of the box, and self-service tools for managing and monitoring them, built on OAuth2 and OpenID Connect.
Maciej, senior software engineer. Ten years of building commercial software in Java, Kotlin and Spring, mostly on identity platforms, event-driven systems and e-commerce integrations.
I choose the architecture for the business problem, not the other way round. My work starts well before the first line of code: understanding what the business really needs, questioning the requirements and designing a solution the team can build, run and evolve.
Three areas where most of my projects have landed, usually at the point where they meet each other.
Services that extend what an identity provider offers out of the box, and self-service tools for managing and monitoring them, built on OAuth2 and OpenID Connect.
Kafka and RabbitMQ pipelines, domain-driven design, CQRS and event sourcing where they suit the domain, and the less glamorous parts that make them safe in production: idempotency, the outbox pattern, retries, ordering and race conditions.
Developing custom e-commerce systems and integrating them with SaaS providers, so that in-house code and third-party platforms work as one product.
My career so far, replayed from offset zero. Each entry is something that changed the state of what I can build.
ScientificResearch 2015 to 2017
Lecturer at Adam Mickiewicz University in Poznań, Poland, building computer simulations of social and economic systems. Where I first learned to treat a system as a stream of state changes.
JoinedApollogic 2017 to 2024
Seven years at Apollogic, a software house, growing into senior software developer and tech lead roles: owning architecture, guiding teams and working directly with clients.
CommerceShipped
Developed e-commerce platform modules for many clients, built a delivery monitoring and management platform for a large consumer electronics retail chain, and extended CMS systems with custom modules.
DevicesMonitored
A Java and Spring backend that managed and monitored a fleet of thousands of devices around the world, first on Azure and later on AWS, collecting sensor data and storing it for analysis.
TestManagementBuilt
A centralised test management system for the European Space Agency, built to standardise and speed up the testing done by the agency's subcontractors.
MigrationPlatformLed
Led a self-service platform that sped up and partly automated moving nearly 600 applications from many custom CIAM systems to Microsoft Entra ID.
EInvoicingIntegrated
A service integrating a large legacy CMS with KSeF, Poland's national e-invoicing system, automating how invoices are sent and received.
JoinedKingfisher 2024
Senior Software Engineer on the Screwfix Customer Account team, working across customer accounts: developing the CIAM system and the microservices customers use to manage their account data.
StillConsuming now
Interviewing and onboarding engineers, giving internal talks, and writing about technical topics.
What I reach for, roughly in order of how often. Go, Python and TypeScript are for tooling and glue, not the main product.