Site icon Thoughtful Dane

Great software

At a recent interview I was asked: What is good code? While I have written code professionally since 1999 and have taught classes in good programming practices, I think a more interesting question is: What is great software? While the source code important, it doesn’t live in a vacuum. To write good code, you need to understand the larger context of the system. Reflecting after the interview, here is the answer I would give today: The best code is the code you don't write because you understand the domain.

But then what is great software?

Sun rising over Acropolis, Athens, Greece. Copyright Frederik Jensen, 2023.

Great software

To build great software, you need a team of highly skilled people who understands the business domain and the technology and have the means and motivation to get things right and not just done. Plus a little luck in predicting the future and getting past those initial first years.

I’ve had the pleasure of working with some amazing software systems. None of them perfect, but they all had a core of brilliance. Based on a deep understanding of the business problem and by applying appropriate technology to focus the team on solving the right problem. Let me share some insights into a few of these.

SimCorp Dimension

SimCorp Dimension is an investment management system for large buy side investors. Buy side investors are in the market to own assets over longer time and profit from long term trends.

SimCorp Dimension has at its core a data model following the REA model. Resources are financial instruments, Events are financial transactions, and Agents are Holdings, the portfolios you trade in and out of. This elegantly implements an IBOR, Investment Book of Records, where you can have different views on the same data. For instance, invest managers want to take future cashflows and unsettled trades into account. You want to make sure you don’t sell what you have already sold and that you invest incoming money as soon as possible.

Besides the rich data model, SimCorp Dimension leverages an application framework where business logic is written in a high level language. Follow the established patterns and a skilled developer can implement an application in a week. The early delivery of hundreds of exotic instrument and transaction types set SimCorp on a course for long term success. 

I was part of a team that in 2003 created a C# framework for application teams to deliver rich user interfaces targeted front office users. WinForms was the right choice in 2003, nobody took a web UI serious those days. Times have changed.

Water tower near Tumba, Sweden. Copyright Frederik Jensen, 2024.

Tbricks

Tbricks is a sell side electronic trading system. Sell side investors are in the market short term and make a profit from intraday opportunities. 

In a domain where speed is everything, Tbricks allows customers to inject their proprietary trading algorithm into a highly optimised engine that exploits every trick in the book to be the first to pick up a trade. You want your instance of the trading algorithm to run as close to the server that runs the market you are trading on.

The amount of money to be made (or lost) in a day in this domain makes for some pretty advanced optimisations. Like building a line of microwave towers between Frankfurt and London to get your own private connection that is just that tiny bit faster than what everyone else has. In trading, there is no prize for coming in second.

While I never got hands on with the code, I learned a lot about the “dark side of finance” by running a development project delivering a systematic internaliser solution in time for the MiFID II deadline. A world where a typo can lose you millions in seconds.

Cell phone tower in Sweden. Copyright Frederik Jensen 2024.

CluedIn

CluedIn is a master data management solution that embraces an ever-changing, imperfect world. Master data management is for a business to connect and leverage business data that in most companies otherwise live in information silos. Your master data is a so called golden record of entities important to the business. Like customers and employees. 

The traditional approach to bridging information silos is to create a custom data warehouse. In a data warehouse you collect data from otherwise disconnected systems and build business intelligence on top. Typically for top management to access key performance indicators in near real time. The downside of this approach is that when you finally go live after months or years of analysing requirements and connecting systems, the world outside has changed: Top management buys a business in a neighbouring country. The SME who masterminded the solution moves to a position elsewhere. 

CluedIn avoids this by granting data experts the power to import, analyse and clean business data without writing a single line of code or SQL. With a cloud native architecture, CluedIn combines the best of the open source community into a highly configurable and tuneable engine. Allowing domain experts to focus on data, not details.

I implemented CluedIn at a Swedish company. While CluedIn was still maturing and not an optimal fit for the customer, I got to see enough of the team and the system to appreciate what they do. 

Open for work

I’m currently looking for a new role in the Stockholm region as C# engineer, team lead or architect. Get in touch if you need someone with a passion for software engineering to help make your system great.

Exit mobile version