My Resume (Grab a pdf copy here!)
- Programming and Scripting Languages:
- PostgreSQL, MySQL/MariaDB, MS SQL Server, Oracle DB
- Ruby on Rails (Ruby), Silex (PHP), Symphony (PHP), Flask (Python), Django (Python), MVC4 (.NET), ASP.NET, Spring Framework (Java), CodeIgnitor (PHP), jQuery (JS), jQueryUI (JS), AngularJS, Bootstrap (UI), Zurb Foundation (UI)
- Design Skills:
- OOA, OOD, UML
- Operating Systems:
- Linux (Debian and Red Hat based), OSX, Windows, Windows Server 2008+, FreeBSD>
- Tools and Technologies:
- Git, SVN, Apache, nginx, Tomcat, Jetty, WSUS, pfSense, Unicorn, MS System Center VMM, MS Team foundation Server 2012, Amazon AWS, Chef (Configuration Management), Digital Ocean, Vagrant, HyperV, MS Active Directory and Group Policy, LDAP, SOAP, REST
Shore Consulting Group, Toronto ON (April 2012 to Current)
Lead Software Developer and Systems Programmer
- Lead a team through the full software development lifecycle on various large-scale, complex and innovative projects for various public sector clients ranging from small not for profit organizations to large Ministry departments.
- Analyzed requirements, scope and complexity of projects and developed timelines and delegation strategies to ensure delivery within critical timelines.
- Efficiently managed and time, task switching and task delegation on multiple simultaneous projects with different clients.
- Ensured clear and concise communication about technical challenges and issues to the client and ensure project requirements stayed within the allocated time and budget.
- Handled technical interviews and on-boarding for co-op students and interns.
Role: Lead Systems Administrator
Technical Environment: HyperV, TFS, Chef, Microsoft Active Directory, Windows Server 2008|2012, Linux (Ubuntu, CentOS), Git, pfSense, Microsoft SQL server 2008|2012, PostgreSQL 9, Asterisk
- Planned and set up a private HyperV Cloud to be used for internal services and development.
- Set up Active Directory and migrated all existing end users and servers to it.
- Set up and managed deployment of servers and applications using Chef 12.
- Set up TFS2012 and GitLab for repository management along with TFS build services and GitLab CI for CI/CD pipeline.
- Set up and migrated to pfSense as the edge firewall and router with multi WAN, multi LAN setup. Also set up openVPN for road warriors.
- Ensured infrastructure stability and recoverability through regular monitoring using ELK stack and backup/restore tests.
- Managed production environments deployed on AWS.
Technical Environment: Ruby on Rails, PostgreSQL, HTML5, SASS, CoffeeScript, Bootstrap, Flask (Python), Java, .NET, Git
- Designed and developed the application from the PoC prototype to final application.
- Architected a micro-services based design and API to allow simultaneous development across different platforms and programming languages.
- Set up and deployed infrastructure using Chef and GitLab CI for continuous integration and delivery.
- Worked with front-end designers to develop and implement a clean and intuitive responsive layout that adheres to AODA (accessibility) standards.
- Ensured code quality with a rapid development cycle through best practices such as using git merge requests, thorough code reviews and sign off and continuous integration and testing.
- Designed, developed and managed deployment of various micro-services such as Active Directory and SharePoint integration, image previews and thumbnail generation etc.
Project: Maple (Manitoba Professional Learning Environment)
- Handled implantation of new functionality to the web application mostly through custom plugin development for the Elgg framework.
- Managed triaging, delegation and resolution of bugs and issues of the production application.
- Created standalone micro-extensions to the application such as remote bookmarking, background resource analysis etc. These extensions improved the functionality of the application without affecting the main code base.
- Deployed and managed the everyday operations for the production and staging environments through Jenkins.
Project: Ministry of Training, Colleges and Universities (EOSS, APPR)
- Designed, wireframed and implemented responsive front end for two different public facing applications.
- Ensured adherence to AODA accessibility standards (WCAG Level AA) and the ministry design guidelines.
- Developed a custom framework on top of Bootstrap to be used for future application development.
Project: Aphasia Institute (Participics, Aphasia.ca, CAMS)
- Ported an image management .NET application to PHP in order to consolidate the code across cloud providers and reduce operating costs.
- Handled moving multiple applications across cloud providers to upgraded servers and switched from manual management to Chef (Configuration management tool).
- Set up CI/CD pipeline using GitLab CI.
- Ported version control from SVN to Git.
- Provided maintenance and support to multiple applications.
- Participics: Analyzed existing codebase, cleared bottlenecks and performed database optimizations to increase application performance.
- Aphasia.ca: Upgraded custom built theme to ensure compatibility with latest WordPress site.
- Aphasia.ca: Performed server hardening and WordPress hardening by locking down admin area, implanting strong password requirements, culling old accounts, trimming down on plugins, etc.
- CAMS: Performed code and database optimizations to support business case for real-time reporting.
Project: Alternative Education Resources for Ontario
Technical Environment: Alfresco (Java), .NET, Windows Server 2008, SVN, Linux, Oracle 11g
- Installed and set up a staging and production Alfresco instance that connected to an existing .NET application and performed the role of the document store.
- Worked with client and stakeholders to test out different plugins to solve their use case.
- Implemented a feature to detect possible resource duplication and provided the client with a UI to compare and resolve them.
- Set up multiple FTP environments as part of the application dependency that corresponded to the existing environments (production/staging/development).
- Created detailed documentation of the infrastructure setup as part of knowledge transfer to the client’s operations team.
Project: Wellignton-Dufferin-Guelph Public Health (Drupal Site)
Technical Environment: Drupal 7 (PHP5), Microsoft SQL Server, IIS
- Recovered a hacked install of Drupal instance hosted by the client.
- Handled setup of a new Drupal install with plugins to mimic the old instance and imported the recovered data.
- Worked with the client to ensure proper transfer to content and data and handled hardening of the install to prevent future compromises.
Healthy Lunchbox (2013)
Video game designer and developer
- Lead a team of developers and designers to develop three cross-platform video games aimed at elementary, middle and high school students.
- Analyzed and selected the appropriate tech stack to develop the games.
- HTML5/CSS3/JS stack using the LimeJs framework was chosen as the development tool chain to allow for rapid prototyping and resource reuse through the three games.
- Worked with the client to deploy the games to iPads through their enterprise MDM system.