Home Articles Challenges and opportunities in banking and fintech by Ihor Medvedkov

April 25, 2024

read

Challenges and opportunities in banking and fintech by Ihor Medvedkov

Challenges and opportunities in banking and fintech by Ihor Medvedkov

April 25, 2024

read

Ihor Medvedkov is one of our talented Java engineers in the banking practice at PYGIO. We had a coffee with him and asked about his current project and the challenges and opportunities in banking and fintech companies. Ihor speaks about the technologies financial institutions will use in the future. Read on!

Let’s start with getting to know who you are and what attracted you to banking. Tell us about your career.

I am a Java Engineer with almost a decade of experience. I hold a Degree in Computer Engineering from one of the top technical universities in Ukraine – National Technical University “Kharkiv Polytechnic Institute”. I studied C++, C#, Assembler, and Java.

I have always wanted to work on large-scale projects, where my work affects thousands, if not millions of people. Banks are the greatest example of companies that provide lifelong services to their customers, where trust is the most important criteria for choosing a banking provider.

As a young professional with little experience, what did you do to join the IT world?

My environment played a key role in my development into software engineering. I lived in a dormitory, where the older students shared their advice on how to start my career, what to study, and what materials to absorb – and boy did I devour many books! Yes, 10 years ago we read more, we even ordered printed hard copies of books. I also learned about the IT world through friends and was eager to start my internship at a large company. I wanted to play in the big leagues.

My first and worst interview was at Nix Solutions. I came to the interview with high expectations, perhaps I was cocky, thinking that I’d cruise through the interview. In hindsight, I lacked experience and humility. The questions they asked were quite basic; the interviewers simply went by the book. Well, they quickly knocked me down, and rejected me after I couldn’t answer straightforward questions given my nerves. But they didn’t ruin my desire to keep trying. After that during my 4th year at university, I finally took professional graduate courses at EPAM and started with local Kharkiv, Ukraine-based companies.

I moved to Andersen, where I spent 4 years working in 3 different industries. I was not getting the “big-leagues” feeling just yet. Here, I rose to the position of Senior Java Developer/Tech Lead. Then I worked on a fintech project at Intellias, and got a taste for the FS space. I was onto something…

When I saw the position for Senior Java developer at PYGIO, working in the Banking consulting unit, I knew this would be the place for me.

You are in the banking consulting practice at PYGIO, tell us more about your work and projects?

I am working on one of South Africa’s largest and oldest banking institutions. The team I work in is part of a massive division in the bank, owning the development of several products. Regarding technology, I work with a mixed stack, some of which are custom-written for this particular bank. We’re mainly Java-based.

Our team aims to consult with the bank and assist in the product development roadmap. We assist in enforcing best practices, working to both cater for the end customer’s needs while upholding regulatory standards… that was a mouthful.

Fun fact about Ihor:

After university, before entering the workplace, he volunteered in a project outside of the IT world. He participated in an eco-initiative in Turkey: rescuing turtles on the Mediterranean coast.

How does a developer work within the ecosystem of a bank?

I’ll paint a picture first. The bank has several types of consumers of software products: the bank’s clients and the internal staff (also consumers) represented by the bank’s managers. Usually, there are more requests from bank clients, naturally, because there are more of these consumers.

A bank is a large and complex system consisting of different components that are not visible to the end consumers. The components for internal and external consumers must work together to provide banking services.

For example, there are hundreds of internal services and processes, which perform important functions. These systems are very distributed and vary between legacy and modern systems. This modularity (modern components + legacy elements) allows you to add new elements to the component system without touching the old ones. Communication between them occurs through http protocol or via message bus.

Business analysts, architects, and team leads of the bank decide what areas are relevant, and we, the developers, take them into release. These teams work disparately.

Teams work in silos because there no one at the team who can be responsible for all the banking products and services offered by the bank. So each component or set of components of the bank is led by a CIO or capability lead and these leads speak to each other and make sure all the components work in unison, like an orchestra. In recent decades, these teams have grown to thousand-man units! All sorts of organizational factors are at play here: people management, HR, risk aversion, permission management, data management, and access…the list extends.

One of the key things I believe these banks should be actively working is breaking down these silos, this is an opportunity to foster innovation across the bank’s base.

What is the main business area you work in?

Each bank client can perform certain operations or give permissions on his behalf to execute certain activities among the bank’s services. We are currently developing a new functionality that would simplify the process of transferring rights.

We are thinking of creating a production support service to reduce the manual work of developers during production support activities. Automation will reduce errors and speed up the work.

