Act as a senior resource to mentor peers; promote quality development practices; ensure a quality product and maintainable code-base; and to complete highly complex development work in a proficient manner, to the highest possible quality.
Overview
18
18
years of professional experience
Work History
Senior Technical Lead
Fujitsu Consulting Canada, Inc.
06.2018 - Current
In general, acted as the de facto Subject Matter Expert for anything related to Alberta Land Titles' software and infrastructure.
Delivered exceptional customer experiences by collaborating closely with the business during all stages of the software development lifecycle, from ideation to deployment.
Streamlined software development processes by helping to implement agile methodologies to a team who had never encountered it before, resulting in improved team transparency.
Helped to develop strategic roadmaps for our team to deliver additional value in alignment with the business' goals and ensuring resource allocation efficiency.
Assisted the Edmonton Police Service in an investigation for detecting fraud, as well as several other investigations driven internally by the Land Titles Office for fraud.
Acted as the liaison/technical contact for an ongoing modernization project meant to replace existing Land Titles software over the next several years.
Software Development
Responsible for the continued development and maintenance of all Alberta Land Titles' software applications, with technologies including legacy ASP.NET WebForms, ASP.NET MVC/WebApi, and .NET Windows Forms. Alberta Land Titles’ flagship application, SPIN2, serves over 10 million requests per month.
Enhanced software reliability by implementing a code review process and conducting comprehensive code reviews, identifying areas for improvement, and providing constructive feedback to team members.
Mentored fellow developers to help improve coding skills and understanding of best practices, leading to increased overall code quality within the team.
Completely rebuilt a critical public-facing web service used by several different ministries and government applications throughout the province due to the deprecation of TLS 1.0/1.1 in mid-2020; I created a “drop-in” replacement that used “modern” ASP.NET 4.7.2 and drastically improved overall performance and improved ease-of-use.
Redesigned the Alberta Land Titles Online application to more closely match the Alberta.ca redesign.
Developed an internal REST service that allowed our build agent, run by Azure DevOps Server, to retrieve service account passwords directly from SecretServer.
Developed an internal REST service that could be consumed by another team to help in their efforts to automate some of Land Titles’ processes.
Developed utilities and dashboards for our team to help surface aggregate information about errors across applications, look up statistics about documents, etc.
Developed several utilities for Land Titles’ system support team to aid in retrieving information about or the produced files for an order, update email distribution lists, visualize documents in a queue, etc.
Oversaw the design and implementation of all changes to the codebase throughout my tenure, or otherwise provided significant guidance to other teams developing in this space.
Set up an instance of MediaWiki to enable our team to produce better, searchable documentation.
DevOps
Upgraded from Team Foundation Server 2015 to Azure DevOps Server 2019.
Implemented a source control branching strategy in TFVC to accommodate several development teams' concurrent work.
Implemented Semantic Versioning for all applications and databases, including accurate assembly versioning for all MSBuild artifacts, as well as assembly signing for .NET artifacts.
Automated the build and deployment lifecycle for all of our software to each of our environments; from an entirely manual deployment of software using MSI packages, to a fully-automated continuous integration/continuous delivery for all environments.
Automated the build and deployment lifecycle of our SQL Server databases using database projects (.sqlproj), SqlPackage (.dacpac), and SQLCMD.
Implemented a strategy for running version-specific pre- and post-deployment scripts for SQL Server database projects during deployment, including capturing error messages and failure to be included in Slack notifications.
Implemented a strategy for deploying database jobs within a SQL Server database project.
Created a service to automate the installation of new Azure DevOps Server agents using the latest releases available from Github, as well as trigger installation of those agents on our build agents using the TFAPI.
Acted as the release manager and oversaw all production deployments during my tenure.
Site Reliability
Responsible for maintaining six separate application environments, including over 100 servers in total.
Configured AWStats to begin tracking meaningful statistics about application usage.
Set up an instance of SecretServer to enable our team to keep service account passwords, license keys, etc. in a central and secure location (previously, all passwords/licenses were stored in an Excel spreadsheet).
Reduced system downtime by developing and implementing robust monitoring tools, significantly improving application stability and user satisfaction, as well as reducing required employee attention. Due to the inability to access @gov.ab.ca email from outside of the GoA network, all monitoring was implemented to integrate with Slack.
Deployed an Azure Function to monitor application up-time externally and notify our team via Slack (as, during a real outage, the GoA's own Nagios monitoring within the datacenter would report as online even though inaccessible for users).
Implemented an end-to-end process for the automatic renewal and management of certificates for ~30-40 domains as well as ~10-20 client certificates for web service authentication; this included automatic submission of a Certificate Signing Request (CSR), acceptance of the CSR, installation onto applicable web servers and ADFS servers, generation of federated metadata, and reconfiguration of application's service endpoints (WCF); this also included developing a REST service for retrieving the correct thumbprint or encoded-certificate during deployments.
Implemented monitoring for ADFS client-certificate authentication, with notifications to Slack.
Production Support
Responsible for maintenance of data syncing processes from a z/OS mainframe to SQL Server; data syncing was done using a combination of triggers and long-running database jobs, as well as SQL Server's Change Data Capture (CDC) feature.
Responsible for ensuring data integrity of aforementioned data syncing processes, including performing Root Cause Analysis (RCA) when problems occurred.
Developed a data recovery process that would find and resolve data issues by performing data comparisons between the mainframe's source data and the ETL'd synced data.
Developed several reusable data fixes for recurring production data issues when lack of resourcing would not allow proper RCA to take place; some of these data issues, which could cause critical failure to the workflow of internal users, then had their data fixes automated to reduce overall impact to users; each of these automated fixes included Slack notifications to allow for follow-up.
Due to a lack of reliable or up-to-date documentation, I often performed in-depth analysis or otherwise reverse-engineered several application processes to help resolve recurring production issues.
Awards
In October 2022, I received an award for Delivery Excellence and was featured in Fujitsu's monthly newsletter, "The Download," which went out to all employees within Fujitsu Americas, Inc.
Fujitsu Distinguished Engineer
Fujitsu Consulting Canada, Inc.
06.2020 - Current
Nominated and accepted into the Fujitsu Distinguished Engineer (FDE) scheme.
Acted as a mentor for a member of the "Women in Tech" program for 6-8 months.
During the pandemic, attended yearly FDE conference virtually.
In 2023, attended the FDE conference hosted at the University of Warwick in the United Kingdom.
Web Developer/Designer
Sexual Assault Centre of Edmonton
09.2017 - 06.2018
Helped guide the SACE team through building a new website from the ground up to freshen up their online presence and stay consistent with their new physical branding
Worked closely with the communications manager and their graphic designer to come up with a way to revamp their current website into a more user-friendly version which adhered to modern design standards
Built a modern public-facing website for the SACE team using open-source libraries including Bootstrap 4 to increase maintainability for the future
Built an internal-facing website using the latest .NET Core technologies for the SACE team to manage all of their volunteers and events
Configured an open-source content management system called Orchard to help the SACE employees manage their website independently and without much technical knowledge.
Senior Application Developer
Alberta School Employee Benefit Plan
03.2017 - 11.2017
Helped maintain public-facing and internal-only web applications used to manage covered members’ benefit plans
Designed and built an event architecture utilizing Microsoft Azure to manage scheduled jobs and handle tasks in the background to reduce server loads
Designed and built a centralized notification service to send email and mail notifications to covered members based on templates created by the business
Built several REST APIs to replace older WCF endpoints
Was part of a small team of developers working on enhancing all of the company’s applications, which was overseen by several committees
Built client-side JavaScript for the new company website to allow logging into the flagship application from the website, as well as an API to allow it (included cross domain authentication)
Participated in weekly developer architecture meetings to help guide the projects getting underway and decide which technologies we would use in the future.
Senior Web Analyst
Alberta Environment and Parks
01.2017 - 03.2017
Joined a high-pressure team tasked to deliver several GIS projects for different departments within Alberta Environment and Parks
Designed and implemented rich user interfaces utilizing Knockout.js and the MVVM design pattern inside of a single-page-application
Designed a new interface for the Alberta Floods application using the Government of Alberta corporate identity as a standard
Created a generic CMS solution that would generate permanent URLs to serve dynamic content utilizing good SEO standards to help drive traffic
Mentored new member of our team to bring him on board with the team’s engineering and design standards.
Senior Web Analyst
Alberta Environment and Parks
11.2015 - 01.2017
Designed an easy-to-use public-facing and internal user interface for residents of Alberta or Alberta Environment and Parks employees to submit and manage request for information using the FOIP Act
Worked closely with the FOIP Administration department within the ministry to build an internal application to automate their transition to a digital-by-default process
Created an application architecture to make it possible for other developers to quickly and easily extend the workflow created for the FOIP application
Architected a security module utilizing Windows authentication tied to Entity Framework
Created internal documentation to explain the flow of the FOIP application we developed
Helped implement agile best practices for the team of 8 people
Participated in a bi-weekly team knowledge sharing meeting where each team member could share knowledge about new technologies from their point of view.
Senior Software Developer
SciQuest Canada, Inc / Upside Software, Inc
12.2011 - 11.2015
Worked in an enterprise environment on a product with several internationally-known clients including but not limited to Microsoft, DeutscheBank, Proctor and Gamble, and StateFarm
Was part of a team that modernized the flagship product built on ASP.NET to use ASP.NET MVC utilizing a heavily modified version of the Entity framework; Microsoft Unity was used to provide XML-based application configuration
Worked on a core team of developers responsible for the development and maintenance of a JavaScript framework utilizing jQuery, Backbone.js, Knockout.js, and the Kendo Control Suite; this team was also responsible for implementing a responsive design for the application
Implemented Bootstrap 3 for a subset of controls within the application
Developed an abstract test framework which hinged on NUnit to allow developers to quickly create and deploy unit tests to manage regression of the flagship product
Participated in an Agile iterative development environment, including acting as a scrum master for daily stand-ups as well as a stand-in product owner for backlog grooming when necessary; also attended hands-on Agile team building exercises held by Bob Galen
While developing internal or external features, used an iterative approach by continually showing progress to stakeholders and receiving feedback/guidance
Routinely worked with Microsoft Team Foundation Server coupled with MSBuild to create a continuous integration environment
Acted as an architect to design key features for the flagship product, including several user interface controls and many framework-level enhancements
Developed and documented several JSON API endpoints to allow client-side communication in the flagship product
Worked with NHibernate connected to a Microsoft SQL Server database, with many custom stored procedures, views, and triggers
Acted as a mentor as a part of “onboarding” for several new employees
Helped facilitate an initiative for code reviews as a departmental practice
Was sent to Cary, NC to provide training to peers for our development framework
Awards
Received Upside Software's "MVP" award within the first six months of my tenure for outstanding work.
On two separate occasions, received SciQuest's "The Power of Q" award for outstanding work.
Web Developer (part-time)
Dolphin Media, Inc
08.2014 - 12.2018
Gave a legacy political website a facelift using HTML5 and LESS
Created modernized graphics for the company and newsletter
Utilized modern search engine optimization and ad campaigns, like Google Adwords, to drive traffic as the new website launched
Created a responsive website design using Bootstrap 3 and interactive elements driven by JavaScript/jQuery; used jQuery mobile to increase usability for mobile devices
Iterated in agile-like sprints to receive early feedback from the client
Created a rich content management system to manage the website.
Web/Application Developer
Avatar Media, Inc.
01.2011 - 12.2011
Rebuilt the company’s website using HTML5, CSS3, and jQuery
Implemented strong search engine optimization techniques to drive business
Acted as part of a graphic design team with one other member to provide a rich user experience which featured responsive design
Developed an e-commerce store application with a mobile version driven by jQuery mobile to provide a rich user experience for mobile users; designed but did not deploy a native iOS application shell for this store
Developed a web application to help aboriginal students pick health careers in the province
Iterated with clients to receive feedback on all projects
Used a Subversion/Trac repository to keep track of all projects.
Web Developer/System Administrator
Industry Spotlight Canada
05.2010 - 12.2010
Designed a fresh new look and brand for the company, including a logo and website design
Utilized search engine optimization techniques to increase company website traffic
Implemented responsive design principles to allow mobile browsing
Used jQuery to create interactive elements to improve the user experience
Created a development framework based on MVC principles to build the company website on
Used Subversion repository to keep track of projects.
Network Administrator/Web Developer
Ralcomm Ltd.
08.2006 - 02.2008
Built an interactive internal management tool for field operators to keep track of appointments as well as services for calculating client bills; this tool was driven by JavaScript and AJAX
Designed the interactive tool to work well on mobile devices
Improved company’s online presence by adding search engine optimization to their website.
Administrative and Junior Executive Assistant at Fujitsu Consulting Canada, FCCAdministrative and Junior Executive Assistant at Fujitsu Consulting Canada, FCC