The Opportunity
Do you love creating solutions that unlock developer productivity and bring teams together? Do you insist on the highest standards for the software your team develops? Are you an advocate of fast release cycle times, continuous delivery and measurable quality? If this is you, then join an energetic team of DevOps Engineers building next-generation development applications for PDI!
As a DevOps Engineer, you will partner with a team of senior engineers in the design, development and maintenance of our CI/CD DevOps platform for new and existing PDI solutions. The platform will be used internally by the engineering teams, providing them an internal pipeline to work with POCs, alpha, betas and release candidate environments, as well as supporting the pipeline into our production stage and release environments managed by our Tech Services SREs and running hybrid clouds composed of PDI datacenter based private cloud clusters federated with public cloud-based clusters. You will play a key role in designing & building our CI/CD delivery pipeline as we drive to continuously increase our cloud maturity. You will be supporting automated deployment mechanisms, writing hybrid cloud infrastructure as code, automated testing, source control integration and lab environment management. You will review, recommend & implement system enhancements in the form of new processes or tools that improve the effectiveness of our SDLC while ensuring secure development practices are followed and measured.
You will be responsible for maintaining order in the DevOps environment by ensuring all stakeholders (testers, developers, architects, product owners, SREs, IT Ops...) are trained in operating procedures and best practices. With the variety of environments, platforms, technologies & languages, you must be comfortable working in both Windows & Linux environments, including PowerShell & bash scripting, database administration as well as bare metal virtualization technologies and public cloud environments (Azure, GCP, AWS, OCI).
Primary Responsibilities
Promote and evangelize Infrastructure-as-code (IaC) design thinking every day.
Serve as a SME for configuration management tools such as Ansible or Chef.
Maintain a comprehensive understanding of our key cloud components, including our Kubernetes clusters & topologies, their service mesh, API gateway, high perf cache, high perf messaging, data services, etc.
Maximize selection of portable provisioning and automation tools & frameworks (e.g., Terraform, Packer).
Develop/administer source code management policies and build definitions for all supported products and maintain relationships with the associated development teams to pursue continuous improvements for both Design & implement a container-first platform maximizing the CI automation to free up developer time.
Design for minimizing or eliminating product software engineer time spent on implementing cross-cutting concerns such as security, fault tolerance, service scalability, and service monitoring.
Design for portability and containerization, supporting deployment to bare-metal PDI data center virtualization platforms (Hyper-V) as well as public clouds: Azure, GCP, AWS, OCI.
Bring DevOps technical expertise to a Scrum team of engineers building & supporting our multi-stage, CI/CD hybrid cloud platform.
As an operations member of the Agile team, help produce sprint deliverables and actively participate in all Scrum ceremonies: daily stand-up, sprint planning & poker, release planning, sprint reviews & retrospectives, and responsible for sprint deliverables.
Take part in the implementation of a full dev-to-deploy CI/CD, including full commit stage static analysis, security analysis, unit test coverage, automated deployment, post-deploy functional automation testing (BDD-based), performance testing and the automated gate criteria which push releases through the pipeline to production staging.
Partner with the PDI Tech Services team, collaboratively building our high maturity CI/CD pipeline & container hybrid cloud as we slowly evolve to bringing in the SRE role to operations. Serve as an administrator for DevOps-managed tools such as Jenkins, Jira, Confluence, and Bitbucket, providing user support as needed and working to reduce future support tasks via improved automation and training.
Continuously increase knowledge of our systems and solution stacks through active study, research & experimentation, and contribute to the team’s knowledge base through discussion and documentation. Qualifications
6-9 years in DevOps or related software engineering or an equivalent combination of education and experience
Experience with portable provisioning technologies and IaC: Terraform, Packer, Ansible or SaltStack and Hyper-V Cmdlets, Azure, GCP, AWS, OCI platforms.
Experience with configuration management tools such as Chef or Puppet.
Comfortable with the setup, configuration, care, and support of portable cloud technologies such as API gateways, Cassandra, Spark, Kafka, Redis, MSSQLServer.
Strong understanding of source code management principles.
Familiar with containerization (Docker), cloud orchestration (Kubernetes or Swarm), Istio service mesh, and Helm Charts.
Experience with CI security & compliance tools such as WhiteSource, Blackduck, Coverity, Seeker, Contrast (IAST).
Experience with CI tools integration and management: TFS, Git/BitBucket, Jenkins, JIRA, SonarQube.
Working experience in Windows and Linux systems, CLI and scripting.
Familiar with build automation in Windows and Linux and familiar with the various build tools (MSBuild, Make), package managers (NuGet, NPM, Maven) and artifact repositories (Artifactory, Nexus).
Programming experience with one or more of C#, Go, Python, C++, Ruby Knowledge of SDLC with Agile, Scrum, Kanban, secure development, peer programming
Working experience with one or more flavors of SQL RDBMS administration and scripting DDL and DML.
Preferred: some experience with direct customer contact (tech support, customer service, etc.)
Any Graduate