2456 N Francisco, 1st floor
Chicago, IL 60647
I am seeking a senior position in software development
where I can use my broad array of technical skills and domain knowledge to
create efficient and profitable systems.
- Unix experience
- Linux installation and system administration
- Mysql installation and administration
- Postgresql installation and administration
- Linux Device Driver development
- C/C++ experience
- Client and server development on Linux and Windows
- Lock-free algorithm design
- Java experience
- Multithreaded client and server development
- Market data feed experience
- ISE option API
- OPRA and NASDAQ multicast data feed
- Bloomberg API
- Lime Citrius API
BS in Computer Engineering from University of Illinois, Urbana-Champaign,
GPA 3.58 of 4.0
- Computer Architecture
- Operating Systems
- Computing Theory
- Software Engineering
Trader/Developer, 4/2013 - 8/2013
Henning & Carey
141 W Jackson, Suite 1801
Chicago, IL 60606
Worked directly with a quantitative trader to develop a black-box energies and grains futures market making model.
Software Architect, 4/2011 - 10/2012
325 S Sangamon
Chicago, IL 60607
Designed an entire high performance C++ trading system from scratch.
- Apile (short for Atomic Pile), a lock-free shared memory message passing API, capable of passing messages between separate processes on a machine with one-way latency of ~300 nanoseconds
- Apile Relay, a socket-based layer to allow Apile processes to transparently send messages between separate physical boxes, with one-way latency of ~7.5 microseconds
- Out-of-process logging, to log messages and order state persistence entirely asynchronously from the critical path of operations
- Directory service for clients and servers to register and find each other across a local network
- A "live" database in Postgres, where changes to properly instrumented database tables would be broadcast to subscriber clients in real time
- OPRA and Lime Citrius price feeds
- LimeInside order interface
- Initial prototype book building and order library apps
Software Engineer, 4/2010 - 4/2011
190 S La Salle #1200
Chicago, IL 60605
Worked on the Liquidator subsystem of Orc's trading product. Liquidator provided customers with a Java API within which to write and run trading algorithms that interfaced with Orc's trading gateways and GUI front end. Spearheaded a development effort to design a new shared memory IPC system to reduce latency between Liquidator and trading interfaces.
Contract Developer, 9/2008 - 9/2009
4205 Whitewater Creek Rd
Atlanta, GA 30327
Wrote a custom option trading system in C++ from scratch, providing
interfaces for Weber to write his own C# GUIs and Perl maintenance scripts
to interact with the system. I maintain ownership of the infrastructure code
from this project, so I am free to reuse or build upon it.
- Livedb, a custom MySQL server module, which allowed normal SQL inserts,updates, and deletes, to be broadcast in real time to subscribing clients.
- Incoming prices via Activ API
- Trade interface via TradeSpeed FIX API
- Theoserver, an option greeks service
- Eyeserver, which ran the "electronic eye" to shoot at options which crossed the trader's theoretical values with sufficient edge.
Developer, 6/2007 - 5/2008
Sun Trading, LLC
100 S Wacker, Suite 300
Chicago, IL 60606
Responsible for support of trading operations as part of a team of 4.
Responsible for nightly software builds and distribution. Designed scalable
software distribution scripts for pushing the nightly release to 600+ servers
worldwide within a 90 minute downtime window. Wrote an interface to
Bloomberg for easy data access within Perl scripts. Wrote several maintenance
scripts for handling database update requests from traders. Wrote two one-shot
C++ apps for custom data collection for FE team.
Developer, 11/2006 - 2/2007
1 Ferry Building, Suite 255
San Francisco, CA
Designed and implemented a FIX interface to Convexus' prime
brokerage, with an internal order book for managing the orders and
positions generated by the in-house Convexus trading model. Wrote tools
for easy, automated data extraction from Bloomberg data feeds.
Developer, 6/2006 - 8/2006
Knight Equity Markets
4699 Old Ironsides Drive, Suite 300
Santa Clara, CA
Performed support and debugging for KEM's trading system. Wrote a
FIX interface to DirectEdge ECN for TOM, the group's next-generation
Sabbatical, 8/2005 - 6/2006
Chief Systems Architect, 10/2004 - 8/2005
141 W. Jackson, 21st floor
Designed and built a complete foreign currency trading system. The
traders wrote their own trading applications using a Perl module I
- Assembled an 8-machine cluster of production Linux servers.
- Did system administration for the cluster, including supporting 8 regular system users.
- Wrote feed connections to HotSpot, Currenex, Deutsche Bank, Dresdner, RBS, eSpeed, TT XTAPI, and EBS.
- Wrote "PTS" (Price/Trade Server), which had the following features:
- Forwarded market data from feeds to all subscribed clients
- Archived all tick data to a Mysql database
- Forwarded client orders to the appropriate feeds
- Recorded all order state changes and fills to the database,
including millisecond time resolution for system performance analysis
- Provided client-to-client message passing functionality, allowing clients to inform other clients of state changes
- Provided clients with live-updating database table
subscriptions, where updates to watched Mysql tables would result in
all subscribed clients being informed of the updates.
- Provided detailed logging of all order traffic, for debugging and auditing purposes
Systems Analyst, 10/2002 - 9/2004
Error Free Software, LLC
200 S. Wacker, 24th floor
Worked very closely with traders to develop tools and system
improvements for them, as well as assist the traders with their own
- Implemented high-performance data feeds for OPRA and Nasdaq
multicast feeds (processing approximately 80,000 price updates a
- Wrote "TLib", a perl module which allowed traders to write Perl
scripts which could access Archelon's custom database to receive price
and record updates, as well as use Archelon's theoretical valuation
libraries to generate live theoretical data for options. The module was
also capable of updating price and record updates, which allowed it to
be used for a wide variety of administrative tasks.
- Extended the functionality of Archelon's ISE interface for combo options.
- Tracked down and fixed very subtle data corruption bugs in Archelon's custom database.
Software Engineer, 5/2002 - 10/2002
311 S. Wacker, Suite 5440
Worked as a server-side Solaris developer on Bear Stearns's proprietary market making system.
- Developed a modular "glue application" which gathered instrument
and fill information from external sources and inserted this
information into the market making system's database.
- Reworked perl scripts for trading server startup/shutdown to improve clarity and portability.
- Performed maintenance, bug fixes, and wrote documentation for two legacy proprietary Windows applications.
Support/Development Engineer, 12/1999 - 11/2001
The Hull Group, LLC
311 S. Wacker, Suite 1400
Performed technical support and feature development for Hull's proprietary
market making system.
- Daily morning startup duties consisted of assisting the Operations team
in bringing the trading system up and troubleshooting problems before
- Trading hours support duties included diagnosing and correcting system
problems in real time. Extreme emphasis on solving problems quickly and correctly.
- Development duties included fixing code responsible for known system
problems, and developing new features.
- Developed a system to mine trade files and tick data to generate customer
reports for option order flow business.
- Developed an interface to allow sharing of stock positions between Hull and
SLK (a firm Hull merged with), to allow both firms to correctly mark short
sales of stock to comply with SEC short sales rules. Also developed auxiliary
verification tools for the compliance officers overseeing the project.
- Modified existing trading algorithms for option order flow business to
support integrating the option order flow system into the main option trading
- Performed a script and code audit to identify system redundancies for
the purpose of reducing load.
- Worked as part of a team assigned the task of splitting the main option
trading system into two separate networks in order to manage system load.
Software Engineer, 12/1997 - 12/1999
Secure Design Center
Participated in the development of the Universal Crypto Module, an ARM-based
encryption device for use in Motorola land-mobile radios.
Led technical development of the Auto Test Platform (ATP), a department-internal
project to perform automated regression testing for the UCM and standards-compliance
testing for the UCM. ATP allows the user to write high-level scripts in
Tcl on a PC to test hardware devices external to the PC. The project's
scope was later extended to provide automated testing for other modules
in the lab. By the end of the project, automated testing was being
done on three additional hardware modules; the RNC, the DIU, and the KVL.
Refined and debugged preliminary design of the UCM SCI and SPI subsystems.
Rewrote and updated the SCI and SPI protocol documentation.
Assisted in the coding and testing of the SCI and SPI subsystems.
Wrote embedded code to control an HC11-based Test Fixture, which translates
serial-line commands from the PC into SCI/SPI commands to target modules.
Test Fixture capabilities include timestamping of commands and responses,
accurately timed delivery of commands, monitoring of all the target module's
output lines, and individual control of all the target module's input lines.
Designed a distributed architecture using a client-server Tcl application
and DCOM to allow remote testing of equipent anywhere in the lab, and to
allow both NT and HPUX machines to use ATP.
Designed the main ATP GUI client, which provides a high-level user interface
allowing the test engineer to easily manage and organize large batches
of test scripts and their associated result data.
Designed a Programming Station GUI client, which provides a simpler interface
for the routine task of programming and testing new UCM modules after they
are built in the factory.
Assisted in the design and prototyping of a new version of Test Fixture,
adding several new features to the design while retaining reverse-compatibility
with the old Test Fixture.
Implemented a network-accessible encryption service, to provide convenient
in-lab access to hardware-only Motorola-proprietary encryption devices.
Supervised the work of two summer interns on the project, and two consultants
hired to replace the interns.
Wrote extensive user and developer documentation.
Co-op Engineer, 4/1996 - 1/1997
Siemens Medical Systems
Hoffman Estates, IL
Participated in the development of ACOM.PC, a Windows 95/NT medical
imaging display product.
Performed testing, debugging, and implementation of new features.
Wrote technical documentation and test plans for new features.
Extensive use of VC++ and MFC, including multithreading, DirectX, and graphics
Maintained batch scripts for night builds