A collection of thoughts, ideas and rants inspired by my career in the fintech and banking industry.

On Modernization

I’m currently working with a large retail banking client to help them modernize their payments infrastructure. The word “modernize” is used in just about every client interaction. It appears in all the slide decks. It’s part of the business case justification. But modernization is a relative term. The big question is: What does the client mean by modernization? The existing system is a vendor product running in an on-prem application server. [Read More]

Moral Hazard

Is QA a moral hazard?

A moral hazard is when an.. …actor has an incentive to increase its exposure to risk because it does not bear the full costs of that risk. It’s similar to perverse incentives. A perverse incentive is an incentive that has an unintended and undesirable result that is contrary to the intentions of its designers. I have spent the last 6 months working closely with a QA team inside a large financial instutition and have become increasingly skeptical of the value they provide - the development team don’t test as thoroughly as they should because they know that QA are playing backstop. [Read More]
strategy  qa 

QA: The Final Frontier

Your QA process should take hours, not months

QA organisations have come a long way in the last decade or two. In the early 2000s, automated unit testing was just gaining popularity and QA was performed manually by armies of testers. The QA process was time-consuming and arduous, and the testing timelines were the first thing to be compressed when development took longer than planned (as it almost always did). By the 2010s, many applications had moved to a web interface which allowed QA teams to automate some or all of the end-to-end testing using Selenium, or similar. [Read More]

A Good Place To Work

What is it like to work at your company? Think about it carefully. How do your people spend their time? What culture and behaviours do you incentivize? Is it a good place to work? Culture in this context describes how people interact at work, the processes and policies, productivity friction, meeting efficiency, et cetera. Your company’s culture describes what it is like to work for your company, and it has an outsized impact on the type of people your company is able to attract and retain, and whether they feel productive at work. [Read More]

Architecture Vs Engineering

The question is more interesting than the answer

I’m working for a client that has separate teams for architecture and engineering. Architecture is responsible for defining the long-term direction of the platform and engineering is responsible making that dream a reality, in addition to their day-to-day sprint work. Each engineering pod has a representative from architecture as one of its members but their role is mostly about producing documents and interfacing between the two teams - they don’t touch the code at all. [Read More]

The Power Of Constraints

The limitations of physical meetings are a feature, not a bug

Before COVID-19 and ubiquitous work-from-home, we used to have meetings in a room where people would sit around and discuss the matter at hand. The start time had some flexibility because people had to physically move from one location to another, often between floors or buildings. Whiteboards helped focus the conversation. People could interject organically without having to raise a hand like in grade school. Unplanned conversations in the office were common and often more productive than a formal meeting. [Read More]

Antipattern: BFF


The backend-for-frontend (BFF) pattern is when a backend API is designed specifically for the needs of a frontend consumer. The BFF is intended to make frontend development simple, moving all the complexity and “business logic” to the backend and allowing the frontend to deal with a single backend. The backend BFF API closely resembles the flows and screen designs of the frontend. The initial development experience is often positive. The frontend team can focus on the UI/UX aspects of the application, and the backend team can handle all the downstream integrations and data transformations. [Read More]

Details Matter

Why you need specific requirements

Consider the following statement: Our consultancy operates on a 50% margin. Margin is how much extra the consultancy charges on top of their costs to cover the consultancy’s costs, operating expenses, and profits. Most consultancies have a minimum margin that they’ll consider acceptable when bidding on work. But the details matter when it comes to requirements. A lot. The statement above is subtly ambiguous. How is margin calculated, precisely? I can think of two ways which make sense but result in wildly different profits for the consultancy. [Read More]

The Art of Documentation

Documentation is one of the most valuable artifacts of any technology project or platform. It provides context to new joiners, avoids duplicating responses via Slack/Teams, and facilitates asynchronous communication, but it also requires constant care and feeding. Confluence is where documentation goes to die – Unknown Most of the large enterprises that I’ve worked for have a large corpus of documentation in a wiki of some sort. Most of it is dangerously out-of-date, incomplete, duplicated, and fragmented across different pages or spaces. [Read More]

Basic Skills

New technologies generate a lot of noise as they work their way through the hype cycle and it’s hard for newcomers to figure out what they should learn. Only a small number of these new technologies will survive the test of time, most will be forgotton, but the FOMO is real. While there’s value in the process of learning the new hotness, I think you’ll see a higher lifetime return when you invest in learning the basic tools of the trade - the skills that you’ll use day in and day out, and skills that will transfer well from one job to the next. [Read More]