Peter Danford

pdanford@pdanford.com

back

 

 

Summary

Senior Software Engineer with over 15 years diversified experience in highly technical and demanding projects. Wide range of experience from *nix device drivers to large distributed stock analysis systems as well as team management. Record of solving challenging problems requiring original and creative solutions. Extensive knowledge of mathematics and physics.

Skills

Languages:  C++, C, Python, JavaScript, Assembly, Bash

Related technologies: STL, Boost, CUDA, TCP/IP, UDP, MFC, OpenGL, Cloud Computing, Stock Brokerage APIs, HTTP, HTML, XML, OpenMP, Streaming SIMD Extensions

Servers and tools:  gcc, make, VMware, Cygwin, custom AMIs in Amazon’s Elastic Compute Cloud and S3, nginx, svn, git, Microsoft VS 2010

Operating systems: Linux (Debian based distributions), Windows

Development:

    System level programming

    Application level architecture/implementation

    Object oriented analysis, design, and implementation

    Socket/datagram network programming using TCP/UDP

    Translating domain requirements into technical requirements

    Distributed systems and cluster architecture/implementation

    Code architecture focusing on re-usability and maintainability

    Application Parallelization for multi-core architectures

    Algorithm Parallelization for GPUs (CUDA)

    Real-time simulation of complex systems

    Client-server application design

    3D graphics

Team Management:

    An aptitude for diplomatic problem resolution

    Proven ability to manage priorities on large projects

    Facilitating effective synchronization between various project groups

    Effective delegation of tasks to team members with sensitivity to
timelines, critical paths, and task prioritizations


Experience


                                                                              CA, USA
Contract Software Engineer, 05/2007 – Present

STI is essentially a think tank established in the 1950's to solve advanced engineering problems. They also foster their own products that evolved out of various research efforts over the years.

As a prime contractor to government and a consultant to industry, STI is presented with unusually difficult problems. They craft solutions as well as implementations using advanced engineering principles. Example projects worked on include:

   Real-time video stream modification using custom parallel gpu algorithms (implemented using CUDA) to present an operator wearing a HUD with various augmented reality views. Examples in this category include development for NASA to be used by pilots while in-flight.

    Real-time simulation of complex systems (e.g. gas turbine engines).

    Optical 6DoF tracking of pattern targets with a single camera.

Automated landing of multi-axis vehicles based on real-time control predictions and optimizations.

 

                         Champaign, IL
Private Investment Consortium (NDA)
Equity Trade Strategy Research Framework
Project Architect, 02/2005 – 06/2007

Architected a high performance configurable proprietary strategy research and back testing system to discover and investigate disparate equity selection strategies.

System implemented in C++ using Microsoft Visual Studio and Linux g++ to accomplish a cross platform computation pool. System developed utilizes parallel CPU computing techniques requiring multi-threading and custom TCP socket networking code (as well as UDP datagrams). Solution space is in part explored by Genetic Algorithms coupled with configurable strategy components ranging from machine learning strategies to standard technical analysis of stock trends.

The project was split between two main parts: an Agent that orchestrates and manages analyses and the analysis servers that run in parallel on many host machines. The servers typically ran on distributed Windows machines and/or Linux machine images running in Amazon’s Elastic Compute Cloud (EC2) and Simple Storage Service (S3).

 

                         Champaign, IL
Private Investment Consortium (NDA)
Automated Trading System
Project Architect, 11/2004 – 03/2005

Requirement was for a C++ equities algorithmic trading system providing management and trade execution on multiple open positions in real-time. Position exit decisions were governed according to specified algorithmic rules thus facilitating varied optimum exit strategies as well as dynamic position re-entry to maximize profits. Additionally, the project required real-time adaptation of strategies throughout the trading day as market dynamics evolved. Actual executions were accomplished via TCP network API to a global electronic market maker.

 

nCode - managing durability                       Southfield, MI
Contract Software Engineer, 04/2005 – 04/2006

