I’ve been in technology, often in coding roles, for about 30 years. During the dot-com era, I created an institutional equities trading platform that turned into a broker-dealer transacting somewhere around a billion US dollars a day. Needless to say, making sure the technology ran smoothly was a constant concern.
At that company we created technology bits in the line of trading with C++. Building the web-based frontend bits required some JavaScript. When we turned our hands to creating the internal monitoring and support systems, Active Server Pages, and, later, C# were the easiest tools to use. As much as possible, we wanted the language-based systems to interact, rather than have to reinvent bits from one language to the other ourselves.
The platform was based on Windows NT (later Windows 2000), and the RPC elements of the platform were COM+ and described in MS IDL, Microsoft’s interface definition language. While I had used IDL on Unix systems in the past, this was the first big thing I had done in IDL. As the project developed, I became more and more enamored with the engineering processes the IDL abstraction enforced on our organization.