An interview with Oleg Yanovich, Technology Director - EffectiveSoft
Back to blog

An interview with Oleg Yanovich, Technology Director

In 2024, Oleg Yanovich will celebrate his 20th anniversary of working at EffectiveSoft. We talked with Oleg about how our company has evolved over his tenure, how technology has changed, and how he has managed our approach to building long-term relationships with clients.
6 min read

    Give us a quick overview of EffectiveSoft. When and how did you begin this journey, and what were your motives to be successful in software development?

    In 2004, I began my career at EffectiveSoft as a Database Architect. At that time, the company was solely focused on developing a large-scale project for a Chinese customer, and all employees were dedicated to this task. I joined the internal development team and worked on a support tool to fill the knowledge base of the main project. I also leveraged my experience in software development and database management as a Software Developer. As the company started to provide software development outsourcing, I became a Project Manager for one of the projects until 2011. Since then, I have been appointed as a Technology Director.

    My motivation has always been driven by the desire to achieve outstanding results through the combination of manual and intellectual labor. From my point of view, this principle is particularly relevant in software development.

    What do you think is the key responsibility of a technology director?

    The main task is to monitor key trends in the industry and their timely implementation and development in the company. I am also responsible for employee training, creating new technology groups, and developing expertise.

    Tell us about your biggest achievement in the industry.

    Well, I consider my greatest achievement to be the architecture I created for one of EffectiveSoft’s projects. This architecture enabled the development and scaling of the project for more than 10 years. The principles laid down in 2007 allowed the team and the client to painlessly implement the solution, changing and supplementing its functionality without significant architectural changes, all while expanding the scope of the project.

    How well are you prepared to manage any crisis that may arise during the development process?

    In my view, my primary objective during the development process is to avert any crisis. I have consistently valued my team’s input and relied on their judgments. This fosters a heightened sense of accountability among employees, who realize that any missteps will need to be rectified independently.

    There have been instances where I have made decisions that diverged from the team’s perspective, but only when I believed they wouldn’t lead us down a dead-end path. Nonetheless, I always endeavored to explain the rationale behind such choices to the team. My guiding principle has always been, “Success is the team’s accomplishment; failure is solely the responsibility of the manager.” In response to the question, I can confidently state that I have capably navigated crises that have arisen during project management, both in terms of team leadership and interactions with clients.

    What, according to you, are the best practices to attain client satisfaction for software development?

    Quality and reliability are the primary factors that guide most clients in their decision-making. Establishing long-term relationships is crucial as it allows the software development company to integrate seamlessly into the client’s business as an extension of their team and, often, to become their sole service provider.

    While some clients will initially prioritize price, over time, the importance of this factor diminishes as the focus shifts towards building long-lasting partnerships. Thus, delivering exceptional services through effective communication and software development processes is vital for establishing successful relationships.

    How does EffectiveSoft update its business system to keep pace with technological advancements?

    The company constantly monitors technological trends and demand in the IT services market and invests in the development of its employees. Our leading developers and technology group managers build internal training programs. Also, we attract students as trainee developers and then train and integrate them into our processes.

    How do you manage a deadline if it becomes necessary to make major changes in the coding during the final phase of development? Tell us about your experience, if any.

    This is a very delicate situation, and there are several possible scenarios. For example, a client, reacting to the results of MVP implementation and feedback from users, may see the need for functionality that was not even considered at the initial development stage. In this case, we conduct an additional assessment of the new functionality and agree on deadlines for its implementation.

    There are also cases when part of the functionality was not obvious at the initial assessment stage. So, depending on the complexity, the company may decide to allocate additional resources to meet deadlines and not spoil relations with the client. This is a kind of investment in building long-term relationships. In any case, this is always a subject for negotiation. As a rule, we manage to find a compromise.

    What do you think will be the future of software development technology?

    This is perhaps the most insidious question. Each of us, probably, would like to be able to look into the future. As my university teacher used to say, “Apart from if, for, and while, nothing new has been invented in programming.” All new software development technologies to some extent concern only tools that make life easier for programmers and speed up the development process, make it less labor-intensive, and increase the quality of the final software solution. In the early days of my career, most of the code was written by hand. Then, automated development tools — the so-called IDEs —  appeared. Over time, various types of libraries, frameworks, and other development tools were built into these systems, which only accelerated and simplified the process of writing code.

    In the modern world, artificial intelligence has become one of these auxiliary tools. Over the past 30 years, mankind has created a huge amount of program code, which is an excellent knowledge base for training neural networks. Modern development tools are already able to generate the necessary program code automatically. But, nevertheless, the key to success is the correct formulation of the problem for artificial intelligence. At its core, the software developers of the future need to focus more on enhancing their engineering and architectural skills. This will allow them to better think through the solutions they develop, rather than wasting time coding.

    Contact us

    Our team would love to hear from you.

      Order an IT consultation

      Fill out the form to receive a consultation and explore how we can assist you and your business.

      What happens next?

      • An expert contacts you shortly after having analyzed your business requirements.
      • If required, we sign an NDA to ensure the highest privacy level.
      • A Pre-Sales Manager submits a comprehensive project proposal. It may include estimates, timelines, lists of CVs, etc., for a particular situation.
      • Now, we can launch the project.

      Our locations

      Say hello to our friendly team at one of these locations.

      Join our newsletter

      Stay up to date with the latest news, announcements, and articles.

        Error text