Job Title: DevOps Release Engineer
Type: 3 months contract
Location: Charlotte, NC
The DevOps Release Engineer II is responsible for the end to end automation of the release of software, which includes, most importantly, the release of new or updated code and functionality into production. This also includes elements of builds, branching strategies, managing source code repos, participating in quality gates, and building/maintaining/executing release pipelines for all AvidXchange products. The goal of a DevOps Release Engineer is to create a seamless end-to-end release process that increases the reliability of the delivery of new code into production.
End to End Software Release Planning, Design, Process, Quality & Execution
- Recommend changes to existing release processes to create consistency from Development to Production
- Establish standards, best practices, and consistencies in release strategies, methodologies, and executions from Development to Production
- Perform Production Releases within approved production release windows
- Participate in Change Advisory/Review Board meetings and process to provide release context to approvals and considerations, as well as committing to owning the transition process of a release into production
- Troubleshoot failed releases and deployments across all environments, providing root cause analysis on failed deployments as needed
- Leverage existing tools to deploy code and packages through Development to Production (including but not limited to Octopus Deploy, Azure DevOps, Team City, Puppet, etc).
- Monitor, trend, and assess quality and success of releases from Development through Production with a focus on driving higher release quality and success
Design & Problem Solving
- Implement and design automated software delivery processes that follow architecture’s prescribed standards and industry best practices for DevOps.
- Implements optimal solutions for architecture, efficiency, maintainability, and scalability.
- Solving problems, debugging and optimizing code/automation to ensure optimum performance and security
- Implement and design automated processes used for provisioning and maintenance of cloud resources within the software delivery pipeline.
- Building open communication with your Product Owners, Quality Test Automation Engineers, Software Engineers, Development DBAs, Scrum Masters, Cloud Engineers, Network Engineers, and other operations team members to understand and transform software engineering and IT process requirements into automated features.
- Implementation of the environment strategy in support of the CICD initiative and
- Configuration and infrastructure management tools such as Puppet, Ansible, Chef, ARM templates, Docker, OpenShift, Kubernetes, AKS, ACR
- In-depth understanding of CICD and DevOps best practices as outlined by the DevOps handbook and DevOps toolkit 2.0.
- Handling code via source control systems (such as CVS, Git, TFS) in continuous integration environments
- Highly desired: TeamCity, Octopus, VSTS, TFS
- Highly desired: Building applications in Azure-based Cloud architectures
- Jenkins, Maven or Gradle, nuGet, Nexxus, Spinnaker
- Static code quality analysis tools such as nDepend or SonarQube
- Automated Functional, Regression, Performance, and Security testing frameworks such as Cucumber, SpecFlow, BDD, Akamai Cloud Test, Saucelabs, Blazemeter, jMeter, Veracode etc.
- Experience with RabbitMQ, Entity Framework, Aurelia, jQuery, Mule etc.
- Designing solutions with Service oriented or micro service architectures: ESBs, REST, SOAP, XSLT, and XML
- Employing secure coding practices including familiarity with OWASP top ten
- Ability to learn new technologies and skills as new technology is introduced
- Self-starter and ability to work with limited direction to achieve a project deliverable
- Ability to conduct proof of concepts and apply results to AvidXchange project deliverables and pipelines