I consider automated tests the best form of documentation
I consider static code analysis and code standard enforcement tools as a must
Focused on SOLID, testable, maintainable code, and developer experience
I'm deeply aware that every decision in our line of work is a trade-off
I've put most of my learning into testing and managing complexity. Languages, frameworks, & libs come and go
Familiar with "AI" tools like Cursor & models powering them. While LLMs still have fundamental limitations as a form of machine learning, in practice they can supercharge experienced engineers - as long as a human is still at the steering wheel.
I'm not a DevOps engineer, but I was setting up and maintaining CI pipelines for SMB, and used Docker, Terraform, Ansible, GitHub, GitLab, etc. to keep infrastructure in VCS. Worked with Azure, DigitalOcean, and AWS
I'm not a database geek, but I'm on friendly terms with PostgreSQL—I can act on EXPLAIN ANALYZE results or switch to another dialect with some help from the documentation. Waiting for a good reason to use a NoSQL database instead
Happy to create a frontend as part of work on a full stack project or to set up its foundations for other developers to use - as I did many times before, but I don't consider myself a Frontend developer.
Haven’t trained for white-board algorithmic challenges. The best way of assessing my value for a potential employer is a recruitment task or an interview with a developer of similar or greater experience
Worked mostly in agile teams, using different interpretations of Scrum with mandatory code reviews
I'm used to and fond of working in international, diverse teams and English-only communication
I assumed the role of informal tech lead a few times, when it was required to move the project forward, but I love to solve problems—not to manage people
Extensive, although often shallow, knowledge of current trends, technologies, and tools used in the backend, frontend, and operations. I keep mental bookmarks and evaluate tools when a need arises
I have research skills and curiosity and adapt fast to new methodologies, tools, and technologies
I love good reportage or sci-fi from the 80s, vintage cocktail bars, and switching from one nerdy obsession to another
I lift heavy. Gym is the best stress management tool I've ever tried
Personal projects
OAuth2 Authorization Server
Repository:nestjs-oauth-authorization-server Architecture/Stack: Layered; DDD-like / Node.js; TypeScript; NestJS; Postgres Stage: MVP complete, improving logging, hardening & e2e tests Goals: Owned, fully functional, RFC-compliant and production-ready OAuth 2.0 Authorization Server & Client implementing Authorization Code flow with PKCE for public clients - like SPA and mobile apps. Intended as core for other personal projects.
IT Job Market Scrapper+ETL wt LLM data enrichment & classification
Repository: [private] - available on request, but I do not want to make a working scrapper public Architecture/Stack: Chain of ultra-light scripts for data extraction & processing / Node.js; JavaScript; TypeScript; Puppeteer Stage: Actively scraping two of four polish IT job boards, normalizing data to common format. Implementing LLM enrichment Goals: Making informed decisions, testing ability of different LLM's to offer structured outputs
Experience
Technology Summary
Concepts
Negative Space Programming
Modular Monolith
Microservices
Domain Driven Design
Layered/Hexagonal Architecture
CQRS, Events, Queues
OOP, FP
TDD/BDD
SOLID
Languages, Runtimes
TypeScript: ~5 years
JavaScript: ~13 years
Node.js: ~6 years
Python: ~1 year
PHP: ~14 years
Shell: ~4 years
Frameworks, Platforms & APIs
NestJS: ~3 years
Symfony: ~4.5 years
Laravel: ~2 years
Django: ~1 year
WordPress: ~8 years
GraphQL: ~3 years
REST: ~10 years
SOAP: ~2.5 years
Salesforce: ~2 years
DevOps, CI/CD, Cloud & Tooling
AWS: ~2 years
Azure: ~2 years
Digital Ocean: ~4 years
Docker: ~5 years
Vagrant: ~5 years
Terraform: ~2 years
Ansible: ~2 years
Jenkins: ~2 years
Kafka: ~1 year
Databases & ORMs
PostgreSQL: ~8 years
Redis: ~3 years
MySQL: ~6 years
Doctrine: ~4.5 years
Eloquent ORM: ~2 years
TypeORM: ~3 years
Sequelize: ~2 years
Prisma: ~1 years
Frontend Technologies
React, Storybook: ~4 years
JSS, Styled Components: ~4 years
Redux: ~2 years
SASS/LESS: ~7 years
Vanilla CSS/HTML: ~14 years
Prior Contracts
SwingDev/Hippo Insurance NYSE: HIPPO, insurance, USA
Software engineer remote, from 07-2023 to 07-2025
Part of Agent Enablement and Underwriting teams.
Led a large data migration project aimed at filling the gaps in our lead data in Salesforce, involving fuzzy matching of data from different sources without common keys. The project saved a lot of time for our agents, allowing us to keep this part of the organization pretty lean considering their backlog.
Planned and documented redesign of Underwriting Domain to increase the visibility of our decision-making process and speed up the process of introducing new products and markets.
Partook in smaller projects aimed at improving the productivity of our sales agents.
Speychain ltd startup, marketplace, UK
Software consultant remote, from 06-2023 to 06-2023
Scaffolding of the MVP for a contractee team.
Worked with business to define domain & map it to the database and GraphQL API design.
Set up CI and toolchain for backend development & testing.
One-month contract. Haven't extended because of a more permanent proposition from SwingDev.
Ownplay Inc. startup, mobile game, USA
Software consultant remote, from 11-2022 to 06-2023
Created backoffice APIs, React-based SPA admin panels, and part of analytics for a mobile game, and its web-based prototype
Built infrastructure for testing, and convinced the team to adopt the same approach for the rest of the project
Coached junior developers
The contract was cut short because the company pivot. In March 2024 I received an offer to jump back on board.
Aterian NASDAQ: ATER, e-commerce/logistic/ML company, USA
As a team, we built from scratch working multi-tenant affiliate platform on top of the Amazon Attribution program, before appropriate APIs were even available and backoffice for parts of the process that could not be automated
Built a BDD-like testing solution allowing for fast writing human-readable integration/E2E tests
In addition to backend work, I've set up our frontend architecture, which provided a Stimulus-like experience for our frontend developers, after we decided against React and SPA frontend
I performed some light DevOps and security-hardening tasks
Dogadamycie sp. z o.o. translation company, PL
Full stack developer remote, from 01-2019 to 10-2020
Led the process of bringing in-house previously outsourced software
Built Docker and GitLab-based CI for the company
Offloaded long-running workloads to queue
Introduced automated testing
Unified seven different customer panels into one project—maintenance and QA were killing us
Greatly improved UX of the customer journey and automatic valuation process
Integrated multiple payment systems and CAT software
Joymile startup, middleman for used cars, PL
Full stack developer onsite, from 04-2018 to 01-2019
I convinced my - now friends - then acquaintances to employ a mostly-PHP and JavaScript developer to do Python. They didn't regret this decision. A month later I was contributing on par with my peers.
Moved legacy PHP supporting systems and almost 3 years' worth of data to our main Python-based infrastructure
We built a mostly React-based customer journey that provided both great UX and gathered every possible bit of data that could help our sales, which we fed to our CRM and marketing automation
Company dissolved, as we were unable to secure another round of financing.
Gremi Media SA publisher of "Rzeczpospolita" and rp.pl, PL
Technical Architect onsite, from 09-2016 to 03-2018
Team Leader onsite, from 04-2016 to 08-2016
Senior Web Developer onsite, from 10-2015 to 03-2016
Business impact
Added millions of missing pieces of content—lost after previous CMS migration—back to search engines' index
Removed discrepancies in our analytics falsifying traffic reports
Improved uptime/availability of our main property from around 97.6% to 99.4%
Improved loading times for our customers and their consistency by an order of magnitude
Reworked our advertising system to allow new ad formats and better experience for our customers
The whole process improved our traffic and unique users numbers by around one third
Technical impact
Migrated the company from FTP deployment and SVN to Git and on-premises GitLab for the deployment process
Banned FTP access to production. I built and maintained GIT<->SVN bridge for the transition period
Understood, fixed our implementation and documented a badly misused and misunderstood caching system
Introduced automated testing and proper telemetry
Increased template and code reuse by orders of magnitude
Replaced an assorted collection of PHP 5.2.17 (version enforced by vendor) scripts augmenting our legacy CMS, by self-built Symfony-inspired light framework enabling us to introduce automated testing and creation of Vagrant-based local environments for developers
Replaced template-embedded frontend scripts with a proper build process and React-based components
Uwazaj.pl startup, a middleman between lawyers and customers, PL
Full stack developer remote, from 05-2015 to 05-2017
Took over after the software house failed to deliver both in terms of features and quality and built our product from scratch just in time to meet our investor's roadmap
Built a visual "no-code" landing page builder for our marketing with A/B testing capabilities, adapted to manage the whole website by our non-technical staff
Integrated content-marketing/sales part with our custom CRM and call center
Set up our payment system
Supported the project during its lifetime as a sole developer/ops engineer
Idium AS/Idium Kraków Sp. z o.o website-as-service company, NO/PL
Junior PHP Developer onsite, from 05-2014 to 01-2015
Senior WordPress Consultant onsite, from 01-2014 to 04-2014
As a team, we built and maintained a framework allowing for ultra-fast delivery of customized, feature-complete WordPress websites for Scandinavian businesses
Built an internal application automating the generation of SEO reports used by our sales team
Took part in cleanup and hardening efforts after two separate security incidents
Assorted freelance contracts
Web developer remote, from 01-2011 to 06-2015
Building, adding features, and maintaining various websites, WordPress plugins, and themes.
Occasional migration from Joomla or custom solutions to WordPress.
Internet media
Journalist, editor, and blogger remote, from 10-2007 to 06-2012
Writing for multiple internet media entities, including o2 sp. z o.o. (currently: Grupa Wirtualna Polska), Antyweb and the Polish edition of PC World Computer about IT-related and unrelated topics.
Working as an editor/managing editor in two big blog networks.