Summary
Overview
Work History
Education
Skills
Timeline
Generic
David Miles

David Miles

Edmonton,Alberta

Summary

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.

Education

Digital Media And IT Diploma -

NAIT
Edmonton, AB
04.2011

Skills

  • Software Design/Architecture

  • Front-End Development

  • Back-End Development

  • Databases

  • UI/UX Design

  • Problem Solving

  • Root Cause Analysis

  • Source Control

  • DevOps

  • Automation

  • Agile

  • Mentoring

Timeline

Fujitsu Distinguished Engineer

Fujitsu Consulting Canada, Inc.
06.2020 - Current

Senior Technical Lead

Fujitsu Consulting Canada, Inc.
06.2018 - Current

Web Developer/Designer

Sexual Assault Centre of Edmonton
09.2017 - 06.2018

Senior Application Developer

Alberta School Employee Benefit Plan
03.2017 - 11.2017

Senior Web Analyst

Alberta Environment and Parks
01.2017 - 03.2017

Senior Web Analyst

Alberta Environment and Parks
11.2015 - 01.2017

Web Developer (part-time)

Dolphin Media, Inc
08.2014 - 12.2018

Senior Software Developer

SciQuest Canada, Inc / Upside Software, Inc
12.2011 - 11.2015

Web/Application Developer

Avatar Media, Inc.
01.2011 - 12.2011

Web Developer/System Administrator

Industry Spotlight Canada
05.2010 - 12.2010

Network Administrator/Web Developer

Ralcomm Ltd.
08.2006 - 02.2008

Digital Media And IT Diploma -

NAIT
David Miles