I am an experienced full stack software developer with a focus on web-based applications. Some of the
primary programming languages and technologies that I currently work with include Ruby (and web
While it is not my focus I am also proficient in aspects of front-end development including HTML,
CSS and the complexities around deploying front-end applications.
I am a continual learner, always seeking to improve myself and my craft. I’m not afraid of finding out that I’m wrong and learning a better way to do things. I honestly enjoy programming and the process of bringing ideas and specifications to life. Writing clean code is a passion of mine and so a primary goal is to always write well designed code that is easy to change and also easy to test. I’m an avid user of automated testing tools and generally practice a test-first approach to development.
Technical Skills and Software
OS X or Linux, Vim, Tmux, Git
Programming and Related Technologies
The following is a general list of some of the primary programming languages and other related technologies that I work with regularly. I am by no means limited to this list but it should give a good idea of my current primary proficiencies.
- Secondary Languages: Elixir, Objective-C, Python, PHP
- Related Technologies: HTML, CSS, Sass, Haml, Responsive design
- Frameworks: Rails, Sinatra, React
- Testing: Rspec, Capybara
- Deployment: Capistrano, Webpack
- Continuous Delivery: Travis, CodeShip
PostgreSQL, MySQL, Redis, MongoDB
Cloud Computing Services
Amazon EC2, Amazon CloudFront, Amazon S3, Digital Ocean, Rackspace
Network and Server Management
I am an experienced Linux system administrator with a focus on building and setting up servers for the purpose of deploying web applications and databases. My preferred distribution is either Debian or Ubuntu and I have extensive experience with a variety of web and database servers.
Lead with Purpose, Software Developer
April 2015 - Present
Lead with Purpose is a both a strategic planning process and a software application that enables business and individuals to implement the process. I am one of the primary developers on the software platform which is primarily a Ruby on Rails application that also integrations an increasing number of React components for the front-end.
Provide Chat, Co-founder / Software Developer
January 2009 - Present
In addition to my duties as lead software developer, I help to manage the company operations and interact with our customers and partners.
iCan Systems Inc., Senior Software Engineer
January 2008 - Present
My primary work with iCan involves building their web technology platforms, specifically Smartsettle One, which is a web application designed for simple, single-issue, two-party negotiations. The application has many use-cases including areas of debt resolution and conflict resolution. I also built the International eNegotiation Exhibition which has seen the involvement of dozens of universities from over 30 different countries.
iCan Systems Inc. is a leader in developing software for the emerging e-Negotiation industry. During my time there I was privileged to work on technology that truly makes a difference in the world. iCan’s vision is “resolving conflict in a more peaceful, collaborative and intelligent way throughout the world”. Our software is based on Game Theory which involves mathematical models for resolving conflict and encouraging cooperation between decision makers.
Dutch eAuction Inc, Senior Software Developer
January 2015 - November 2015
Desiring God Ministries, Contractor
September 2013 - July 2014
I worked with a team of programmers and designers on two separate Ruby on Rails applications. I was responsible for implementing a variety of features in these applications. One of the applications was a very large custom CMS which we were re-building in Rails 4 based upon an older version of the application written in Rails 3.
Smartsettle Family Resolutions, Software Developer
September 2014 - December 2014
Designed and built a web application for filling out Form F8, which is a legal document required for child and spousal support court cases. The application was designed with a wizard interface that would make the process much easier to complete through step-by-step, intelligent web forms. At the end of the process a completed PDF could be downloaded and printed out.
Lusora Inc., Software Developer
2004 - 2007
Lusora was a leader in developing embedded health care and elder patient care technology. I was the primary developer of a server platform in Java which was a communications hub for Lusora’s embedded health care devices. The embedded devices would connect to the Java server platform and send status updates and alerts, and the server platform could also send down commands and updates to the embedded devices.
Additionally I also built a Java-based web application that would allow the monitoring and management of these embedded devices.
Calltrex, Software Developer
2002 - 2003
At Calltrex, I was the lead software developer on a team that developed custom web applications for call centres. I managed asterisk PBX servers and build custom web applications that would tie into the asterisk PBX and provide integrated functionality to call centre agents.
Shopping Sherlock, Software Developer
1998 - 2001
Was the lead software developer on a team responsible for developing e-commerce web-based applications. We built several custom online shopping applications initially using Perl and then migrated over to PHP3. One of our goals was to leverage open source technologies as much as possible and so we developed our applications on Linux, Apache, MySQL and other open source technologies.
Bachelor of Technology, Kwantlen Polytechnic University
Diploma in Computer Information Systems, Kwantlen Polytechnic University