Derek Anderson

XXXX Xxxxxxxxx St.
La Porte, TX 77571
334.669.XXXX
public@kered.org
http://kered.org
LinkedIn / Facebook

EDUCATION:  M.S. in Statistics (currently ongoing / part time - est. 2015)
Rice University, Houston, TX
Current Institutional GPA: 3.83
Program: Professional M.Stat
Courses taken: Applied Time Series Analysis, Advanced Statistical Methods

M.S. in Computer Science; PhD Candidate (ABD)
University of Texas at Dallas, Richardson, TX
Funded by the NSF's GK-12 Fellowship and the Jonsson Distinguished Scholars Fellowship.
Courses taken: Natural Language Processing (6320), Artificial Intelligence (6364), Machine Learning (6375), Information Retrieval (6322), Database Design (6360), Advanced Operating Systems (6378), Design & Analysis of Computer Algorithms (6363), Statistical Natural Language Processing (6V81), Introduction to Bioinformatics (6325), Theory of Computation (6382), Data/Text Mining in Computational Biology (6365), Intelligent Systems (6373)
Final Institutional GPA: 3.69

B.S. in Mathematics
Troy University, Montgomery, AL
Final Institutional GPA: 3.90

Computer Engineering Major
I spent 1.5 years at VT directly out of high school.   I left early because I was offered a full time development position after an internship (see Nortel below).
Virginia Polytechnic Institute & State University (Virginia Tech), Blacksburg, VA
 
EXPERIENCE:  Senior Software Engineer, Two Sigma Investments
Houston, TX, 6/2010 to current
Originally hired into the Backoffice / Corporate Tech team to write code to track / reconcile / report on trades, portfolios, P&L, etc at EOD (globally). Currently work for Execution Technology reporting on live trading and writing tools for Execution Research. Example achievements include parallelizing the EOD pipeline (reducing it from ~1h to ~15m) and writing GUI tools for non-programmers to track its progress. Also authoring an ORM replacement for Hibernate (open source - see DKOs below), and being somewhat of a rogue optimizer when I find gratuitous wastes of system resources. Experience gained revolves largely around the sheer volume of data we process. (2^XX bytes of data daily on server farms of XXXXX machines is common) Two Sigma has offered me some of the most interesting coding experiences I've had outside of academia.

Senior Software Engineer, Jericho Systems, Inc.
Dallas, TX, 7/2009 to 6/2010
Helped write Java-based security software for the Department of Defense (and other government organizations). Designed and implemented a NLP-based XACML policy generator. Beefed up internal development procedures with issue tracking, nightly automated builds, version control history visualization and statistical reporting. Optimized primary product to use 50% less memory and 90% less CPU.
Security Clearance: SECRET

Research Assistant, University of Texas at Dallas
Richardson, TX, 8/2006 to 7/2009
Funded by the NSF's GK-12 Fellowship and the Jonsson Distinguished Scholars Fellowship.
Researched:
  • Data mining algorithms for Collaborative Filtering (with some NNMF)
  • Distributed computing and storage (including map-reduce technology such as Hadoop)
  • Some minor work with CUDA early in it's history. However I now much prefer working directly with CUBLAS when I need large/dense matrix calculations. (So much so that I wrote my own Python/Numpy bindings for it.)
  • Many NLP-related machine learning techniques including but not limited to information retrieval, stochastic language modeling, text generation, word sense disambiguation, entity recognition, etc.
  • Some minor bioinformatics work.
Research related contracting work for Lymba Corporation:
  • Wrote an automated multi-language classifier for an Arabic search engine company.
  • Wrote a browser-based ontology editor (using Python/Django) which is now a top-level product for the company (Jager).

Taught two 8 week (3h/week) after-school Introduction to Computer Science classes to PISD students as part of the NSF's GK-12 program. Currently an ABD PhD candidate (having passed all my quals).

Senior Programmer / Project Manager, Computer Sciences Corporation / United States Air Force (contractor)
Montgomery, AL, 1/2002 to 7/2006
Performance Appraisals: 2003, 2004

Reorganized, finished, fielded and maintained a previously troubled J2EE-based web application.   System implemented all the necessary business functions for the USAF's university system, including student record management, degree granting, transcript generation, auditing and automated billeting of military personnel.

Process reorganization used open standards, pragmatic guidelines and community-driven tools. Wrote proposals for and implemented each of the following:
  • Automated build and deployment processes (Ant)
  • Version/source control management (CVS, GUI diff utils, etc.)
  • Requirement/enhancement/defect tracking system (Bugzilla)
  • Custom modifications to our tool-set provide automated code-to-requirement traceability (for example: CVS/Bugzilla Integration)
  • Implemented an iterative, incremental development process which minimized both customer and company risk by providing a constant, visible stream of working features
  • Implemented numerous automated development reports designed to provide complete USAF transparency into our development history, current progress and future goals
  • Moved (carefully, slowly) our customer's interest away from a waterfall development mentality to many of the "agile" development principles
Code reorganization featured:
  • Common, linked user interface used on all screens
  • Database abstraction away from JDBC code in servlets and JSPs (similar to JDO, before it existed)
  • Collection of reusable HTML generating software components, allowing rich GUIs to be developed quickly (many AJAX-like using hidden iframes and DOM manipulation, before AJAX was invented as an acronym and long before libraries of such tools existed)
  • Common screen and data level ACL security implementation, with associated management tools
  • Automatic database schema versioning, verification and upgrades
  • All code reorganizations were done live, meaning they coexist(ed) with existing, working designs, as to afford the design change without incurring substantial delays and loss of functionality
