- Extensive experience with Ruby/Ruby on Rails (5 years), .NET (3 years) and relational databases (9 years).
- Self-motivated: Independently learned multiple programming languages and APIs (Ruby, Java, Java 3D, Ruby on Rails) while living and travelling abroad.
- Actively involved in the Ruby and Rails communities, contributing to many open source projects as well as releasing my own.
- Disciplined practitioner of behavior driven development.
- Extensive experience writing robust, well-tested back-end code; limited front-end experience.
- Object oriented programming languages (.NET, Java and Ruby. Prefer Ruby.)
- Source control systems (Visual Source Safe, Subversion and Git. Prefer Git.)
- TDD and BDD. My ruby tools of choice include RSpec and Cucumber. Also have experience with NUnit, JUnit, Shoulda, Ruby’s Test::Unit and Mocha.
- Relational databases (MySQL, PostgreSQL and SQL Server. Prefer PostgreSQL.)
- Metaprogramming using Ruby.
- Open source and distributed development.
- Double Major: Bachelor of Science in Computer Science and Bachelor of Arts in Music.
- Cumulative GPA: 3.94; Major GPA: 3.99 (Computer Science) and 4.0 (Music)
- Graduated as a member of the University Scholars program.
Examples of My Work
I’ve written and maintain several ruby gems:
I’m an RSpec and Ripple committer.
I’ve also contributed to numerous projects, including:
See my github profile for a complete and current list.
Kashless | Seattle, WA | Jan 2009 - Jun 2010
Lead Software Engineer for Tippr.com (Mar 2010 — Jun 2010)
- Wrote most of the system’s back end processing, including the geocoding and credit card processing.
- Developed a REST-like HTTP API, for use by deal aggregators and for an iPhone app.
- Architected the site to be scalable, allowing large (680% increase) daily traffic spikes with no performance degradation.
- Took the code base from 0% test code coverage to > 75% code coverage using RSpec and Cucumber, allowing us to confidently deploy to production multiple times a day with no QA team.
- Setup a continuous integration server so that our dev team would be instantly notified of a broken build.
- Led a 3-member development team, making most of the architectural decisions.
Software Engineer for Kashless.org (Jan 2009 — Nov 2009)
- Developed most of the system’s back-end processing, including the conversation system, SMS and yahoo groups integration (via multiple rounds of asynchronous processing, screen scraping and email parsing).
- Also responsible for the Kashless API, Twitter integration and more.
- Maintained large (3000+) test suite that helped us regularly deploy with confidence.
Self-Employed Ruby on Rails Consultant (Dec 2009 – Feb 2010)
- Continued contracting with Kashless for kashless.org maintenance.
- Prototyped, built, tested and deployed a data-tracking web app for Level Field Property Management.
- Consulted with Desiring God ministries. Mentored their dev team, helping them learn and use BDD practices and tools. Implemented the search functionality of their new site using sphinx.
Consona (formerly Intuitive) | Kirkland, WA | Jul 2004 - Jan 2008
Software Developer, Customizations (Jul 2007 — Jan 2008)
- Trusted to work remotely from China without direct supervision.
- Built custom extensions to Consona’s .NET ERP platform based on customer requirements.
Software Application Developer (Jul 2004 — Aug 2006)
- Worked as part of a 17-developer team to create an ERP system using .NET and SQL Server.
Qinhuangdao Foreign Language Professional College
Hebei Province, China | Aug 2006 - Aug 2008
Oral English Teacher and Website Developer
- Taught Oral English lessons to more than 400 students, improving their English fluency.
- Studied basic Chinese and put it into practice while traveling extensively around China.
- Learned Ruby on Rails and used it to build a website for the department of foreign affairs.