6.1 GENERAL DESIGN CONSIDERATIONS

Like any other large-scale programming project, the trading platform also needs to be designed and implemented with sound software engineering principles in mind. These general principles include maintainability, scalability, performance, etc. However, they mean something more in the context of financial computing.

6.1.1 Maintainability and documentation

Maintainability may sound like a purely technical challenge related to how well the software architecture is designed. In practice, however, it is very nontechnical and almost cultural or sociological in nature. In our fast-paced field of mathematical finance, quantitative developers routinely leave their organizations looking for better career prospects. Because of this rapid turnover, we may find ourselves without the system architect and the lead developers of the trading platform actively in use. Such disruptions in development and support occur more often than we care to admit. Faced with disruptions of this kind, how do we ensure continuity of operation and support, let alone software maintainability?

Documentation may suggest itself as an obvious means. However, requiring documentation has some serious drawbacks. Developers and quants usually consider documentation a boring task and a distraction from their real job. They have good reasons to feel that way. In a job environment where employee turnover is high, it is important for the newcomers to make their mark quickly. They do not have ...

Get Principles of Quantitative Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.