Friday, November 04, 2005

What I Do for a Living

I often get asked, especially by friends I don’t see very often, what I do for a living. Sometimes it’s kind of hard to describe and, often, my job title doesn’t help much or is only tangentially related. Generally speaking, I solve various kinds of problems. Sometimes they are problems in logistics, or software testing, or design and engineering. Occasionally they are management or personnel problems and every once in a great while, it’s a problem like funding or patents. Once or twice in my career, I’ve been asked to work on a team which tries to solve something big, sometimes really big, and I enjoy these jobs the most.

Often, but certainly not always (or even the majority of time), my solutions work. Most times they don’t work completely and sometimes they totally fail. Generally though, the sum value of all the working bits outweighs the non-working bits and folks end up giving me more problems to solve. When I was younger, I would do this in ways which would often frustrate and annoy my friends because, while everyone would agree the solution worked, no one quite understood how I’d come up with it. [One that comes to mind was solving a complicated problem involving inductive transformers by looking at the problem as a magnetic circuit and solving it in 3 lines. Knezek actually whaled on me with a copy of Jackson for about 5 minutes until I hit her back. To this day *I* am considered the bully there for some reason!] These days, since I am being paid and the solutions often have some value, no one really cares much how I did it.
This is good, because often, I don’t know either.

Once in a very great while, usually only once or twice in one of my 5 year company careers, I do something really cool. At CertCo I got to do that twice, once with the Identrus architecture and once again with the NTBTO. At HKS I invented an automated QA system that used an AI. At Kurzweil… well, nothing that great actually. Some UI stuff, some organizational stuff, but nothing “oh!” kind of clever. I never work on these alone, so I would never claim sole credit, but they are cool collaborative efforts in which I’ve seen an idea of mine come to life.

I’ve gotten my first opportunity to do one of these at Microsoft. In this case, it’s the future of banking. The challenge; only given technology you have accessible today, design a banking/trade floor system that will last for 30 years. Burroughs did this in the late 60s, early 70’s, IBM did it in the mid-70’s, as did Tandum and a few others. But all those systems are old now and, despite the fact that I don’t believe in a singularity per se, technology really is changing very fast, Moore’s law is still approximately correct and standards are evolving at a pace which calls into question the use of the word. The old systems are dying quickly and there is a real problem with replacement. Some would say “don’t bother, it’s changing too fast. Design it for 5 to 7 years.” Which would be a fair answer to another technologist, but bankers just won’t accept it. Y2K was a big shock to them and many have not gotten over it or really understand why it happened. Bankers think in 30 year timeslots and MSFT has gone in, unsuccessfully with the 5-7 year line for 20 years now and it simply doesn’t fly.

Kenny McBride, the head of MSFT Capital Markets along with Warren Lewis and David Vander in Banking, and I have been cranking on this problem for about a year now. The first cut of this is ready for public consumption, at least at the Vision/prototype level. We’ve put together 5 technical architectures in Payments, Trade Order Management, Insurance, Compliance and Channel Renewal, all based on existing technology, pieces of which are in play at different banks and Financial Service Institutions all over the planet. I’ve been test marketing the idea now for a few months and showing parts of it to various audiences, all of whom have given valuable feedback. This package was launched this week at the event with the PSI Banker’s School and Microsoft’s ISU 2005 and it seems to have gotten a good reception.

Our Industry and Innovation group (i.e. the marketing group), sat down with Warren, David and myself and asked us a bunch of questions about what this will look like, then put together the following. This is not a technical presentation, but one for getting the banking community to take a look at the underlying architectures and getting them to think about what is possible. Think of this as the commercial which gets them into the showroom where I can talk to them about the engine, gas mileage etc. Since it’s been launched, I think I’m allowed to show it.

It’s here although, somewhat ironically, you’ll need flash to run it. Don’t ask me, I think our whole marketing department runs on Quark Express or some crazy crap like that. Also, it's large. Very Large, 50M

[Update: some security systems won't let you run the demo. I've posted a zip with everything you need ZIPFILE. Download and run it from that. Apologies}

Everything in it is possible to put into production today. All the really hard bits; straight through processing, reference data lookup, micropayments, TARGET 2, STEP2, Basel, etc. are all covered in the technical architecture, which is under NDA. I can say most of the solutions are based on variations of an Enterprise Service Bus architecture, and all of them are compatible with existing systems, legacy systems, unix etc. Mobility is a key technology and, using the .NET framework, the application code is largely independent of the end rendering device, i.e. I can write a smart client app for the desktop and it will work with little or no modification on a mobile platform.

It’s a cool thing and one of the few times I have something tangible I can show a general audience about what I do.

3 comments:

Brian Dunbar said...

Very interesting stuff.

Brian Dunbar said...

I hate to be a nit but the thing is a .exe file - your marketing department - if they're promising to be compatible with Unix might want to put together a demo you can play on .. you know .. other operating systems.

But it sure does sound nifty.

MAH said...

That is an excellent point. I'm positive there is a unix version, I'll need to track it down and post it.

thanks.