Long Beach, CA *****
Ryan Allison Cell 805-***-****
E-mail: ********@*****.***
Website: http://www.ryankallison.com/
Objective
I am seeking employment in the field of software development starting immediately.
Work Experience
March 2007-December 2008 GoPets.net/Warm & Fuzzy Logic Long Beach, CA
Software Developer for an Online Game Company
Developed strong PHP and MySQL skills in adding to, cleaning up and correcting the
GoPets public API. This included protecting against SQL injection, fixing queries that did
not properly utilize defined indexes (in addition to adding indexes where necessary),
working with master/slave database setups and related replication delay issues and
consolidating reusable functionality into common classes. Additionally, I was responsible
for maintaining and modifying much of the existing GoPets website code; as the code
was a rather unfortunate example of spaghetti code, this was not always a trivial task.
Other tasks involved adding login IP tracking to identify and track alt accounts, creating
metrics reports to determine user drop-off points and creating scripts to fix the aftereffects
of preexisting bugs.
Enhanced my Java knowledge by building a multi-threaded test suite to test our API.
This suite would test response times, ensure that replication from master to slave
databases occurred at reasonable rates, ensure that code changes did not break
functionality and ensure that neither the Apache nor MySQL servers were down. In
addition, I also integrated iRoll, a standalone, Java-based game, into GoPets using our
API. This allowed us to charge for each level against a user's GoPets account and award
prizes for completing a level. Doing so involved adding HTTP functionality, signing
headers using MD5 encryption and adding appropriate screens to the iRoll GUI.
Enhanced my C++ knowledge by working on a new version of GoDance (a multiplayer
game where your virtual pet dances against other pets when you successfully enter a
sequence of characters to the beat of the music). This added experience in integrating a
MySQL library (mysql++) into the server component of the game as well as getting to
work on GUI components of the client. Additionally, I worked on the core GoPets client,
diving into the C++ code as well as modifying and adding to the LUA scripts that control
the GoPets client user interface.
Added C# development experience to my skill set in helping to create a distributed game
asset cooking platform (transforming raw asset files into files that could be natively used
by the target platform) as part of some contract work that our company completed.
Coming from a Java background, I found this to be a relatively easy language to pick up
and absorb.
In order to keep the GoPets services up and running, I was often responsible for server
side maintenance and debugging. This gave me experience in Linux, Apache, MySQL
and PHP administration.
Additionally, other assorted tasks built up some knowledge in Python, Javascript and
CSS.
Fall 2004-Spring 2006 University of California, Irvine Irvine, CA
On-Campus Shuttle Driver (Part Time, approximately 12-16 hours per week)
Responsible for driving the on-campus shuttles used to transport students around the
UCI campus during the school year.
Summer 2002 AstroPower Inc. Newark, DE
Summer Internship for IT department (Full Time)
Responsible for upgrading 100-200 computers to Windows 2000, providing technical
support to employees for assorted computer issues, rebuilding broken computers and
performing many other computer-related tasks for solar energy manufacturing company.
Education
September 2002-June 2006 University of California Irvine, CA
Graduated with a B.S. in Information & Computer Science with a specialization in
Implementation and Analysis of Algorithms
Specialization in the implementation and analysis of algorithms.
Graduated as a member of the Campuswide Honors Program.
UCI Research Projects
Fall 2005
Rover Path Finding Project for use with Partial Knowledge Terrain Maps
This research was completed along with two other students for an artificial intelligence
project class.
Abstract:
This project is based on a trivial path finding problem with an added constraint: the
algorithms have only partial knowledge of the map they will be traversing. Natural
visibility hindrances such as distance, fog and hills are integrated into the framework to
simulate real life route finding problems. The goal of the project is to find which path
finding algorithms perform most efficiently with these extra constraints placed on the
algorithm s knowledge of the map.
Mini walk through & full paper are viewable at http://www.ryankallison.com/wp/?p=20
Fall 2005-Spring 2006
Comparison of Similarity Searches using Molecular Fingerprints for Drug Discovery
This research was performed under the direction of Professor Pierre Baldi, director of the
Institute for Genomics and Bioinformatics at UCI.
Abstract:
Similarity searching is used in finding molecules that are chemically similar to a
preexisting set of active molecules. This research aimed to compare the efficiency of four
search types as run on both corrected and uncorrected fingerprints. In doing so, a
framework was built for batch processing of searches using either ten fold cross
validation or leave one out cross validation. Furthermore, a framework for later similarity
searching now exists.
Language Experience
5+ years of Java programming.
2 years of PHP programming.
2 years of REST and 1 year of SOAP experience.
2 years of XML experience for message passing in client-server setups and for persistent
data storage.
2 years of MySQL query work from within PHP and C++ in addition to table creation,
modification and optimization done directly on the server.
3 years of C++ programming.
2 years of Perforce and Subversion experience for version control.
1 year of C# programming.
1 year of Python scripting experience.
3 years of UNIX/Linux experience, including server side work on production servers.
Familiarity with HTML, Javascript, LUA, CSS and more.
References
References available on request.