Picture of the author

SKILLS

TypeScript

HTTP, Websockets (with socket.io), gRPC

React

MobX

Redux

Next.js

ChakraUI, AntDesign, MaterialUI, SaasUI

Matomo, Piwik PRO, MS Clarity, GA

Node.js, Nest.js

MySQL, PostreSQL, MongoDB, TypeORM, mongoose

Strapi

Algolia

TDD, ATDD, BDD, Gherkin

vitest, Jest, Cypress, Playwright, Puppeteer, Cucumber

Karma, Mocha, Chai, Sinon, Enzyme

Gitlab CI, K8s, helm

New Relic, ElasticSearch, Kibana, Grafana, Loki

Mend, SonarQube

Dominik

Broj

E-mail: webdev.broj@gmail.com||LinkedIn


SUMMARY

I am a specialized web development professional working as an engineer since 2016. Over the past years, I have successfully led projects from the initial stages of prototyping through onboarding and scaling up development teams, up to production releases and maintenance of the products. My areas of expertise include web single-page applications (SPAs), server-side rendering (SSR), Node.js backends, databases, and more recently I also touched K8s with Gitlab CI.

In the early years of my engineering career, I worked as a developer and gradually transitioned to leadership roles. Currently, I hold multiple responsibilities such as acting as a technical team lead, developer, line manager and domain architect.

In my work, I prioritize automation and selecting appropriate tools that consider scalability, testability, security, observability, performance, and user experience. Additionally, I value simplicity and aim to avoid over-engineering solutions to not take a sledgehammer to crack a nut.

As a positive and easy-going individual, I am passionate about my profession and strive to spread enthusiasm and positivity to those around me. When faced with problems, I focus on finding solutions rather than complaining. I value transparency and consider myself a team player. I believe in the collective success of a team, rather than individual accomplishments. I encourage a "we win and lose together" mentality within teams.

Moreover, I maintain a keen interest in staying up-to-date with the most recent technologies. I am always eager to learn and engage in thought-provoking conversations while also contributing my own knowledge to help others grow.


EXPERIENCE

logo

Sportradar

9.2021 - now

Technical Team Lead

At Sportradar, my primary role is leading of a small full-stack team and overseeing two UI-facing products (mentioned below). In my capacity as team lead, I act as developer, I manage a significant portion of the product backlog, host key Scrum ceremonies, and provide technical support to my team members. Additionally, I serve as the main point of contact for various stakeholders.

Furthermore, I operate as a domain architect, collaborating with other domain and tribe architects to design systems.

I also play the role of line manager, I oversee a few team members. I'm responsible for hiring, goal-setting, and conducting performance reviews.

Moreover, I assist other squads in the organization by supporting recruitment processes for different tribes, leading presentations or knowledge transfer sessions, and engaging in guild activities such as JavaScript and Test-Driven Development (TDD) guilds.


PROJECT: Real time visualizer for live data

Initially, I defined the technical debt of the existing solution and subsequently developed a prototype of a brand new UI, which was approved by the decision makers and stakeholders.

In the subsequent phase, I embarked on rewriting the solution from scratch while reducing technical debt and aligning it with the new design. In the interim, I scaled up the development team. Following several months of development and testing, the solution was successfully launched into production. We continue to work on further development and maintenance of the application

Essentially, it is an internal full-stack app focusing on real-time data comparison. The backend leverages gRPC and RabbitMQ to consume real-time data, cache it, group it and transmit it to the frontend via WebSockets. The user interface displays real-time data, typically involving numerous WebSocket messages per second. Additionally, it provides users with the ability to filter, sort, and compare data across various data providers. The UI also features a historical module where users can view snapshots of past data. The solution is integrated with the company's Single Sign-On (SSO) functionality through Azure AD.

TypeScriptgRPCRabbitMQsocket.ioAzure ADReactMobXAntDesignPiwik PRONest.jsGitlab CIK8shelmNew RelicElasticSearchKibanaGrafanaMendSonarQubeCypressJestCucumber

PROJECT: Data acquisition management platform

My team and I created the project from scratch. It is a platform serving to enable other systems and users to effectively manage configurations of thousands of data acquisition applications. The platform has multiple purposes, including decoupling domain data from the legacy database and storing it in a dedicated data source with appropriate ownership. The data is exposed through an API, with a user interface built around it and appropriate access control in place.

