
Karol Majewski
Product Engineer in Wrocław, Poland (CEST)
About
Product Engineer and technological permaculturist with a bent towards product strategy and organization design. Currently building with React, TypeScript, and Next.js.
My recent interest include networks, future of work, collective intelligence, bottom-up coordination, incentive design, cognition, governance, post-Agile, tools for thought, and web3.
Work Experience
Building a networked tool enabling curious individuals to find their people with minimum effort.
Acted as a senior developer and servant leader for the Industry 4.0 branch of RHI Magnesita.
-
The project I was involved with from the start, called Automated Process Optimization (APO), won the Microsoft Intelligent Manufacturing Award in the category “Add Value!”
-
As a servant leader, I helped the team of 5 front-end developers by contributing refactoring, technical improvements, and the migrations that affected multiple projects and libraries, enabling my colleagues to focus on tasks instead of fighting accidental complexity
-
As a Code Owner, I was responsible for ensuring that newly created code met our standards of quality and its integration would not slow down development teams in the long term
-
I initiated Deep Dives, a cycle of workshops where front-end developers could share both their problems and their solutions, ask for pointers, and “talk shop” freely. Contributed talks on React, Suspense, SWR, structuring codebases, unit testing, JavaScript dates, Mock Service Worker, react-query, error handling, and testing design systems
-
I initiated and curated Lessons Learned, a Teams channel for the development team dedicated to sharing short lessons we had learned during everyday work. Working remotely doesn’t create enough opportunities for serendipitous learning and this channel was created to compensate for that
-
Bootstrapped the company design system using Storybook
Technologies used: React 18, React Router 6, TypeScript, react-query, react-aria, Ant Design, i18next, ESLint, OpenAPI Generator, styled-components, Cypress 7, Jest, React Testing Library
Tools used: Nx, Storybook 7, Azure DevOps, Lokalise, Prettier, Zeplin, why-did-you-render
Unsplash is the Internet’s library of freely usable visuals. With more than 50 million images downloaded every month, Unsplash is a bigger player than Adobe, Shutterstock, and Getty combined.
-
Helped the company save money (up to $60k/year) by analyzing the CDN traffic and finding a way to reduce it
-
Helped a team of 2 engineers transition a +100k LOC codebase to TypeScript. This eliminated entire classes of bugs and allowed us to ship faster with confidence
-
Helped improve our Lighthouse scores by using modern performance optimization practices (tree shaking, lazy loading, eliminating wasted renders)
Technologies used: React (server-side rendered), Redux, JavaScript, TypeScript, Node.js, Express, Webpack, CSS Modules, PostCSS, reselect, RxJS, ESLint, Prettier, fp-ts, Cypress, Testing Library, Jest.
Tools used: Heroku, AWS, Sentry, Fastly, Terraform, Lighthouse, SpeedCurve, Travis, Figma.
Centra is an e-commerce platform dedicated to fashion and lifestyle brands. Web applications powered by Centra APIs allow brands to cover the full gamut of commerce — including B2C, B2B, and marketplace sales.
-
Led a team of 3 front-end developers
-
Helped migrate a legacy JavaScript application to TypeScript
-
Provided vision and technical leadership for new code
-
Trained interns and junior engineers
-
Designed and supervised summer internships
-
Conducted technical interviews
Technologies used: modern JavaScript (ES2015 and later), React, Redux, TypeScript, redux-saga, RxJS, Ant Design, CSS-in-JS (Emotion, styled-components), PostCSS, CSS Modules, Webpack, Parcel, TSLint, stylelint, Node.js, REST, Jest, Cypress, Storybook, CircleCI.
Tools used: Git, GitHub, Trello, Terraform, AWS, Heroku, Figma, Zeplin, Slack.
Assisted Tobias van Schneider’s team building Semplice, a portfolio system for creative professionals, by offering code snippets the customers could use to fine-tune their portfolios.
-
Provided the team with over 60 suggestions (UX insights, performance improvements, bug fixes and feature requests)
-
Made almost 200 customers happy by helping them with custom CSS and JavaScript/jQuery modifications
Side Projects
Volunteering
Learning In Public by solving other people’s React, TypeScript, and Node.js problems. My replies on Stack Overflow have reached over 4.5M people so far.
The platform puts me in the top 1% (TypeScript) and the top 5% (React, Node.js.)
Speaking
If something is stupid, but it works, then it's not stupid. In this short talk, I shared a few TypeScript-specific techniques others might also find useful.
In less than 10 minutes, I explained the concept of a type guard in TypeScript and demonstrated its use cases along with some extras.
Snippets of code used in the presentations can be found on GitHub and as GitHub Gists.
A personal collection of the most confusing and exotic TypeScript problems I ran into. Slides available here.
Education
Master’s thesis: Numerical simulation of fluid flow using NVIDIA CUDA parallel computation technology