Principal DevOps Engineer

Job Description

Summary:

Our client is looking for a Principle Engineer who will strategically drive the conceptualization, architecture, implementation, and operation for all DevOps functions at our client company.

Responsibilities:

  • Working with cloud-based infrastructure design (primarily AWS), engineer and launch of products, and services.
  • Create and development strategies for Continuous Integrations, Continuous Deployment processes using CI-CD tools (Jenkins, Chef, Git, Artifactory, Redgate, Docker, Terraform, Kubernetes, etc).
  • Deploy and automate infrastructure/applications in a cloud environment.
  • Design, build and improve the build and release process for multiple release streams of in-house enterprise software products.
  • Maintain and support the existing code pipeline from various stages: code, build, and test, deploy, and monitor/measure.
  • Design, build and maintain the automated builds and CI/CD environments and automation for Windows and Linux OS, either on premise or cloud based platforms.
  • Build and deploy applications with security and high availability (blue/green deployment) in mind.
  • Automate the installation, configuring, monitoring, alerting, tuning (and self-healing or destruction) of Application Servers in a load-balanced environment.
  • Automating the scripting of database deployments targeted at MSSQL, Oracle, MySQL, Postgres, and Mongo in a clustered and hosted environment.
  • Manage and monitor EC2 and Azure VM workloads for appropriate resource allocation and performance.
  • Working closely with Development, QA, Product Management, and Production Ops teams to make sure Product Releases are timely and with quality.
  • Provide capabilities for teams to be self-sufficient by automation or self-service instrumentation.
  • Create and maintain run books and operational documentation “as code” within the DevOps vision for managing “Infrastructure as Software”.
  • Evaluate and review tools and influence decision on product selection
  • Experience in Agile Methodologies and processes.
  • Strong Automation, problem-solving skills, and ability to follow through to completion.
  • Works with the Cloud Infrastructure Services team to assure architecture is aligned with IT standards and strategies.
  • Build processes and procedures through rigorous testing that result in published documentation.
  • Develops and maintains Cloud reference architecture and design documents.
  • Ensure underlying virtual infrastructure architecture and technical decisions support the services and Operating Level Agreements (OLAs) needed to meet business needs.
  • Responsible for day to day functions such as:
    • Troubleshooting failures and productivity impacting events
    • Leading Root Cause Analysis (RCA)
    • Patching, updating and upgrading Cloud infrastructure resources
    • Automating repetitive tasks using agile software development practices

Qualifications:

  • Bachelor’s Degree + 5 years of related experience (Masters with 3+ years) OR 8+ years of experience in Build and Release engineering, scripting and automation in a Unix and Windows environment.
  • Intermediate to advanced level expertise in managing and troubleshooting the following platforms:
    • UNIX, Windows 2008/2012 servers, Windows work stations and terminal services, and IIS/ TCP/IP network protocols.
  • Proven experience with some of the following:
    • Puppet, Chef, Docker, Kubernetes, Octopus.
  • Solid experience with on premise to cloud VPC VPN connectivity designs and approaches.
  • Proficiency with deployment automation in the following languages:
    • Java, Ruby, Python, YAML.
  • Extensive experience programming/developing in a .NET, JAVA, SQL and Web (HTML, JS, CSS) environment.
  • Have interpersonal skills to deal effectively with all business contacts.
  • Demonstrated ability to identify process improvement opportunities, demonstrated knowledge of change management, and experience implementing new process/technology to standardize operations.
  • Shell scripting using Powershell, Perl, or other language.
  • Practical experience in mentoring and leading other junior team members.
  • Proven ability to multi-task in a fast-paced production environment with evolving requirements and architecture.
  • Excellent interpersonal communication skills.