Implemented a proof-of-concept for storing end-of-day market data in the cloud (both Amazon and Google), using Spark, Storm, Kafka, RabbitMQ, BigTable, Cassandra and Redis. Attempted to extend it to intraday (tick-level) data and the architecture was able to scale to that level, but the bandwidth costs were prohibitive.
In two weeks, as part of a cross-functional team, designed and built a reference architecture for news alerts in the cloud using Amazon Kinesis, ElasticSearch, Lambda and SNS.
To provide interactive stock charts on all Dow Jones web sites, designed and implemented a service called Michelangelo that gathers and caches the data required for the charts and exposes it via a REST API. Implemented a JavaScript library to wrap a third-party chart library for the client-side chart rendering. The service is written in C# using ASP.Net/MVC. It also has a number of admin and test pages, written using AngularJS.
Designed and implemented a system to fetch, load and store world-wide stock listings, corporate actions, fundamentals and historical end-of-day pricing. The database has over 1 billion rows across 600+ tables and delivers millisecond response times to millions of website-initiated queries per day. The system was completed in six months, enabling Dow Jones to switch data vendors, saving millions of dollars per year.
For real-time updates to stock quotes, headlines and stories on Dow Jones web sites, designed and implemented the server for a long-poll ajax solution using C#. The system handled over 100,000 simultaneous users and thousands of requests per second. Prior to the availability of network-level connection affinity, it scaled using peer-to-peer communication between server instances.
Using C# 1.1, re-implemented 20+ Visual Basic news feeds by creating common components that were assembled into a pipeline architecture. The system handles both incoming and outgoing feeds 24x7, using HTML, XML and flat-file formats over HTTP, FTP and TCP/IP protocols. It has been upgraded and expanded, but the core is still in use, nearly 13 years later.
Senior Software Engineer -
ADC Telecommunications
(1994 - 2002)
As technical lead of a small team, designed and implemented a cross-platform graphical fiber-optic tracking system. The GUI was written in C++ and ran on Windows and Solaris. The data was stored in Sybase or SQL/Anywhere databases, depending on customer scale requirements.
Software Engineer -
hsb Reliability Technologies
(1991 - 1994)
Redesigned and implemented a fuel site communication server using C and INGRES in a VAX/VMS environment. Implemented a vehicle management system using INGRES 4GL and forms.
Systems Analyst -
David Mitchel and Associates
(1989 - 1991)
Developed sales and marketing applications in INGRES ESQL/C in a VAX/VMS environment. Migrated applications from 1022 to INGRES. Provided direction to two Programmers.
Computer Applications Engineer -
Honeywell
(1985 - 1989)
Specified, designed, implemented, documented, and supported a parts list (bill of materials) system in INGRES EQUEL/Pascal in a VAX/VMS environment. Developed and presented training classes. Designed and implemented software development and configuration management tools.
Electronic Technician -
University of Minnesota, Astronomy Department
(1984 - 1985)
Designed and built a high-speed DMA interface for a PDP-11/70 minicomputer.
Developed interface software in FORTH.