Summary
Overview
Work History
Education
Skills
Certification
Timeline
Generic

Trevor Christiansen

South Jordan,UT

Summary

  • Experienced infrastructure-as-code pipeline designer using HashiCorp Terraform with Azure DevOps yaml pipelines - dynamic stages, secret management / key vault integration, terraform plan and apply stages with yaml environment approvals / checks
  • Expert in automating deployments of Azure infrastructure-as-code using ARM templates independently and as part of the release automation process
  • Professional design and implementation of software and cloud-infrastructure release-automation
  • Troubleshooting guru with a broad set of experience using the SysInternals utilities and WireShark. Also adept at networking with a strong understanding of transmission control protocol (TCP)
  • Proficient in designing configuration-as-code solutions using PowerShell Desired State Configuration (DSC), the Azure Automation Service, and Chocolatey
  • Well versed in software release-automation (tokenization | build-once-deploy-anywhere)
  • Authority in the design of release-automation processes using Release Management (2013, 2015, and VSTS), Jenkins, and Octopus Deploy
  • Proficient creating PowerShell libraries and using PowerShell-Remoting
  • Veteran of .Net software engineering, SQL Server development, and systems integration using C# and message-queues

Overview

18
18
years of professional experience
1
1
Certification

Work History

Founder | Lead Technologist

Apollo DevOps
Salt Lake City, UT
Mar2015 - Current

Provide design guidance, technical leadership, and advice to technical staff with a focus on Azure infrastructure deployments using the open-source version of terraform by Hashicorp and Azure DevOps YAML pipelines. Provide hands-on proof-of-concept, simulation, and production-ready automation solutions. Devise build-automation, test-automation, and release-automation strategies as needed.

Client Portfolio

[Confidential] - Global Retailer / TekSystems

  • Spearheaded the design and implementation of YAML pipelines in Azure DevOps, leveraging Terraform with custom modules stored in GitHub for deploying scalable and secure Azure infrastructure, aligning with the Cloud Adoption Framework and Well-Architected Framework.
  • Served as the principal consultant, guiding the enterprise's strategic direction in the adoption and utilization of Terraform frameworks, ensuring adherence to enterprise design principles and security best practices.
  • Mentored and trained multiple teams on leveraging the Terraform frameworks developed, fostering a culture of knowledge sharing and technical excellence across the organization.
  • Successfully migrated legacy Infrastructure as Code (IaC) technologies to a modern, streamlined Terraform framework, enhancing operational efficiency and infrastructure reliability.
  • Pioneered the creation of Terraform configurations for existing Azure resource groups, enabling seamless integration and management of legacy and cloud-native resources.
  • Developed and maintained Azure DevOps pipeline templates for Terraform configurations, abstracting complexity with predefined stages for validation/linting, planning, and applying, enabling seamless infrastructure deployment processes.
  • Created Docker images for deploying Terraform across supported versions, managing and maintaining these images in Azure Container Registries to ensure consistency and reliability in deployment environments.

[Confidential] - Big Four accounting firm

  • Provide technical architecture guidance, implementation, and support for the software release-automation process using Azure DevOps (a.k.a. VSTS)
  • Support and work with international teams on deployments of global Azure-based software applications using Azure resources (App Services, Sql Servers / DBs, CDN, Cosmos DB, Storage accounts, Service Bus, and Application Insights)
  • Designed and implemented secure release-automation processes for deploying Azure infrastructure using distributed, hierarchical ARM templates using Azure DevOps build pipelines with Git, task & variable groups, SAS tokens, release pipelines, etc
  • Create custom PowerShell scripts for use in custom release pipeline tasks
  • Created architecture diagrams using Microsoft Visio
  • Manage Azure DevOps team projects, including teams, permissions, security, TFVC / Git repositories, service endpoints and integration components
  • Manage Azure RBAC / permissions using Powershell for resource group and subscription access using Azure Active Directory (AAD) groups and users, creating and assigning custom roles, creating app registrations with required delegation, etc
  • Contribute to global Git repositories of scripts and abstracted ARM templates for knowledge sharing and participate in meetings with international teams to share experiences and avoid the "Stone Soup" scenario common in large organizations
  • Work with InfoSec teams to validate the security posture of the deployed environments, use organizational best practices and standards, and implement all available security features according to least privilege and security baselines