The platform comprises several components, including a Nest.js-based gRPC service, a Nest.js-based standalone application that operates as a Kubernetes cron job and synchronizes data between the legacy and new data sources, another cron job responsible for cleaning outdated data, a Nest.js-based Backend-for-Frontend, and a React-based SPA.

One of the most interesting aspects of the system is the fact that dozens of statuses per second are sent into the platform, which need to be stored and displayed on the UI in real-time.

TypeScriptgRPCsocket.ioAzure ADReactMobXAntDesignPiwik PROReact CosmosNest.jsMySQLAuroraDBTypeORMGitlab CIK8shelmNew RelicElasticSearchKibanaGrafanaMendSonarQubeCypressJestCucumber
logo

DataArt

9.2016 - 8.2021

Senior JS/TS Developer

2.2020 - 8.2021

Strong Middle JS/TS Developer

2.2019 - 1.2020

JS/TS Developer

1.2018 - 6.2019

Junior JS Developer

1.2017 - 1.2018

JS Intern

9.2016 - 12.2016

I joined DataArt as an intern and was subsequently engaged in a financial projects as a Junior Developer after three months. I worked for the same client for nearly two years, progressing to the position of mid-level JS Developer.

In November 2018, I was presented with an opportunity to work on a significant project within the maritime/shipping industry, which proved to be a valuable experience and an important career advancement. During this project, I was promoted to the role of Senior Developer. When the project transitioned into maintenance mode and was handed over to another vendor.

I was offered a position working alongside the architect from the previous project on the early phases of a new e-commerce project. In collaboration, we developed a PoC for a greenfield product, which enabled us to expand the DataArt team. Subsequently, I became a lead of the frontend team while concurrently serving as a Backend Developer. After less than a year, we successfully launched the project into production.


PROJECT: E-commerce system for vehicles rentals

Project has been started from scratch by me and architect. After creating PoC client was encouraged to scale DataArt team and continue investment. I took a part in hiring process and we ramped up the development team. I've been leading frontend part of the team acting as a regular BE developer at the same time. The project itself was a public ecommerce application that aimed to allow user to rent different vehicles, especially RVs in US. We needed to focus on coversion polishing performance and interface to attract users. We had different integrations with Stripe, Twilio, Algolia, insurance and data providers.

TypeScriptReactNext.jsMobXMaterialUIFormikGoogle AnalyticsReact CosmosNest.jsMongoDBmongoosetwilioAlgoliaStripeJenkinsNew RelicElasticSearchKibanaJest

PROJECT: Maritime logistics management platform

We developed a large-scale Single Page Application (SPA) comprising multiple modules, including operations, finance, and communication. The primary target audience for this system was employees of the global leader in maritime shipping services. Working alongside a team of many seniors, I gained invaluable experience in the development of large-scale products, which proved to be a remarkable experience for me.

TypeScriptReactReduxredux-sagareselectAntDesignredux-formMatomoStorybookTeamCityJest

PROJECT: Banking system for onboarding corporate clients

We were building a Single Page Application (SPA) that functioned as an extensive form wizard, which our corporate clients were required to complete to establish an account.

JavaScriptReactReduxredux-thunkramdaredux-formJestKarmaMochaChaiSinonEnzyme

PROJECT: Cheques digitalization module of a banking system

Our team was developing a system designed to bring the bank in compliance with new regulations concerning the digitization of cheques.

JavaScriptReactredux-formJestKarmaMochaChaiSinonEnzyme

PROJECT: Internships - app to manage fitness classes
JavaScriptAngular2Node.jsExpress.jsMongoDBMongoJS

Side projects

1.2017 - now


PROJECT: Various side projects

For example: https://sync-engine.onrender.com, https://znajdzimie.pl and others

TypeScriptReactNext.jsChakraUIAntDesignGatsbyNest,jsStrapiExpress.jsPostgreSQLMongoDBmongooseTypeORMGitlab CINetlifyK8shelmJestCucumber

Learning web development

1.2016 - 9.2016


PROJECT: Various small exercises / pet projects
JavaScriptPythonDjangoNode.jsExpress.js

EDUCATION

Wroclaw University of Economics

2013 - 2015

Faculty of Management, Informatics and Finance

Field of study: Business Administration

Master's degree (studies in English)

Wroclaw University of Economics

2011 - 2013

Faculty of Management, Informatics and Finance

Field of study: Management

Bachelor's degree


FOREIGN LANGUAGES

Polish - C2

English - B2 / C1


ADDITIONAL INFORMATION

Driver license cat. B

Interests: web development, TV series, music, board games, sport (especially volleyball)