This is awesome because without our work, clients cannot transact securely in today’s ever-evolving world of risk.

What technologies are you using and what does the tech stack look like at the banks? 

The bank’s microservices architecture allows the use of different technologies. Most components are written in various versions of Java and Java Enterprise, with newer components based on Spring Framework.

One should understand that a bank is an institution that represents stability and trust. For example, some of the oldest European banks have their frameworks written in COBOL, an old language (60+ years old!). The idea is that if something is working, we try not to change it. The costs of such system transformations are huge and lengthy. And the risk of that change going wrong is catastrophic.

In addition, there isn’t massive business value generated (as the existing system works, and has worked for years). It’s not recommended to switch frameworks often because a) frameworks change all the time b) there’s no clear business need for that. Adding new features on top of existing frameworks is what big businesses like banks see as the most effective way to do work. As a result, we see that the tech stack of banks is growing with time. 

Ihor’s latest road trip

How do you know which new technologies to add?

Let’s first discuss how new technologies emerge. This usually happens when someone does something for themselves, solving their problem. At some point, a person makes this solution public, and others actively begin to use it – this is the Open Source movement. Over time, some technologies are eliminated, due to needing to be more specific and convenient. Those that aren’t, remain. It often happens that large corporations, solving their particular problem, create technologies that are then used by others.

At the same time, communities around technology appear, and people gather and develop technology based on common interests. For example, let’s take Kubernetes, which was developed by Google for its purposes. When it was published, people saw that this technology performed well across many use cases. Now Kubernetes is used by a wide audience and continues to develop.

Banks usually work with already-established technologies and products. Technologies must prove themselves and pass this filtering. I’m all for letting technology mature. If you remember there was such a hype language Scala, and where is it now? It took its niche and stopped, and there was a time when entire teams retrained from Java to Scala. Scala turned out to be less effective for enterprise needs long-term.

Stability is good but what about innovation?

The Financial Services market is so diverse these days. For example, fintech companies with millions of new features, updates, innovations, cool design, and UI/UX push the financial/banking sector forward. It means that global banks with history, credibility, and status have to be in line with progress to remain in the leading position. And again today’s clients are so demanding: people want their transactions to be fast, transparent and of course online.

As I mentioned previously, the bank’s architecture allows for new services to be added all the time – so the core foundation is stable, while allowing for new, secure products to be added constantly.

What technologies will be popular in the financial sector?

Look, fintech is a mass product. People trust their savings to these institutions. Therefore, the most important requirement for IT technologies in the financial sector is security and longevity and everything connected with it. In second place is the processing of large amounts of information; here there may be cloud technologies and technologies for processing large message traffic such as Kafka.

I have a list of technologies that I keep an eye on. For example, Spring Framework has an official website where all updates are published. Same with Kafka, Elastic Search, Amazon, and Google Cloud. These are going to be used by legacy and modern fintechs because they will be around for a long time.

Ihor, what’s your view on banking of the future?

The truth is in the middle. I believe that in the foreseeable future, banks will stick to a balanced strategy. This means being conservative with their core systems and introducing innovative solutions with the help of AI, Big Data, and Cloud. This will be done by bolting on these new services in a low-risk, modular fashion.

On the one hand, banks are highly regulated institutions and this requires stability. On the other hand, clients will always ask for more, and banks must adapt to these needs.

PYGIO banking practice enables core banking teams to secure, develop, and maintain their key assets. We assist with data governance, workflow automation, application, and infrastructure management – from the core ledger to the end-consumer product experience. 

Got a question or suggestion? Submit your interest request to our contact form.

More articles from the PYGIO team:

Share:

RELATED ARTICLES

December 29, 2020

read

Just about every business runs on software.

Technology is what allows us to automate mundane tasks, like inventory tracking, and improves our lives in simple ways like taking a photo. Software is at the core, periphery and everything in-between this advancement.

December 29, 2020

read

IF I WERE A RICH MAN

Fiddler on the Roof was written by Sholem Aleichem in Kyiv and the story is set in a village just outside of Kyiv.

We bet you did not know that.

December 29, 2020

read

When you hear people talk about their travels then cities like Paris, London, New York, Berlin, San Francisco are often the destinations of choice. But mention places like Johannesburg and Kyiv and most won’t know what you are on about.

Get started on your next project

Our presence across Eastern Europe and Africa allows us to hire from anywhere. Find a team that works for your business.

Thank you for your message!

Our team will carefully review your application. We will get in touch with you as soon as possible.