[Confidential] - Large Healthcare Organization

  • Lead the organization in the adoption of modern practices and a DevOps-centric culture using Microsoft's cloud (Azure) as the default platform
  • Developing innovative solutions using VSTS, Azure, and Powershell with a goal to deliver continuous, incremental and rapid value to the business
  • Developing terraform module hierarchies to support deployment and maintenance of Azure Kubernetes Service (AKS) instances for multiple environments using hashicorp azurerm, azuread, tls, kubernetes, and null resource providers
  • Creating strategies to introduce information security configuration and deployment mechanisms into the CI/CD process using Azure Active Directory, KeyVault, & the latest features of VSTS
  • Designing simple, robust, and secure infrastructure deployment constructs utilizing Azure Resource Manager (ARM), KeyVault and VSTS
  • Providing architectural guidance for utilizing the bleeding edge of Microsoft Azure infrastructure
  • Configuring build and release automation tooling to PaaS and IaaS infrastructure targets in Microsoft Azure
  • Developing integration strategies for combining infrastructure deployments with code deployment pipelines using ARM & VSTS
  • Creating and using VSTS Teams / Kanban boards for work tracking and other custom dashboards to increase project progress transparency
  • Coordinate updates to public DNS and routing to our cloud resources, and designing HA / DR cloud strategies
  • Manage portfolio of time-saving Powershell command line tools, including real-time Powershell dashboards for harvesting information about our cloud resources
  • Creating proof-of-concepts for potential improvements to the platform and preseting to the larger organization
  • Creating archtecture diagrams of current and future states of environments & supporting infrastructure

SmashFly Technologies

  • Serve as resident authority for .Net software and Azure infrastructure deployment automation
  • Revamp the Release Management 2013 server back-end PowerShell engine via heavy script modifications, and decreased the number of RM-caused failed deployments by 100%
  • Design the cloud migration strategy to Microsoft Azure infrastructure-as-a-service (IaaS) using the lift-and-shift cloud migration model
  • Implement the Azure infrastructure-as-code model utilizing the VSTS RM, Azure Automation Service, PowerShell Desired State Configuration (DSC), and Chocolatey using Azure Resource Manager (ARM) APIs.
  • Devised a strategy for using Azure DevTestLabs as a self-service portal for development teams using custom formulas, and modified the release process to provide for continuous delivery of build-automation artifacts to new DevTestLab virtual machines.

Eversource Energy

  • Served as resident authority and architect for Microsoft Azure design and implementation
  • Designed and documented a highly-available web application project built on Azure exclusively using Platform-as-a-service (PaaS) resources
  • Built upon the TFS 2015 RM platform to support the infrastructure-as-code continuous-deployment model of Azure infrastructure defined in hierarchical ARM deployment templates and parameters files

[Confidential] Big Four accounting firm

  • Provided technical architecture guidance, implementation, and support for the software release-automation process using Release Management 2013.
  • Worked with foreign teams on deployments to over 30 global data centers.
  • Designed and implemented release-automation processes from development to production using Microsoft Release Management 2013
  • Created custom PowerShell library functions for backup, restore, install, and supporting functions
  • Add customization and extensibility to RM release templates by leveraging custom PowerShell-based actions
  • Implemented and maintained a security model for the Release Management 2013 server using role-based access control
  • Create PowerShell scripts to solve complex problems using PowerShell Remoting for things such as integrating the post build process with Azure storage account deployments from build machines without internet access
  • Create administrative PowerShell scripts to query the RM database to provide insight into releases
  • Install & configure Jenkins, manage plugins and jobs that find configuration errors, server status, and application-specific deployment history per environment using PowerShell scripts against the RM database
  • Coordinate production infrastructure deployments with operations teams and infrastructure architects
  • Led technical effort to migrate scripts for managing Azure resources from Azure Service Management APIs to Azure Resource Manager (ARM) APIs
  • Devised strategy to utilize the lift-and-shift model for the migration of on-premises infrastructure to Azure infrastructure-as-a-service (IaaS)
  • Created architecture diagrams using Microsoft Visio
  • Created proof-of-concepts for deploying Azure environments using different methods including RDFE PowerShell providers, variables files, and hash tables, ARM PowerShell providers, and ARM template deployments
  • Create proof-of-concepts for new and improved versions of release templates and deployment paradigm shifts such as Windows PowerShell Desired State Configuration (DSC)

