Software Developer
Experienced working in fast-paced, multidisciplinary environments. Passionate about software design, code construction, testing, automation, visualization, and configuring services.
| Languages | Ruby, Python, C, Objective-C, C++, Java, JavaScript, HTML, CSS, XML, UNIX Shell, SQL, PHP, Perl |
|---|---|
| Frameworks/APIs | Django, Rails, Cocoa, jQuery, RSpec, Drupal, OpenGL |
| Systems | Linux (admin experience), Mac OS X Server (admin experience), Solaris 10, UNIX, Windows |
| Software | Puppet (code contributor), Apache, MySQL, Trac, Xcode, Git, Subversion, Emacs, IntelliJ, Visual Studio |
Experience
Software Development:
- Assisted team members in completing projects for rapidly approaching deadlines, handling client data to database conversions.
- Gained experience in automation and reusability at Reductive Labs for use in real environments under practical circumstances.
- Recommended processes and reusable code practices, which led to developer tool creation and increased project maintainability.
- Decreased the startup time of new client projects for programmers from 45 minutes to 1 minute, utilizing automation.
- Fixed bugs and wrote new code using Test-Driven Development (TDD) and Behavior-Driven Development (BDD).
Web Application Development:
- Assisted a client with a website addition using PHP when the client's development team could no longer make progress.
- Recovered, updated, and redeployed a client's website after the website went down.
- Developed a collaborative website using Drupal and PHP for the Vanderbilt Integrative Cancer Biology Center (VICBC).
- Supervised a summer intern who worked on the VICBC collaborative website.
- Contributed to many sites that utilized Django, Python, jQuery, and JavaScript, including mycacties.com, theirongateonline.net, fostermobley.com, and nextgreatamericanartist.com.
Desktop Development:
- Wrote a packet visualizer application for Mac OS X using C, Objective-C, and Cocoa.
- Wrote a program using RubyCocoa that assisted project managers in setting up new client projects.
- Developed Dr. Peter T. Cummings' Cancer Biology algorithms as visually interactive programs using OpenGL and wxWidgets.
- Processed client transactions using Java, XML, and a 3rd party web API.
Server Configuration Management:
- Worked directly with Luke Kanies on his server configuration management software, Puppet, which is written in Ruby.
- Deployed a Puppet system to automate server configurations of development, staging, and production servers.
- Assembled, configured, and deployed a Mac OS X Server computational cluster with over 40 nodes.
- Wrote scripts using Perl and Python to update and deploy changes to the cluster.
- Wrote a backup script using Python that was used to successfully restore the database and files of a website that went down.
- Developed a method for deploying LDAP (user/host authentication) across the local area network for developer accounts.
Other Experience:
- Represented Reductive Labs at conferences.
- Wrote functional specifications and documentation.
- Experienced traveling throughout U.S. and Europe.
Companies:
- Consulting, Sole Proprietor, Nashville, TN, April 2008 - Present
- Cabedge.com, Franklin (Nashville Area), TN, January 2008 - April 2008
- Reductive Labs, Nashville, TN, July 2007 - October 2007
- BoxLogic, Murfreesboro (Nashville Area), TN, January 2007 - July 2007
- Department of Chemical Engineering, Vanderbilt University, Nashville, TN, May 2005 December 2006
- Department of Mathematical Sciences, Middle Tennessee State University, Murfreesboro, TN, August 2003 - December 2006
Volunteer:
- Elders First Adult Day Services Association, Murfreesboro (Nashville Area), TN, October 2005 - Present
Education
Bachelor of Science in Computer Science, minor in Mathematical Sciences, 2006Middle Tennessee State University, Murfreesboro, TN
- Summa Cum Laude (Highest Honors)
- Computer Science Alumni Award
- Member, Vice President: Association for Computing Machinery (ACM)
- Member: The Honor Society of Phi Kappa Phi
Presentations
- "project. your. code." ACM Chapter of MTSU, September 24, 2008
- "Demo: VICBC Collaborative Website," Vanderbilt University, October 16, 2006
- "Beginning Linux," ACM Chapter of MTSU, April 17, 2006
- "Cancer Biology Simulation and OpenGL," Siggraph Chapter of MTSU, November 21, 2005
- "Cancer Biology Simulation and Computational Clusters," Vanderbilt University, August 5, 2005
Conferences
- PuppetCamp, 2009
- PyCon, 2008
- RubyConf, 2007
- Ruby Hoedown, 2007
- Ohio LinuxFest, 2007
- BarCamp Nashville, 2007