Bridging innovation and healthcare: Inside Resolute's C++ engineering team
Meet professionals from Resolute's C++ team and learn more about the projects they develop.
In software engineering, the realm of C++ holds a special place for its versatility and depth. At Resolute, a team of dedicated engineers is not just leveraging the power of C++ but also crafting groundbreaking applications in the healthcare industry. Meet Ilia Iliev, the Engineering Lead, and his accomplished team of specialists - Ivan Pandursky and Michael Mushkov, Senior C++ Engineers, as they delve into their experiences, projects, and the vibrant culture that defines their work at Resolute.
I am Ilia Iliev, and I am 29 years old. I am from Teteven. I have been working in the IT industry since 2014, starting with C#. After learning programming and writing in C# for a while, I decided to switch to a system language; I decided that web programming was not for me. I've been passionate about video games since I was a kid and decided it was time to take up programming them - thus, I started my education with the C++ language. I went through various stages of learning and even created my own video game. This was the moment I got into real-time rendering programming. Different technologies and optimizations of rendering processes for a particular scene or set of scenes are my real passion. I like to play in my spare time, but I also create video games from scratch. I even have a few games I created on my personal Github.
Introduce us to your team - how many specialists are you, and what do you do?
First, we are good friends that Resolute brought together as a team. Our main work is developing C++ and web-based applications in the healthcare industry. We are divided into three main scrum teams: one or two software engineers, a QA, a scrum master, and a Product Manager. As far as process management and team coordination are concerned, they are the responsibility of the Scrum Masters: removing all possible conflicts, obstacles, and other dependencies that may interfere with keeping the so-called commitment in a given sprint. The Product Owner is the crew's captain (to use that nautical metaphor), who shows our direction as a team. Our work has to be extremely precise as our client is a global leader in the healthcare industry, which requires us to be very professional and attentive to detail.
What kind of projects are you working on? What technologies do you use?
We develop applications for medical needs that our clients, hospital professionals, use daily in over 20 countries worldwide. This benefits society because we know we are helping millions of people by providing quality software to medical professionals.
We use C++, which is the basis of all our application development. This language enables us to do low-level programming because of the speed and features it provides, and this is vital in our line of work.
QT FrameWork - we use a library that has been proven over the years and whose principal merit is how our applications look. As well as SQL - a technology we use to work with our vast database of patients around the world. We use Jenkins to facilitate compilation, testing, installation, and CI/CD. We also use GoogleTest, a library for modular testing of our C++ implementation. We use Cypress to test the interface of our web applications.
I have over 10 years of experience as a software engineer, going through all the steps from Junior to Lead. My primary expertise is in backend development; this remains my job's most exciting and challenging part. I am developing software in the healthcare industry, which brings me great satisfaction. I love spending my free time with my wife and our baby daughter, my most considerable pride.
How do you currently work, and how often do you get together in the office?
The freedom to choose where we work is of the utmost importance to us, and we are lucky to have this opportunity at Resolute. We prefer working from home because we feel that keeping things running at full steam is not a hindrance. We get together to work quite often, and we know that whenever we decide to go to the office, there will be someone from our team to work with and spend time with enjoyably.
How does a typical day go in the team?
It always starts with breakfast and a cup of coffee, followed by a morning meeting to set priorities, allocate work, and discuss various case studies. Then, everyone gets down to their tasks and communicates with colleagues and clients.
Training sessions are organized in which we share something new that we have learned and would be helpful. Our day often ends with a beer and a discussion of the day.
Which other departments/teams do you work with most often?
I'm Mihael Mushkov, and I'm 31 years old. I've been programming officially for over 7 years. I mainly use C++, and most of my professional life has been spent in the gaming industry. Even before I started programming, I had always been interested in computer games, how a game is made, and how it can look so realistic. Currently, my team and I are developing medical software for one of the biggest companies in the world.
I'm a big fan of almost all motorsports that involve an internal combustion engine and 4 tires. I also love experimenting with different cuisines, flavors, and craft beers.
Tell us something your team is proud of.
We are proud of our team and the synergy we have built between us. We are successful with our projects and support each other in work and outside of work. We are also proud to present our developments directly to the client. Resolute thus allows us to develop not only technologically but also build excellent relationships and trust with the client. This is very important to us because we see the satisfaction we bring with our technology solutions. In doing so, we become mindful of the customer's mission and are reminded daily how vital our work is, helping thousands of healthcare experts.
What brings your team together? What do you like to do together outside of work?
The friendly environment we have created for ourselves plays a significant role in bringing our team together. We frequently spend time together outside of work hours, aiming to make the most of our conversations and enjoyable moments, disconnecting from the technology that fills our day.