My name is Przemek and Iām a Senior Software Engineer with more than 10 years of experience in building applications based on the fronted stack. My main specialization is the frontend but Iāve also been working with node.js and python on the backend side. I believe that frameworks and programming languages are only the tools needed to build the desired product. Iām a quick learner and I love to learn new things. I also love to teach, and pass the knowledge that I gained. I put a lot of effort into developer experiences like testing environments, testing frameworks, build systems, CI/CD, architecture, and infrastructure because I believe that in order to move fast you have to have a fast environment with an almost instant feedback loop. Besides being a programmer Iām also a Team and Tech Leader. I love to work with a team, but Iām also capable of working independently. Iām a certified Scrum Master, but I think that processes are mostly needed for team building. When you have a team with a high level of synergy, and trust, it doesnāt matter what process you use, because the team is a guarantee of being successful, not the process.
And now, a few words about my historyā¦
I started my professional career from internship program at Samsung Poland R&D Center. I joined the SmartTV platform team. In most cases, we were building VOD applications for national TV broadcasters from Europe. We used internal Samsung WebAPIs, Backbone.js, require.js, grunt, Jasmine, and karma. After three months of internship, I was hired as a Junior Software Engineer. I spent 2 and a half years at Samsung, and during that time I was promoted to Regular Sofware Engineer. I had also the occasion to be a Technical Leader and Scrum Master at a mid-level team located in Poznan and Warsaw.
After 30 months at Samsung Iāve decided to change company, and to be honest I had great timing š because a few months later the Samsung Poznan office had been closed. My next stop in my career was Egnyte Poland. I spend there also 2 and a half years, building the product for collaboration and data storage. In the beginning, we were using very similar technologies that I used at Samsung like Backbone.js, require.js, and grunt. But we also started to use a new shiny technology called React.js :) Without having a translator for JSX, with a mixins approach and of the React goodies at that time. We successfully migrated to webpack as our build system. I was responsible for the migration of the E2E testing framework (from Nightwach to webdriver.io). At Egnyte I was also a Scrum Master for a small interdisciplinary team. The thing that was new for me was to collaborate with the team based in the U.S. and India. I learned how to work with teams located in different time zones. As a Scrum Master/Team Leader I was working closely with the Product Manager from the U.S. and a Team of QA engineers from India.
Next, I wanted to try how it is to work for a software house and do it fully remotely. Thatās why I joined the Sunscrapers - the Warsaw-based Software-house company. I met a lot of great people there, and learned a lot in terms of project management. I had an opportunity to learn how to build a PWA application. I was on the team responsible for re-designing a pizzaportal side (one of the biggest online food ordering platform). But after 6 months I realized that working for a company with the outsourcing model is not for me. I love to build and maintain the product, not a project - thatās why I got back to Egnyte.
āYou don't step into the same river twiceā - and it was true about my comeback to Egnyte because Iāve joined a newly established team responsible for a totally new product for governance and security - Egnyte Protect. Again - I quickly became a team leader and I was responsible for delivering new features of the product. I learned a few new things like redux for state management and pytest for the E2E testing framework. And speaking of the E2E testing framework, in this case, I was also responsible for migration from pytest to Cypress.io. And to be honest it was the greatest experience for me in the land of testing frameworks. I also introduced and implemented foundations for something called a ādemo modeā, where our frontend app was powered only by backend mocks using a mirage.js framework. I was a member of the teach-leads community at Egnyte where we were discussing technical topics that may have an impact broadly on the company. This time I spent 3,5 years at Egnyte.
During my journey at Egnyte, I also decided to take additional jobs for weekends. And this is how my adventure with Coders Lab has been started. I joined Coders Lab around June 2018. Coders Lab is a coding school, and I was teaching the basics of JavaScript, CSS, a11y, and others. I was working on the materials prepared by the company but I also prepared two modules about Redux and Scrum Methodology. After a few months, I was asked to be a mentor for a group of students. As a teacher, you are responsible for selected modules of the course, and as a mentor, you are responsible for the whole group. It was a great experience. I learned a lot about the problems that dev-wannabes may have. I improved my skills as a presenter.
After 6 years (in total, with a short 6-months break š) at Egnyte I decided to join another product-based company called LiveChat (now they are Text). It was during the pandemic time so everyone was hiring remotely. The stack was very similar to what Egnyte had - React, Webpack, Jest, redux with sagas, and cypress.io. I joined the team responsible mainly for the growth. We were re-designing one of the app modules. It was not only a UX redesign but also we put a lot of effort into architecture redesign - by getting rid of backbone models and collections and moving them into the redux store. But the thing that brought me most of the fun and experience was being a leader of the Design System team, where we were building a new version of the Design System for Live Chat. I set up the build and deployment system based on Vite, Storybook, and Chromatic. During my time at LiveChat, I also learned a lot about how to work in a distributed environment, fully remote. But nothing lasts forever. Because the Design System team was only a āside projectā, and because of my personal situation at that time, I decided to take an offer from Snowflake.
In Snowflake, as a Senior Software Engineer (II), I served as the Technical Lead in a small frontend team based in Warsaw, working closely with distributed teams in the USA. I focused on building an outstanding product and experience for data providers on the Snowflake Marketplace platform. I executed projects from scratch by collaborating with the PM team to define requirements, the UX team for design, and the engineering team for implementation. And it was so greatāalmost too great... The company's policy regarding remote work and office returns forced me to change jobs :( Commuting from Skoki to Warsaw was challenging enough to meet the hybrid work requirements (2-3 days in the office).
And thus I landed at Apollo.io, where I've been working since March 2024.
I always answer...sometimes with a little delay, but always :)