How does one end up programming for finance enterprises? Is it your range of skills that got you there, or a clear interest in that area?
I joined the banking world through a recommendation. At the time I was working for a consultancy and one of my colleagues joined a bank as an agile coach. He saw the state of the software and found that the developers were completely disillusioned with what they were doing. He asked me to join him – I found the challenge of reinvigorating an ailing project irresistible.
It’s widely believed that traditional finance enterprises mostly remain entrenched in their old reliable technologies. Have you ever encountered resistance from Ops with regard to the innovation of finance technology?
Resistance is everywhere when you try to introduce new ways of doing things. Primarily it’s due to the fear of risk that new technologies present both to systems and peoples’ careers. I also found that this fear is so entrenched that people discourage you from introducing something new even when they don’t have any understanding of the risks involved. They have the attitude that, “if it’s new then it must be risky”.
What would you say are the main differences between programming for finance tech and other enterprise technologies?
The environments are much more governed than most places. Hardly a day goes by when someone doesn’t mention “Segregation of Duties”. No two departments are the same so experiences are very much dependent on your department. I have seen some of the most archaic technologies and practices in finance as well as some of the most forward looking.
How do you see the role of microservices in new finance tech?
Systems in Finance are generally monolithic. Consequently they are very unwieldy to build, deploy, and comprehend. Often boundaries of concern are not clear and the same concept may mean different things in different parts of the code. Micro-services can help split these monoliths in bounded contexts and help reduce complexity.
You refer to yourself as a software craftsman. Do you think the concept of software craftsmanship is particularly relevant when coding financial tech?
is a conference dedicated to Technology in Finance. The two-day event will take place at the heart of the international finance industry in the City of London
on 28 and 29 April, 2015.
A must-attend for everyone working in finance tech, the JAX Finance will help developers and technical stakeholders build better software and innovative business systems in their industry.
Software Craftsmanship has an emphasis on quality. Clean, flexible, bug free software is relevant regardless of the domain. Generally the cost of failure is very high in finance and so, one can argue that, software craftsmanship is essential.
Your talk at the JAX Finance will focus on meeting the lofty IT needs of a shifting bank and maintaining XP practices at the same time. Can you give us a sense of some of the obstacles you’ve faced in the process?
In large departments, following the norm is very easy. There are less, forms to fill, people to placate and no one will blame you if you fail doing things the “standard” way. In fact sometimes success and efficiency seem less important than toeing the line. In this environment convincing people to change is quite a challenge. In addition the large monolithic applications cannot be discarded in favour of the green field so we often needed to undertake a long and careful journey towards the ideal.
You can hear Mashooq speak about XP programming at scale at the JAX Finance conference in London, April 28-29.
This article was originally posted on jaxenter.com