I’m a programmer with more than 12 years of programming experience. I have 5 years of professional programming experience. The most important thing to know about me is that I will get the job done. I’m a hard worker and an excellent problem solver. I can take business requirements, functional requirements, or just an informal business need and write a program to implement a solution. I’ve done that in every job I’ve had.
I know Java, Ruby, Clojure, PHP, JavaScript, and SQL very well. I can quickly get up to speed with any framework built upon those languages. I’m also proficient in C# and C/C++.

Summary

Master of Science in Computer Science
Texas Tech University, August 2010
  • I wrote a stock trading strategy backtesting tool in Clojure, Ruby, and C++ (there are 3 different implementations; one per language). I used it to backtest four stock trading strategies. My objective was to identify optimal (or at least relatively good) strategy parameters using a genetic algorithm to search for the best parameter-sets. View the code at http://github.com/davidkellis/stocktrader_clojure.
Bachelor of Science in Computer Science, Minor in Mathematics
West Texas A&M University, 2006
Summa Cum Laude; Honors Program Graduate; 3.952 GPA

Education

Open Source Developer
You can look at the quality of my code and proven problem solving ability by looking through the source code that I’ve released as open source at GitHub.
Jan. 2009-Present
  • Stock trading strategy backtesting framework and several technical trading strategies.
  • XBRL parser that allows one to extract financial facts from XBRL filings (work in progress).
  • Legacy Extended IRI parser that extracts the components of an IRI.
  • A small genetic algorithms library in Clojure.
  • An MVC JavaScript framework for building the client side of web-applications entirely in JavaScript (work in progress).
Research Assistant for Dr. J. Nelson Rushton
Texas Tech Computer Science Department
Jan. 2010-Present
  • Compared C++, SequenceL, Ruby, and Clojure implementations of the stock trading strategy backtesting program I wrote for my thesis, in terms of run time performance and ease of implementation.
  • Ported MATLAB programs into SequenceL.
Teaching Assistant
Texas Tech Computer Science Department
Jan. 2009-Dec. 2009
  • Conducted computer labs and created lab assignments for CS 1411 (Intro. to Programming with Python) and CS 2413 (Data Structures), as well as graded student assignments, allowing professors to focus on teaching and course preparation.
  • Helped students with questions they had about C++ and Python projects, lecture material, and labs.
Graduate Assistant
Texas Tech Office of Institutional Advancement
Aug. 2008-Jan. 2009
  • Prepared reports of financial giving to Texas Tech for various departments, using PL/SQL.
Java Programmer, Distribution Center Team
Anderson Merchandisers, Amarillo, TX
May 2006-Aug. 2008
  • Sole Java programmer on Distribution Center (DC) team for year and a half; Maintained Anderson’s Walmart.com and Samsclub.com order processing systems and shipping software; Supported Anderson’s Amarillo based Internet Operations DC (INOP) and Custom CD processing facilities.
  • Added a new shipping mode to the Java shipping client, allowing Anderson’s three largest DCs to ship Walmart.com orders for the 7th Harry Potter book instead of shipping exclusively from INOP.
  • Added support for routing incoming orders to third-party vendors into the Walmart.com order processing system, enabling Anderson to re-route manufacture-on-demand DVD orders to Hewlett Packard.
Part Time Student Programmer
WTAMU Hastings Electronic Learning Center Open Access Lab (OAL)
Sept. 2005-May 2006
  • Developed a system that enabled OAL shift supervisors to log activities of lab assistants, replacing the paper-based system previously in use.
  • Improved existing card-swipe computer assignment system, enabling the OAL to automatically assign students to classroom computers.
Self Employed VB .NET/ASP .NET Programmer
Summer 2003
  • Developed a system for tracking work orders and travel requests through the stages of submission, approval, completion, and archival.
  • First used at Tulia I.S.D. for managing maintenance and technology work orders; subsequently licensed to Post I.S.D. for managing maintenance and technology work orders, travel requests, and purchase orders.

Experience

  • Proficient in Ruby, Clojure, Java, C#, C/C++, PHP, JavaScript, SQL.
  • Familiar with Python, ANTLR, VB, VB .NET, and some MATLAB.
  • Have experience with Ruby on Rails, Sinatra, CodeIgniter, CakePHP, Java Servlets/JSPs, ASP, and ASP .NET web-frameworks.
  • Familiar with web-standards (e.g. XHTML, CSS, DOM, etc.).
  • Experienced in using Mac OS X, Windows, and Linux.

Skills

  • Compilers/Interpreters/Language Translators
  • Parallel/Distributed Computing
  • Machine Learning
  • Stock Trading Strategies; Technical and Fundamental Analysis

Interests