Talented and highly productive Senior Developer, Analyst, and Mentor, specializing in the development of rich .NET web applications.
- Expert in highly interactive/single page web application development
- Strong understanding of both user experience and architectural challenges
- Experienced technical mentor with a focus on producing quality code and elevating team performance
CruiseControl.NET, MSBuild, NuGet, Team City
MySQL, Oracle, SQL Server, SQLite
ADO.NET, ASP.NET MVC, ASP.NET WebForms, WinForms
Agile (Scrum/XP), SEO, SOA
MSpec, MSTest, Moq, NUnit, qUnit, Rhino
Git, Mercurial, Subversion, TFS
Autofac, Bootstrap, HTML5BP, JSON.NET, jQuery, KnockoutJS, LessCSS, log4net, NHibernate, NLog, RequireJS, Sass+Compass, ZeroMQ
Projects & Work History
A market-leading software company specializing in back-office Oil & Gas products as well as custom enterprise applications.
- Technical Lead for the .NET/HTML5 rewrite of an acquired suite of Oil & Gas products.
- Developed fluid & responsive web applications, targeting multiple browsers on both tablets and desktops.
- Guided the company-wide adoption of NuGet for dependency management.
- Reviewed practicums, interviewed, and hired multiple developers of junior to senior skill levels.
- Provided and received technical guidance through GitHub-based code reviews.
The .NET & Mono binding layer for ZeroMQ — a high performance, cross-platform library for developing distributed systems with flexible topologies.
- Lead maintainer, responsible for reviewing and merging pull requests, investigating and resolving issues, and driving feature development.
- Greatly improved compliance with .NET library guidelines, making for a more idiomatic .NET programming experience.
- Added a broad integration test suite, increasing product reliability and confidence when reviewing contributions.
- Implemented support for the Any CPU target, allowing client applications to remain architecture agnostic in heterogeneous deployment environments.
IT Invoicing System
The billing and invoicing system for internal IT services at The City of Calgary.
- Lead developer, responsible for overall system design and integration with external systems & processes.
- Designed a flexible and efficient data import process, saving users several days of data entry per month.
- Improved validation and accuracy over existing system, leading to increased recoveries for IT.
- Mentored team members on web development techniques and object-oriented design practices.
A time entry and invoicing system used for Quadrus Development's consulting services.
- Automated several manual billing and reporting processes, greatly reducing the required effort for users and administrators.
- Delivered a cross-browser, standards based and mobile-optimized web interface with a focus on usability and portability.
A City of Calgary web application enabling businesses to apply for approvals, permits, and licenses via a progressively filtered, multi-step interface.
- Guided project-wide standards and architectural decisions, mentoring City developers on web development and object-oriented design.
- Responsible for significantly improving user experience, applying proven techniques for usability and accessibility.
- Collaborated with several City of Calgary departments to modernize web layout and usability standards for future City projects.
- Significantly increased page speed through site optimization techniques.
Member Information Database
A searchable repository for Quadrus HR information and member skills.
- Responsible for requirements analysis, screen mockups, and feature implementation.
- Mentored teammates on the best approaches to cross-browser web development.
The common platform for Acceleware's high performance computation libraries.
- Led the redesign of a C++ diagnostic support tool allowing end-customers to provide more in-depth diagnostic information to Acceleware's support team, resulting in faster problem resolution.
- Implemented a domain-specific language for excluding specific regression test suites based on a variety of test system criteria.
- Integrated the automated build, test and issue tracking systems, improving visibility of test coverage statistics for all product teams.
An online development centre for educational professionals, enabling the exchange of curricula, project ideas, and other learning resources.
- Responsible for front-end web development, translating designer mockups into cross-browser compatible HTML and CSS.
- Mentored less experienced developers on the best approaches to cross-browser web development.
B.Sc., Software Engineering, Internship Program, University of Calgary, 2009
Used openly available Canadian topographic data and satellite imagery to generate 3D maps based on a user-provided region and viewing angle.
- Technical Lead, responsible for architecting the Python-based distributed rendering system.
- Designed a Google Maps-powered frontend for region selection.
Java Web Server
A semester-long project to implement a web server in Java.
- Resulting server was HTTP/1.1 and CGI compliant.
- Used a thread-per-request model with a configurable thread pool size.
- State machine was object oriented and had a complete test suite.