Curriculum Vitae
Professional Experience
Senior Software Engineer & Engineering Manager
Nov 2022 - PresentShipMonk
I started at ShipMonk as a software engineer. I joined a newly formed Java team - at that time ShipMonk was written entirely in PHP, and our task was to extract the part responsible for data synchronization between ShipMonk and customer systems from a large monolithic (but very well-written) system. This primarily involves orders and products from e-commerce platforms like Shopify, Amazon, or BrightPearl. The goal of the new system was to reach a state where we can write new integrations quickly and cost-effectively. Everything is built on Spring, Hibernate, and PostgreSQL, everything is dockerized and runs in Kubernetes. After a year, I took over the team as engineering manager. I gained responsibility for people and everything related to that. Nevertheless, I didn't give up technical work, so I remain hands-on - I still write code, do code reviews, am with the team during design of new features, and keep track of our codebase. I'm also a hiring manager - I'm responsible for conducting technical interviews and I'm involved in the entire hiring process for Java developers.
Senior Software Engineer
Dec 2019 - Oct 2022RedSoft
After large corporations like DHL and Barclays, I wanted to try something smaller and more agile. At RedSoft, I was primarily responsible for developing applications for an insurance company, but for the first time I was in a role where I designed the architecture of the entire solution. This primarily involved applications for creating various types of insurance policies and managing insurance contracts. I regularly communicated with people from the insurance company, consulted their requirements, and transformed them into solution designs. With a relatively small team, we then implemented these designs. Technology-wise, we worked with Java 17, Spring, PostgreSQL, and RabbitMQ. I learned a lot here about what it's like to bear responsibility for architectural decisions. At the same time, it strengthened my sense of ownership and only confirmed that I enjoy product development - gradually developing the system, taking care that it works well in production and meets customer expectations.
Java Developer
Feb 2019 - Nov 2019Barclays
After three years at DHL, I was looking for a new challenge and joined Barclays, where we built a compliance application from scratch in a microservice architecture. I focused on designing and implementing REST API for the frontend team. Technology-wise, we worked with Java, Spring, and Oracle DB.
Software Engineer
Jan 2016 - Jan 2019DHL IT Services
After my Android development experience, I transitioned to the world of backend Java development, where I worked with Spring for the first time. I started as a junior developer on a team that built an integration platform between customer systems and DHL's internal systems. Technology-wise, we worked with Java 7 (later migrated to 8), Spring framework (primarily Spring Integration), and Oracle DB. I learned a lot in this team, especially thanks to great senior developers, one of whom was my mentor early on. Gradually, I progressed from junior to Software Engineer (mid-level) and started contributing more significantly to the design and architecture of new features for our integration platform.
Android Developer
June 2014 - Dec 2015Tango Software
I worked on developing Android applications for Alza (major Czech e-commerce retailer) - mainly on the Alza Media app and later on their eShop application. Most of my time was spent developing in Java, but I also had the opportunity to work with C++ (Android NDK), where I implemented on-the-fly decryption of digital content (magazines and e-books). The system always decrypted only the currently read portion directly in memory, which ensured protection of the stored content while maintaining smooth reading.
Android Developer
July 2012 - Dec 2012e4t - Electronics for Transportation
My first job in IT (during university). I worked as an Android developer on apps that communicated with cars via CAN bus. One of the projects was a real-time simulation of a car's instrument cluster. The first and last job where I used bitwise shifts on a daily basis 🙂
Education
Master's degree
2012 - 2015VŠB - Technical University in Ostrava
Computer Science & Technology
The topic of Master thesis: A Platform Independent Distributed Differential Evolution Algorithm
The thesis has been nominated by faculty into the ACM-SPY 2015 competition.
Bachelor's degree
2009 - 2012VŠB - Technical University in Ostrava
Computer Science & Technology
Languages
English (Fluent), Czech (Native), Spanish (A1)