Promoted to Project Manager in 6/2004 when previous manager was promoted. (both he and I also developed alongside our management duties)

Project status (as of 6/2006): ~400,000 lines of code, >1000 documented requirements/enhancements
Personal contributions: ~6,200 CVS commits totaling ~250,000 lines of code
Security Clearance: Confidential

Technical Lead, Nortel Networks
Raleigh, NC, 1/2000 to 1/2002
Hired as a CO-OP, left as the lead developer for a project called CPAC. (7 member development team)

CPAC was an internal java-based provisioning and configuration application for Nortel's DMS-10 and DMS-100 carrier-grade telephone switching equipment.   Users were Nortel engineers.   Implemented several major components as a developer for the project, the largest of which was credited with saving the project during a round of budget cuts.   Promoted to Lead Developer in 11/2000.   Led development effort though project completion and deployment, delivering 3 project milestones on schedule.


Web Application Developer, CyberCity Communications
Springfield, IL, 10/1997 to 1/2000
Implemented a number of small to medium-sized web-based business store-fronts. Technologies used include ASP, VB, MSSQL, Perl, Java, ODBC.   Major projects included a multi-restaurant ordering/dispatching application, an eBay-style auction site, a hotel reservation site, a non-profit (United Way) help and information site and an ISP's on-line tech support site.
 
OPEN SOURCE CONTRIBUTIONS: 

Data Knowledge Objects (DKOs) - An ORM Done Right
DKOs are a loose Java port of the Django Query API. I originally pitched this as an internal project at work (to replace our POS Hibernate setup - are there any non-POS Hibernate setups?), but was turned down (not unreasonably: a large project + outside the scope of the department I was in). So (with permission) I implemented it as open source outside work, and once it proved itself brought it back in as an external library. Currently in widespread internal use and the default for new code accessing the database.
http://code.google.com/p/nosco/

DelugeFS - A Small-Scale Shared-Nothing Distributed File System
DelugeFS is a distributed filesystem I implemented as a proof of concept to show that many of the elements of a shared-nothing large-block distributed filesystem are already well established (and would be easy to tie together). Built on Python, FUSE, Bittorrent, ZeroConf and Mercurial.
http://code.google.com/p/delugefs/

DeSQL - A Log-based SQL Tool
For work I needed a Linux-based SQL util that kept searchable logs of all commands run (and optionally results given) and would let me quickly post-filter results. This was the result.
http://code.google.com/p/desql/

Deseb - Django External Schema Evolution Branch
This is an implementation of schema evolution for Django. It is a stand-alone derivative of the original 2006 SoC implementation of schema evolution. Funded by the Google Summer of Code project. (currently unmaintained)
http://code.google.com/p/deseb/

gPapers
An open-sourced, Gnome based digital library manager (for managing research papers).   Briefly mentioned in Nature.   Currently unmaintained.
http://gpapers.org/

PyStatCVS
A Python reimplementation of the semi-abandoned StatCVS utility. (My major motivation for this was StatCVS's lack of branch analysis and extremely long run times.)
http://code.google.com/p/pystatcvs/

NOTICE: These are all in varying states of maintenance and completion at any given time.

 
SKILL SET:  Languages | Architectures | APIs
Java, J2SE/JDK, J2EE, JSP, Servlets, Struts, JDBC, dom4j, Log4J, SWT, POI (HSSF), iText, HTML/DOM, CSS, Javascript, AJAX, XML, ECS, SQL, Python, GTK, C, CUDA, Hibernate, Torque, Spring, Hadoop, Django, Numpy

Platforms | Operating Systems | Databases
JBoss, Apache, Tomcat, OC4J, Unix, Linux, Windows, Mac OS X, Oracle, MySQL, PostgreSQL

Development/Process Tools
Ant, Bugzilla, CVS, SVN, git, Mercurial, GNU, JUnit, Forte/Netbeans, Eclipse

 
CERTIFICATION:  Teaching Academy Certification, University of Texas at Dallas
Covers: Course Assessment, Designing a Course, Diverse Populations, Enhancing Students' Writing, Exam Development, Grading, Managing a Class, Meeting with Students, Plagiarism and Copyright, Preparing for 1st Day of Class, Presenting a Lesson, Technology
Estimated Completion: 8/2009

Sun Certified Programmer, Sun Microsystems
April 17th, 2003
This certification is for programmers demonstrating proficiency in the fundamentals of the Java programming language using the Java 2 Platform, Standard Edition (J2SE technology).
 
ACTIVITIES:  Professional Programmers 2003 - 2004 (founder)
Club for programmers to share ideas, technologies and languages.   Presentations targeted evaluating the cutting-edge. (the first was on Ruby, a virtually unknown language in January of 2003)

Montgomery Area Linux Users 2002 - 2006 (vice-president)
A Linux User's Group, MALU is designed to promote Free and Open Source Software (FOSS) both in the personal and professional arena.

National Society of Professional Engineers 1998 - 2000
 
AWARDS & HONORS:  Nortel Team Pride Award - July 2000
Illinois State Scholar - June 1998
Worldwide Youth in Science and Engineering (WYSE) - May 1998
   Mathematics - 1st place Regional
   Computer Science - 5th place Division 1A State
National Merit Commended Student - Spring 1996
 
[this document available online at http://kered.org/resume.html]
 

<Kered.org>   © Copyright 2000-2005 by Derek Anderson
Get Firefox