Denis Imaev has been in the financial industry specializing in trading technology for over two decades. He started as a software engineer at various leading companies and later became a part of JP Morgan’s algorithmic trading team. Imaev is currently the managing director and head of algorithmic trading development at Cantor Fitzgerald, where he leads the development team to design, build, and maintain algorithmic trading applications.

In an interview with Financial Services Review, Imaev highlights the prominent challenges and technology trends impacting software development in the financial industry.  He shares insights into his personal initiatives that can potentially solve these challenges.

What, according to you, are the challenges in the financial space?

I want to specify the challenges facing the software engineering sector of the financial industry. 

Software development for financial services is a high-impact segment, as every mistake costs significant money. The applications must be mission-critical, flexible, and robust to incorporate industry changes and enable high levels of customization, as the financial market dictates rapid changes. 

Are there any technology trends that are impacting the industry?

A low-code/no-code approach is gaining momentum in software development for financial services to enable customization. It equips users with tools to modify the system algorithm using a pseudocode or a graphical interface. Many teams I have worked with are attempting to build such systems now, as it helps in sketching and prototyping an algorithm before it is officially implemented.

“A low-code/no-code approach is gaining momentum in software development for financial services to enable customization. It equips users with tools to modify the system algorithm using a pseudocode or a graphical interface”

These systems come with certain challenges as well. Even while allowing users to build and modify the system algorithm, they cannot fix bugs or run security checks. If a user creates an error–prone logic, they are left with no one to fix it.

Another cutting-edge technology that revamps many areas of the industry is generative AI. This helps with everything from creating the logic to describing it, designing UI and UX experience, and generating automated regression tests. However, codes generated by AI are often simple and primitive, and they aren't capable of designing complex algorithmic components. As AI is trained based on established knowledge, it must anticipate future requirements and function accordingly. So, explaining the requirements as needed is important to avoid significant mistakes.

Are you working on any similar technological initiatives at your organization?

Our core project is a lightweight trading system called Precision Algo, which fits into a single commodity server, to help shape the industry standard for Algo development. Apart from being compact and fast, the system is flexible and highly customizable. We plan to leverage our knowledge of trading fixed income and equities into the system and adapt it to trading a new asset—cryptocurrencies.

We are keen on blockchain technology. We plan to implement various applications in areas like asset tokenization, settlements, and distributed ledger technology.

What would be your piece of advice to your peers in the industry?

My advice is to the engineers. Being an engineer in the financial industry is difficult as they are often tasked to build systems without knowing the requirements. They also need to keep track of the application’s cost efficiency and potential weaknesses. 

To stay ahead in line with all these responsibilities, engineers must be eloquent on design patterns, clean coding techniques, and the business domain.

Understanding the business domain helps engineers identify the necessary and unnecessary to avoid wasting time and resources and anticipate the client's needs per the industry trends.