← Previous · All Episodes · Next →
The Heisenbug Chronicles Unraveling the Pitfalls of Software Design in Banking Episode

The Heisenbug Chronicles Unraveling the Pitfalls of Software Design in Banking

· 01:25

|

Welcome to today's podcast episode, where we dive into a fascinating story from the banking world, highlighting the pitfalls of software design. It all began when John worked at a bank that needed to demonstrate mortgage calculations to customers without the luxury of mobile Internet. Back then, they created a client-side application that worked well and pleased everyone—until the agents demanded a mobile web version.

Initially, the team considered connecting it to their mainframe, but a lack of developers made that impractical. So, they wrapped the mortgage calculations in a web service instead. It seemed to work perfectly… until agents began reporting bizarre calculation errors.

As it turns out, they had inadvertently created a Heisenbug—unexpected behavior stemming from their use of the singleton pattern. The calculator was designed to be a single instance, but in a web environment, it caused interference when multiple requests were processed simultaneously. John notes, "There was no need in the client app to enforce uniqueness via the singleton pattern."

The solution? Simply ensuring each request received its own instance of the calculator. It’s a great reminder of the importance of considering how design patterns may impact your system. Thanks for tuning in!
Link to Article


Subscribe

Listen to jawbreaker.io using one of many popular podcasting apps or directories.

Apple Podcasts Spotify Overcast Pocket Casts Amazon Music
← Previous · All Episodes · Next →