What is your role at Maxcode?
I’ve been alongside the Maxcode community from the start of my professional career – beginning as an Intern, to my current role as a Senior Software Developer, Team Lead and New Payment Methods Expert.
Can you share a recent technological innovation or trend that excites you the most?
Of course, when discussing recent technological innovations, we cannot ignore machine learning and AI powered automation. The promise of these technologies to automate laboursome flows (like ensuring that we don’t use any unsafe dependencies and make our application vulnerable), simplify data analysis as well as digital art creating are exciting indeed.
What’s the most challenging project you’ve worked on, and what did you learn from it?
The most challenging project would have to be an “Invoicing, Payment and Mailing management” project – this means integrating a plethora of payment providers, banks (each with their own variant of an API), as well as managing communication (emails, SMS messaging, bounces etc.).
In what ways does your team ensure seamless integration of new payment technologies into existing banking systems?
The most important aspect of a seamless integration is the principle of extensibility – do not strive to change the system to accommodate the integration but add to it (or extend it) with the integration. This will pretty much guarantee less impact on the actors and systems involved, while also giving us the precedent of knowing how to integrate a new payment technology. In turn, this ensures the flexibility to integrate with any new future payment technology – nobody can predict the future, but we can all get ready to embrace it.
What strategies do you employ to facilitate the adoption of mobile payment technologies among different demographics, especially in regions where cash remains prevalent?
One fact that we all need to internalize is that mobile systems are here to stay – they are part of who we are and how the user interacts with the outside world (be it payments, social interactions, news etc.). This means that if you can’t guarantee that a specific demographic might have a credit card with a calculated average score, or that one demographic has a preferred payment option over another, you can pretty much guarantee that they have a mobile device. “Mobile first” design is becoming more and more of a default in response to this reality.
As a result, in our process of designing new systems and platforms, we aim to have a deeper focus on the user experience within the mobile device range. And we don’t mean just the usability of the interface, but the entire customer journey – it needs to be fast, reliable, consistent and intuitive. If one of these traits misses its mark, then suddenly the value brought by the platform diminishes significantly, regardless of the amount of work we put into it as a team.
How does the complexity of developing software for banking and payments differ from other industries, and how do you approach it?
The biggest technical challenge when developing solutions for such industries is the sheer number of actors involved: from banks, issuers, creditors, payment providers, and of course, the end user. My preferred approach when dealing with these industries is to focus on the end user experience in the context of the payment (e.g., a one-time payment, a transfer, a recurring insurance payment or an overdue invoice). From my experience, the end user experience is crucial in ensuring that the focus of the entire process (i.e. the transfer) is complete. A frustrated or confused user is not willing to participate in this process if they are not presented with a fast, straightforward, and smooth experience.
Can you share insights into how your team handles scalability and reliability in software designed for high-volume financial transactions?
When dealing with a high load environment, we need to answer two main questions:
- How much load can an application sustain?
This can be handled by writing load tests and running them over the application regularly. This helps identify potential bottlenecks, as well as giving us a benchmark from which to judge future improvements to performance. Running them on schedule (especially after a version update) also gives us another gateway and early indication that the current architecture is not up to par.
- How much load should an application sustain?
By analyzing the behavior of the application under stress, we can judge the usage of resources (CPU, Memory, Network etc.) and create scaling rules. Using these scaling rules, we can scale vertically (i.e. more powerful servers) or horizontally (i.e. more server instances) depending on the actual usage of the platform. This way not only are we improving scalability as well as reliability, but we are also saving costs by ensuring the application has the resources it needs in the present load.
How do you stay ahead of emerging trends and technologies?
The best way to stay ahead of emerging trends is the adage “Fail fast!”. This means to try any new technology or trend quickly (“fast”) and check if we can use it or not in the current context or project (“fail”). There is no better teacher than practical experience. And most of the time, it’s better to come up with a practical proof-of-concept solution than to deliberate in endless “what if” sessions.
Next Level Tech
Revolutionize your payments game! Dive into the realm of cutting-edge financial solutions with us. Let’s collaborate to streamline your transactions and take your financial processes to new heights.
Small business seeking efficiency or a large enterprise after seamless transactions? We’ve got customized strategies ready for you. Let’s talk about your unique needs and pave the way to financial excellence.