Lead Build / Release Engineer

American Express \ Serve
St Petersburg
05.2012 - 03.2015

General Overview:

  • Orchestrate the release engineering deployment processes to DEV, QA, UAT, and production-mirrored environments running Windows Server 2008, and Windows 7 using Team Build and WF
  • Manage the configuration of the TFS production and test bed environments from end to end
  • Experience utilizing the TFS Power Tools, TFS Sidekicks, and command line utilities (tfsconfig.exe, tf.exe, etc..) for administering the source control repository
  • Experience improving the processes involved in building and deploying all platform software components using TFS and Jenkins CI Automation Tooling
  • Experience creating, configuring and managing the TFS Performance Testing infrastructure using Visual Studio test controllers, test agents and integrating those components with Jenkins CI tooling
  • Create integration between platform components including TFS and Jenkins by installing and configuring load balanced / clustered RabbitMQ servers with LDAP, creating C# solutions and builds for client side assemblies for publishing and consumption of RabbitMQ constructs
  • Experience creating and debugging-on-server TFS Server Plugins for build and work item notification events for integration between other Application Lifecycle Management systems
  • Experience creating CI pipelines using TFS build process templates and Jenkins CI on the way to Continuous Delivery to production
  • Experience integrating environment specific integration tests into gated CI pipelines

Day to Day Responsibilities:

Source Control:

  • Work with team leads to create necessary build definitions along with their corresponding post-build activities and deployment in support of multiple environments consisting of 20 Virtual Machines each and Test Lab environments throughout the majority of the Software Development Life Cycle (SDLC)
  • Create applications for automating time consuming processes using the TFS object model
  • Administer source control permissions including TFS groups and their correct integration with Active Directory Domain Services (ADDS) group memberships, as well as improving TFS security strategies and policies
  • Mentor others in proper usage of TFS and remediate accidental changes to source control artifacts
  • Create new solutions and projects to support new initiatives and legacy applications
  • Merge code using Forward and Reverse Integration (FI, RI) methods
  • Review changesets, unshelve, apply, and deploy shelvesets using buddy \ private builds
  • Create new team projects, source control directories & branches for new initiatives
  • Create environment diagrams and build workflows using Microsoft Visio
  • Define and execute necessary processes and procedures to support continuous integration, scheduled deployments, and environment preparation as defined by stakeholders

Deployment:

  • Modify build process templates to accommodate custom deployment processes
  • Automate creating and updating build definitions in TFS
  • Create automation for creating Jenkins jobs to match TFS build definitions
  • Modify build definitions to use build versioning and source and symbol servers for deployment of PDBs

As Needed:


Performance Testing:

  • Create test plans, test suites, and automated test cases in Microsoft Test Manager for use in execution of synthetic load tests created in Visual Studio test projects
  • Create test labs using virtual machines, with multiple test configurations using MTM
  • Create web performance tests and unit tests using C# and MSTest for Visual Studio load tests
  • Triage critical performance issues and communicate performance-related best practices to development teams

Backup:

  • Audit TFS backup strategy
  • Monitor TFS health using Best Practices Analyzer and the Operational Intelligence Hub for TFS job activity and request latency


Administration:

  • Modify the Work Item Types for TFS Team Projects including fields, transitions
  • Add check-in policies to TFS Team Projects and configure them

Software Systems Engineer

Jacobs Engineering / Tybrin
Valparaiso
01.2009 - 04.2012

Day to Day Responsibilities:

  • Created WCF service modules that utilized Entity Framework and LINQ
  • Used the IDesign WCF extension framework to manage proxies, security, transactions, error handling and threading in our core SOA business service layer
  • Migrated unit test assemblies from NUnit to the MSTest unit testing framework using VS 2010
  • Created thorough unit tests for all new WCF service operations using the MSTest unit testing framework
  • Ensured adequate code coverage of new code by creating multiple tests per service operation being tested for more common scenarios
  • Fixed defects found in system testing phase and create new unit tests to automate the problem scenario(s)
  • Worked with the SCM team on continuous integration, and scheduled nightly build processes using VS 2008
  • Worked with team members to design, develop, document, and test application deliverables
  • Translated customer requirements into high level use cases
  • Developed complex, normalized data structures in SQL Server databases and Entity Framework models

Software Engineer – MySQL Database Developer

MobiTech International
Sandy
10.2008 - 12.2008

