Doug Swisher

Doug Swisher

Software Developer

Contact Me

About Me

I am a software engineer passionate about crafting high-quality solutions that fulfill customer requirements. My forte is server-side development, but I am comfortable on the front end as well. The field is continually evolving, which dovetails nicely with my enjoyment of life-long learning.

In my spare time, I enjoy working on personal coding projects, a few of which I have open sourced. Reading, computer games and dabbling with electronics also find their way into the mix.

Open-Source Projects

Yaclops - Yet Another Command-Line Option Parser

A cross-platform, pre-alpha nuget package to parse git-like command-line options. Works reasonably well, especially when using an IoC container. Needs a few bugfixes and improved help pages before it could be taken out of pre-alpha.

View on GitHub View on nuget.org

Kurdle

A static web-site generator, ala Jekyll, Pelican, etc. The goal of this one (vs the plethora of existing solutions) is better LaTex math support. Recently restarted to look at alternate markdown parsers.

View on GitHub

Difftaculous

A stalled project with the noble goal of performing a diff on structured data. It was born out of a desire to validate a release candidate REST API against the current production version to flag any differences.

View on GitHub

Work Experience

Software Architect - Dow Jones (wsj, MarketWatch) (2002 - Present)

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.

My GitHub

Loading the data just for you.
<