John Murphy
Software Engineering Manager
Minneapolis, MN · 515-708-6062 · murphybytes@gmail.com · Github Account
Skills
Languages
C++
10+ Years
Ruby
8 Years
Java
5 Years
C# .Net
5 Years
JavaScript
5 Years
Basic
5 Years
Python
1 Year
Technologies
Agile Development
COM/DCOM
Distributed Computing
Git
High Availability Programming
High Performance Programming
Mobile Development
Open Source Software
RDBMS / SQL
RPC
Sockets
Shell Scripting
Software Architecture
Software Optimization
Test First Development/Unit Testing
Threading
UML
Web Design/Development
Web Services SOAP/REST
Tools
Ajax
Android
Ant
Automake, Autoconf
Boost
Continuous Integration
Cross Platform Development
Gigaspaces
Google App Engine
JQuery
JQuery Mobile
JRuby
MS SQL Server
MySQL
OpenAMQ
Ruby on Rails
STL
Subversion
Visual Studio
Wombat
ZeroC Ice
ZeroMQ
Other
Linux
10+ Years
Windows
10+ Years
OS X
5 Years
AIX
3 Years
Solaris
3 Years
    Market Data
  • Bonds
  • Commodities
  • Currencies
  • Options
  • Stocks
Exchange Compliance / Entitlements
Education
Briar Cliff College
Sioux City, IA
1993 - 1996
Mathematics
Iowa State Univ.
Ames, IA
1981 - 1983
Earth Science
Iowa Lakes C.C.
Estherville, IA
1978 - 1980
Studio Art
Objective
I want to be a part of an organization where technology matters, and the people in the organization know that it does. I want to be part of an organization comprised of smart collaborative people where my individual efforts can make a difference.
Experience
Seamróg LLC (Consulting)
June 2012 - Current
Worked for a variety of clients including Samsung, Zencoder, Best Buy and others. Specialized in high throughput high availability distributed architectures. Also implmented AWS/VPC cloud based distributed systems. Technologies include ZeroMQ, RabbitMQ, MongoDB, AWS, Chef, REST, Android, Java, C++, and Ruby.
Eris Exchange
June 2011 - June 2012
Developed or enhanced systems used to facilitate trading interest rate swap futures. Developed or enhanced pricing engine, margining system, trade capture reports and a Rails app for block trade processing. Hiring and supervision of software engineers. Managed relationship between consultants and Eris technology team. Technologies used are Ruby, Ruby on Rails, C++, JRuby, Java, QuantLib, QuickFIX and MongoDB.
Dow Jones
May 2000 - May 2011
Developed market data system for Dow Jones. Was principle involved in designing the system. This system is primarily built on Linux using C++, Java and Ruby languages. The system spans multiple data centers, is designed to be available 100% of the time and provides low latency streaming pricing data and snapshots such as quotes and time series data. The system is built using the Gigaspaces distributed computing environment to achieve horizontal scalability and availability. The system also makes extensive use of open source code such as Apache APR, Apache Logging Framework, Google Performance Tools, GSOAP, Ruby on Rails and OpenAMQ. The system is designed to receive store, and redistribute all data from SIAC, NASDAQ, as well as aggregators such as Reuters and Telekurs. In short, this system enables the retention of all the data received from these sources, never throwing anything away. The system uses the Wombat feed handler to bring in these disparate feeds. The system exposes snap data via a Web Service API and provides low latency streaming publications via a cross platform C API. All data exposed by the system is subject to entitlements and auditing allowing fine grained control of who gets data. This system currently is processing an average of 750,000,000 updates every trading day and can handle upwards of 100,000 messages / second. The system exposes an entitlement management interface that was built using Ruby on Rails running on JRuby/Tomcat. Technologies used were ZeroC Ice, OpenAMQ, Wombat, MySQL, Gigaspaces, LBM, GSoap, QuickFIX, C++, Java, and Ruby.
Thrivent Financial (Consultant)
November 1999 - May 2000
Developed user interface and middle tier components for an application that allowed employees to generate standard correspondence for the organization. The system also accessed data and business logic on an IBM mainframe system using RPC and DCE/Encina. The correspondence was generated and mailed via a Pitney Bowes mailing system. The application also archived correspondence that it generated. Technologies used were C++, Visual Basic, Rational Rose, COM, DCOM, and XML
Educational Credit Management Corporation (Consultant)
December 1998 - November 1999
Developed various client server applications running against an Informix database. Assisted the client in developing and implementing object oriented development standards and GUI look and feel guidelines. Developed COM components that wrapped various C API's so that the API's could be used by in house Powerbuilder developers. I evaluated various distributed computing scenarios for the client including DCOM, CORBA, and Java Beans. Technologies used were C++, SQL, OLE DB, Powerbuilder, Java, COM, DCOM, CORBA, and Informix.
Federal Reserve Bank of Minneapolis (Consultant)
August 1998 - December 1998
Developed the Fixed Asset Management System for the Federal Reserve Banking System. This was a client server application written in Powerbuilder running against an Oracle database. Much of the business logic for this application was implemented in stored procedures and triggers. Technologies used were Powerbuilder, SQL, and Oracle.
MidAmerican Energy (Consultant)
December 1996 - August 1998
Developed a service that was used as part of an energy trading system and processed transmission service requests from other power producers. This application maintained state information on the utilities transmission grid and also included a user interface that allowed engineers to view statistics on service requests and transmission grid state. The application was also required to transmit service request and state information via to a remote server maintained by FERC. All network communications performed by this application were secured using an asymmetric encryption scheme. Developed an inventory management application that used wireless bar code readers. Technologies used were C++, Sockets, TCP/IP, Oracle, Powerbuilder, multithreaded programming and Visual Basic.
Technology Exchange (Software Engineer)
April 1996 - December 1996
Worked on the Pigchamp project for the University of Minnesota. I also developed an inventory management client server software package that received user input via a bar code reader. Technologies used were Powerbuilder, C++, Sybase, and Pascal.
Mercy Medical Center (System Analyst)
January 1991 - April 1996
Designed and developed software used to track and analyze outcomes of a managed health care delivery system. This software received survey data via an optical mark reader and performed a variety of hypothesis tests based on the collected data. The application also generated reports. Designed and developed software that would predict levels of utilization review staff needed to manage phones based on Poisson distributions of call volumes over time. Technologies used were Visual Basic, Delphi, COM, and Paradox.