Interview
4 min read
In the latest instalment of our interviews speaking to leaders throughout the world of tech, we’ve welcomed Dmitry Slabko, Software Engineer at EPAM Systems to share his experiences.
Contents
- Tell us about the business you represent, what is their vision & goals?
- Can you share a little bit about yourself and how you got into software developing?
- What does your day-to-day responsibilities look like at your organisation?
- What notable software developing challenges have you overcome? What did you learn from these experiences?
- What inspires and energises you within your work?
- What advice would you give to someone wishing to start their computer science career?
- What are some of your favourite programming languages and emerging technologies that you are enjoying working with currently?
- Is there anything specific to your industry that affects your role as a senior software developer?
- How do you use log and metrics data to improve your workflow? Do you use a log management system or do you find manually parsing and filtering events to be enough to fit your business needs?
- Can you tell us about any exciting projects or features that you are launching soon?
- What book are you currently reading?
Tell us about the business you represent, what is their vision & goals?
I work for EPAM Systems, it is a global software engineering company established in 1993. Presently, EPAM has 53K+ employees. EPAM provides software engineering services, business consulting, design and physical product development to customers across the globe. EPAM has been at the forefront of some of the most exciting technology-led transformations in the industry, and its story continues into today’s modern age of agile delivery, big data, machine learning and AI.
Can you share a little bit about yourself and how you got into software developing?
I have been a software developer since 1990’s, when I first started with Borland tools, such as Turbo Pascal, Paradox, and Delphi. In mid 2000’s I switched to .NET, and my first project for it was developed in version 1.1. Quickly after version 2.0 was released, the project was updated to the new .NET version, and since then I have been doing all sorts of applications - WinForms and WPF, Web APIs, Silverlight, WCF services and cloud hosted apps. I like to emphasize on code quality and clean code (not the same as the 'clean architecture', mind you!) - this is what I always keep in mind while designing, implementing, or doing code reviews. And do not take me wrong - I have nothing against the clean architecture, it is just a very different level concern that has its own time and place.
What does your day-to-day responsibilities look like at your organisation?
Like in many other organizations, I would meet with the business to give feedback on the team’s progress and problems, discuss and plan future work, refine the requirements, provide estimations; work with the architects to analyze, design and improve the product architecture; work with the team on implementation, coding, reviews, testing, and delivery. Also, cooperating with other teams is a large part of my daily work.
What notable software developing challenges have you overcome? What did you learn from these experiences?
One of the major challenges was developing and delivering a new version of a flagship product for the company. It started actually from zero ground – I had to assemble the team, design the architecture for the new version (the old version suffered from multiple performance and stability issues, so we could not rely on its architecture), work with the business to establish the roadmap and delivery schedule, then the actual implementation. During the implementation we had to find solutions for various performance challenges, accommodate and adjust for changing and new business requirements. At the end, it was a real win, as we delivered the first milestone on time and it was highly praised by the customers for its features, ease of use, performance and stability.
What inspires and energises you within your work?
The impact of my work and contribution – both to the project and for other people on my team, and on other teams too. I also contribute to mentoring activities within my company and across my professional network. Seeing how other people grow professionally and overcome the challenges in their work with my help gives a lot of inspiration.
What advice would you give to someone wishing to start their computer science career?
Never stop learning, maintain healthy levels of self-critique. Be flexible and open, but also firm: develop confidence based on your successes, always treat mistakes and failures as learning opportunities.
What are some of your favourite programming languages and emerging technologies that you are enjoying working with currently?
C# is my main language of choice. Rust has earned my curiosity and respect for what it can give in terms of performance and stability.
Is there anything specific to your industry that affects your role as a senior software developer?
Hmm, that would be most obviously the AI’s – ChatGPT, Github CoPilot, and so on. I am very far from proposing that the AI’s may put at risk software engineer positions, or any other engineering jobs, but they are bringing in a substantial influence that we definitely need to learn to turn to our advantage. I use CoPilot quite a bit for my work, and it may be very helpful with its code suggestions, however they require a watchful eye, as sometimes they may be either outright incorrect or have some very subtle issues. So, I see the AI’s as a potential help in boosting engineer’s effectiveness but they (the AI’s) need to be tamed.
How do you use log and metrics data to improve your workflow? Do you use a log management system or do you find manually parsing and filtering events to be enough to fit your business needs?
Most definitely yes. We use Application Insights as the main tool for logs and metrics. Recently we completed a major effort to improve logging and observability features for the current project which already brings benefits to our development, QA, and support teams.
Can you tell us about any exciting projects or features that you are launching soon?
We are working on so called ‘teacher customized assessments’ for an online learning system. This large feature includes a lot of long-awaited capabilities, such as teachers are fully capable of creating and customizing learning materials for their students (while still maintaining relevance with the curriculum), sharing with other teachers, dynamically interacting with the students as they are passing the assessments, introducing changes and corrections while maintaining the learning materials coherent and available, and many others.
What book are you currently reading?
Over past many years I have been reading mostly blogs and articles on the web. However, there are books I come back to sometimes. The most recent read was ‘Conversations with Goethe’ by Johann Peter Eckermann. Goethe was an exceptional man, and Eckermann draws an amazing picture of him in the book.
If you enjoyed this article then why not have a read of our popular guide on telemetry data, or view our Linux command cheat sheet or our Interview with Vadzim Zylevich next?