Michal Vanko: How we handle the rapid growth of the project team
Michal Vanko has been part of Sudolabs for more than two years and currently leads one of our most successful projects - The Expert. Deep dive into the interview to learn more about his journey at Sudolabs, what responsibilities he holds, and find out how does it look from a tech perspective when the product hits product-market fit.
14. 12. 2021
Like most of the kids, Michal was no exception when it comes to acquaintance with programming. The story goes way back to elementary school. Michal and a couple of his friends were at the time quite actively playing Counter-Strike when a new trend started to appear - the creation of team websites. Curiosity didn't let him wait for too long and eventually, he started to explore possibilities on how to build one on his own by connecting with other players. Consequently, he managed to build a website for his own team to represent players' profiles and game results they've played.
Later on, Michal worked on divergent projects including a website with the first registration form for Košice Peace Marathon and some extra jobs for travel agencies. While being a student of Bachelor's degree he got employed as a Junior Developer. At the same company, he worked his way up to a Senior Developer. However, the environment didn't offer any space to grow at a professional level and he decided to leave. At the following company, he was a Front-end Leader, lack of comfort led him to the same decision and that's how he ended up at Sudolabs.
It's been quite some time you're taking part at Sudolabs, can you tell us more about the projects you have been part of?
When I first started at Sudolabs I was assigned to a project called Panoramic. I joined the team as a Senior Developer and took over the Sudolabs team as a leader. The focal point was put on developing a feature for conversation within Panoramic's already existing tool for data analytics to provide a platform where people could share information and text with each other. Although, after a mutual agreement, the partnership has ended shortly after the arrival of the pandemic and that's when I moved onto another project - The Expert.
The Expert is currently one our of most successful projects. Can you tell us what is it about?
The Expert is a high-end interior design platform providing space for designers from within the industry to present themselves and simultaneously offers a possibility for potential customers to browse via their profiles and book consultations in case of interest. The entire platform is supposed to help people design their homes with professional recommendations given by real experts.
At the moment, our team is developing an additional feature of e-commerce. The platform will soon also include a possibility for clients to buy design furniture pieces they were recommended by the top interior designers.
What is our responsibility for the project?
Basically everything, as the only technical team we built the entire platform from scratch. We are also responsible for the design and the feature roadmap of The Expert. We are driving whole development of the product from top to bottom.
Michal, your position is an engineering manager and tech lead at the same time. Why is that?
My general position is defined as an engineering manager, but when it comes to The Expert, my project role is a tech lead.
As an engineering manager, I'm responsible for the team and any kind of problems they face. Whether it's project-related or not, together we are finding ways how to solve them and at the same time, we put focus on productivity and its improvement. I really think it is crucial to utilize the potential fully, rather than slowing it down. By providing regular 1 on 1s meetings we talk in-depth about the personal development of each individual and most importantly we exchange feedback on each other. Yes, it is quite demanding to try to motivate people on a daily basis, but I really love to see the progress and the fact that they're happy and satisfied with me, that's what drives me further.
As a tech leader on the project, I consult possible solutions with other people. Followingly, we create and review the architecture for the chosen solutions. I'm accountable for product stability and resiliency as well as for the performance of delivery.
The team on The Expert project has split into two individual teams, can you explain why did the decision happen?
It was chaotic. The team was rapidly growing, there were 7 engineers, 1 engineering manager, 1 product owner, and 1 scrum master. We reached the point when the communication has become disorganized and team members lost their focus, that's when we decided to split the team.
At the moment we have two individual teams titled Urban and Industrial. Each team is developing the specific features that they're fully focused on and simultaneously they're not interrupted by the features of the other team anymore. The Industrial team is responsible for consultations and operations of an already existing platform, whereas the Urban team is fully focused on e-commerce, which is being developed from scratch.
This brings effectiveness into our meetings as we can dive more deeply into individual features without slowing the other team down. The development process is now much smoother since the decision, as it is clearer for people with whom should they consult issues and who should review their tasks.
The Expert found a product-market fit. The user base exploded, reaching hundreds of thousands of users in the first few months. How do you assure the quality of the product development?
The quality is assured already during the development of features. When it comes to code review we make sure to have all features covered by the tests we write. We do unit testing, integration API testing, and also end-to-end tests, that cover the entire platform starting at the front-end and finishing in the database.
We can rely on our CI/CD pipeline that every single proposed change is being released to the world with safety and confidence.
You've mentioned that The Expert team is rapidly growing. How does the onboarding process look like?
In general, when a developer comes to Sudolabs there is a checklist we need to go through. The checklist includes mostly information about how we operate on a daily basis when it comes to programming, technologies we use, and the benefits we offer. Once the person goes through the entire checklist, one is assigned to a specific project.
If a person is assigned to The Expert project, we set up a meeting to talk about the current status of the project - how the process works, agile, description of tasks, and communication of individual teams. To understand every part of the project, the new person needs to go through frontend, backend, and end-to-end testing. The first task, which we are assigning are end-to-end tests. This assures us, that once the person is assigned any task, he/she will be able to fulfill it.
The entire process lasts for about two weeks and there are no restrictions in order to enter the project when it comes to expertise. All developers on this project have space to focus and develop in areas they're not so knowledgeable about in order to become a valuable contributor.
Can you describe the release process?
Our release process is automatized into such a form, that we are now able to choose a day when we want to release all the features and bug fixes. With the help of a one-click, we create a release candidate. Subsequently, a changelog is generated with all completed features in the release candidate. By utilizing quick manual tests, the entire team tests whether the features are working and are correct. Once all the features are tested, it is just about the decision of one click to merge it into master and the features go live. The releases are every week.
What do you enjoy the most about the project?
I like the uniqueness and the fact we are all developing as people on this project. On a daily basis, we solve new tasks and we are constantly moving further. Our processes have also improved, at the moment I'm coming up with incident reporting. The incident reporting is meant to collect all accidents with the main aim of avoiding them the next time they occur. If the reporting proves to be helpful, we would like to share it with the rest of the company so people on other projects can utilize it too.
Are there any lessons learned?
Personally, I've learned a lot. Not only via the position of engineering manager but also through meetings with Pavol (CTO of Sudolabs). Pavol has been moving me forward ever since I started at Sudolabs and I can rely on him with any problem I have to face.
Lessons learned are also after every release and incident. Regular retrospectives help us to evaluate which had a positive and negative impact, based on this we try to keep or eliminate them.
Is there any effect on your life since you started to work at Sudolabs?
Definitely, work at Sudolabs has influenced my life significantly. From a personal point of view, I feel that my potential is notably applied. All my ideas are consulted and evaluated. I have more opportunities to realize them and help others to do the same. I'm not limited, I can go to work whenever I want to and if I don't feel like it, I can just work from home or remotely.
From a professional point of view, I have a feeling that I grew from an engineer to a good manager who is liked by others in a very short period of time. I was given an opportunity to work on tasks I want to, and I'm very glad, that I'm not artificially directed towards something. Full support from Pavol is also something I truly appreciate.
Let's move on to your personal life, what is your guilty pleasure?
For a very long time, about 10 years, I was resisting to drive because I didn't like the culture of driving. Now, when I bought a new car, I've started to enjoy driving. I also love listening to music while driving.
How do you handle work/life balance?
My life is exceptionally balanced. I feel satisfied as I can decide on my own what time I want to have my working hours. The better question is how do I handle the work/life balance of my team members. I'm trying not to interfere with theirs at the moment, but I might have to change it at some point. All the meetings are set up with lunch break in mind and my calendar always includes also personal activities so people can't plan a meeting with me within this time slot. And yeah, I also work out a lot, which helps me to ease out.
Why would you recommend joining Sudolabs?
In order to be able to share your ideas and actually be heard. We have an excellent work atmosphere where we care about people's learning and moving further in their careers path.
In the upcoming months, we will continue publishing interviews on different topics. We will talk about our people, projects, and processes. Stay tuned and follow our social media updates!