Day to Day Responsibilities:

  • Created the Online Transaction Processing (OLTP) relational data structure including table indexing and triggers to store advertisement data using MySQL
  • Designed the algorithm to manage credits from pre-purchased ad-campaign packages using Price-per-click and Cost-per-impression concepts using stored procedures
  • Created asynchronous Windows Forms application for parsing 4Gb flat files and inserting the database records

Software Engineer – SQL Server 2008 Database Devel

InContact
Sandy
10.2008 - 12.2008

Day to Day Responsibilities:

  • Created solution for harvesting log data from production VOIP servers in many different formats using regular expressions in C# for internal department use
  • Designed and optimized a database for storing all parsed data using Microsoft SQL Server 2008
  • Utilized page level data compression and indexing on multiple tables with billions of data rows
  • Modified existing in-house ASP.NET web application to display the stored log data

Enterprise Project Developer

Neumont University
South Jordan
03.2006 - 10.2008

Course Projects

  • NCSSSMST – Developer; National teacher collaboration web application written in ASP.NET
  • GedLynk (Source Forge) – Developer; Java Desktop application for assisting in genealogy work
  • UPX – Developer; Java Desktop application similar to the United Parcel Service (UPS) point of sale system
  • Perks Resort – Developer; ASP.NET 3.5 application for managing amenities and resources at a resort
  • Fix-A-Wreck – Developer; Windows Forms application in C# for managing an auto shop and retail store

Software Engineer – SQL Server 2005 Database Devel

HRP Distributing
Salt Lake City
07.2008 - 09.2008

Day to Day Responsibilities:

  • Customized an “ASP.NET Storefront” out-of-box e-commerce web site to replace legacy web site
  • Synchronized transactions between databases using T-SQL, stored procedures, and triggers
  • Modified web based UI to include paging functionality using JavaScript

Education

Bachelor of Science - Computer Science

Neumont University
South Jordan, UT
12.2008

Skills

  • Azure Pipelines using Yaml for HashiCorp Terraform dynamic environment stages (step templates, job templates, stage templates), variable groups with KeyVault secret references used in dynamic Terraform Plan / Apply stages
  • Cloudflare automation, workers, firewall, DNS / Proxy, Splunk log integration with log_push
  • Terraform module development, git versioning
  • Azure Administration, networking, hub and spoke with Azure Firewall (migration from Palo Alto), Azure Active Directory / Privileged Identity Management / Access Packages, Azure DevOps RBAC with AAD integration
  • Microsoft Azure Resource Manager (ARM) API, PowerShell, and JSON
  • Microsoft Azure Service Management (RDFE) API
  • Azure configuration-as-code using Azure Automation DSC
  • TFS installation, administration, build, branching / merging, and TFS object model
  • Performance Testing using VS 2010, Microsoft Test Manager (MTM), MSTest, NUnit, PerfMon, Fiddler, IIS, ANTS Performance Profiler, SCOM APM, PowerShell, WinDbg, PssCor4, SysInternals, load balancing
  • Net Framework, C#, WCF, LINQ to (SQL, Objects, Entities), ADONET, ASPNET, WPF, HTML, SOAP, XML, T-SQL, Entity Framework, NuGet, Chocolatey, Toad for Oracle, Splunk, Log4Net
  • IIS Manager, IIS web gardening and web farms, SQL Server 2005 & 2008 relational database development

Certification

  • AZ-900 Microsoft Certified: Azure Fundamentals
  • AZ-104 Microsoft Certified: Azure Administrator Associate
  • AZ-400 Microsoft Certified: Azure DevOps Engineer Expert
  • HashiCorp Certified: Terraform Associate

Timeline

Lead Build / Release Engineer

American Express \ Serve
05.2012 - 03.2015

Software Systems Engineer

Jacobs Engineering / Tybrin
01.2009 - 04.2012

Software Engineer – MySQL Database Developer

MobiTech International
10.2008 - 12.2008

Software Engineer – SQL Server 2008 Database Devel

InContact
10.2008 - 12.2008

Software Engineer – SQL Server 2005 Database Devel

HRP Distributing
07.2008 - 09.2008

Enterprise Project Developer

Neumont University
03.2006 - 10.2008

Founder | Lead Technologist

Apollo DevOps
Mar2015 - Current

Bachelor of Science - Computer Science

Neumont University
Trevor Christiansen