Developed software (C++, C#, and Python) for nCode International's SoMat Products Division’s (Urbana) modular data acquisition systems.  Initially brought in to address an emergent need to implement an interface layer between their user interface software and the networked data acquisition units in the field. Later focus was on data acquisition unit’s calibration and validation software.


 

                                                                          Urbana, IL
Software Engineer,  Software Team Lead, 01/1999 – 11/2004

Managed project’s software production on large scale multi-million dollar flight simulator systems. Position required ability to produce software that meets customer’s unique requirements, manage resources to meet internal schedules, and manage those on projects' software team. This included all aspects of software development such as forecasting schedules and interviewing new team members for hire.

Object Oriented software design and implementation for high fidelity flight simulator systems using real-time software techniques and C++ for Linux and Windows based systems.

This position required strong C++ implementation and architecture skills, a through understanding of object-oriented design techniques including UML, the ability to take initiative in solving complex problems, an understanding of how to develop reusable software. In addition, responsibilities included systems modeling and hardware integration; extensive physics based mathematical models of aircraft flight dynamics, systems, and subsystems. Rotary wing simulators were main focus. Operating systems targeted: Windows XP, ETS 10.1 (Phar Lap Software Inc), and Linux.

TCP/UDP Network programming also required as simulator systems were comprised of several computers linked via custom socket protocols.

 

                                                                  Chicago, IL
Software Engineer, 02/1998 – 01/1999

Worked as independent contractor on a suite of web-based tools that allows colleges and universities to develop, manage, and assess program and student achievements. Primary focus was Java application development to support online scholastic software such as writing custom HTTP server and systems programming.

 

                                                              Champaign, IL
National Center for Supercomputing Applications
Technology Management - System Operations, 10/1994 – 02/1998

Performed large variety of tasks relating to daily super computer operations on an independent basis as well as working with others. Duties included monitoring systems, crash recovery, backups, mass storage operations, managing users’ jobs, programming and script writing as needed, monitoring Help Desk requests, network monitoring, etc. Systems included Cray 2, Cray Y-MP, Cray Origin, Thinking Machines CM-5, Convex 3880, Convex C-220, Convex Exemplar, SGI Power Challenge Array, and Sun/SGI workstations. Attended school while employed.

 

                                                               Columbia, MD
W.R. Grace & Co, Washington Research Center
Technician/Test Facility Operator, 09/1991 - 12/1992

Independently operated a pilot scale selective catalytic reduction reactor located at Tennessee Valley Authority's Shawnee Steam Plant in Paducah, KY. Responsibilities included data acquisition, periodic maintenance of analyzers, electrical systems (including three phase), and reactor. Demonstrated ability to work with minimal supervision and gained exposure to other engineering disciplines. Attended school while employed.

 

                                        Paducah, KY
Programmer, 08/1988 – 12/1991

Designed and developed a multi-user Enhanced 911 Computer Assisted Dispatch System used to manage emergency calls for police, ambulance, and fire in real-time. This included tracking units in the field and recommending the unit(s) closest to the caller's traced phone company address. Also managed unit status and dispositions.

The main system was in C and Assembly Language (19,500 lines in x86 Assembly) which also included low-level custom device drivers for Xenix. The report generators and data management subsystems were written in an xBase language.

Education

Bachelor of Science in Computer Science (2007)
University of Illinois at Urbana - Champaign, IL
College of Engineering

The Academic Ranking of World Universities (ARWU) places UIUC as 4th in world rank in Engineering/Technology and Computer Sciences (2010). U.S. News & World Report consistently ranks UIUC in the top 5 for CS. Also, Engineering at Illinois is #1 on world's "Most-Cited" list (2010).

Major in Computer Science with core Electrical and Mechanical Engineering courses as cross disciplines.

_________________________________________________________

Associate in Science in Electronics Engineering Technology (1993)
Grantham University at Kansas City, MO
College of Engineering

DC/AC circuit design, microprocessor design and applications, and electronic systems theory.

_________________________________________________________

Coursera Professional Development:

    Probabilistic Graphical Models - Daphne Koller, Stanford University (2012)

    Machine Learning - Andrew Ng, Stanford University (2012)

_________________________________________________________

Associations:

    Eta Kappa Nu (HKN) Member/1996 Engineering Open House Committee
Chairman (Electrical and Computer Engineering honorary society)

    Mu Alpha Theta (MAΘ) Member (outstanding math honorary society)

    Alpha Omega (AΩ) Member (academic excellence honorary society)

    ACM Professional Member

Additional

Achievements and Personal Interests:

    Private Pilot License

    PADI Advanced Open Water Certification

    2nd Spoken Languages (not fluent, but improving):

o         Mandarin

o         Thai