Descripción del Trabajo
As the team's Senior Release (DevOps) Engineer, you will be a core member of the technical team supporting supply chain systems. This is a role requiring a comprehensive understanding in this specialized area, with an ability to take on and execute highly complex/specialized projects and activities. The incumbent will have the latitude to adapt precedents and make significant departures from traditional approaches to develop solutions. ~80% of your role will involve owning implementation of tooling and processes needed to run activities such as code migration, automated testing execution, environment refreshes, and code review. As such, your main goal will be to facilitate maximum productivity of the dev team, traceability of code changes through environments, and maintenance of high code quality / low instances of bugs in production. The remaining ~20% of your time will be spent as a hands-on application developer, contributing to both technical maintenance initiatives and new functionality.
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Implement tooling and process to manage the migration of all systems changes (code, configuration, and mass data updates) through various environments (dev sandbox, UAT sandbox, PROD, etc.) for InControl.
- Implement tooling and process to manage regular execution of tests in various environments; initial focus will be on testing back-end logic, but we eventually want to include front-end testing as well.
- Manage ongoing maintenance activities such as certificate renewals, outage communications, and sandbox environment refreshes.
- Contribute to the development of core team deliverables such as integrations, portal modules, business process automation, and bug fixes
- Establish an automated DevOps release management pipeline that delivers tooling for next-generation application development efforts (the Dev) and ongoing production operations (the Ops). Cultivate a Continuous Integration/Continuous Delivery mindset.
- Ensure development teams are provided a full set of DevOps ALM tools by leading the establishment of the right
tooling and processes that will result in a fully automated release management pipeline to include: the Automated build process, environment setups, testing scripts, deployments, and production operational metrics/debugging information (to target developers).
- May perform other duties and responsibilities as assigned
MANAGEMENT & SUPERVISORY RESPONSIBILITIES
- Typically reports to Management.
- Job is NOT directly responsible for managing other employees (e.g., hiring/termination and/or pay decisions, performance management).
- Demonstrated strategic and systems thinking skills
- Ability to develop credibility and rapport at all levels in the organization
- Ability to communicate complex information and implications in interactions with senior leaders, utilizing ‘storytelling techniques’ to communicate a clear, compelling, and cohesive story.
- Ability to lead and manage large, complex projects to successful completion
- Research skills demonstrated ability in building rigorous analytical frameworks using both quantitative and qualitative tools
- Must be a conceptual/creative thinker, highly articulate, working well with ambiguity driving towards solutions/ practical applications
- Requires a solid understanding of the organization's business operations, strategic direction, and business environment to conduct operations analyses and develop and execute the organization's strategic plan.
- Excellent communication skills
- Strong proficiency in determining requirements to enable the company’s business goals and objectives with the ability to devise and implement strategies to achieve targets.
- Strong analytical ability. Proficiency in managing business analytics to determine optimum company outcomes.
- Proven track record of successful change management accomplishments, implementing and managing continuous productivity and cost reduction programs.
- Proficiency in use of personal computers, Microsoft Office products (Excel, Word, and PowerPoint), and e-mail skills required.
EDUCATION & EXPERIENCE REQUIREMENTS
- Bachelor’s Degree in Computer Science or Management Information Technology
- 8 years of experience in a relevant IT position
- Or an equivalent combination of education, training or experience.
- Experience using at least two different platforms for managing deployment/migration
- Experience using at least two types of automated testing frameworks
- Experience working with at least one system used for data backups
- Understanding of relational databases and related languages such as SQL
- Experience coding in both object-oriented and scripting languages
- Experience working with AWS or other cloud platforms
- Or an equivalent combination of education, training, or experience.
- 3+ years of experience with CI/CD tools like Azure DevOps/VSTS (preferred), Jenkins, Octopus, Codedeploy, and a deep understanding of CI/CD principles
- Experience using configuration management tools like Cloudformation, Ansible, Terraform
- Experience in designing and maintaining cloud-based DevOps solutions with AWS
- Understanding when and why to use admin vs. dev solutions
- Strong background in Linux/Unix administration and writing Bash scripts
- Experience in Infrastructure planning and Security planning
- Expert understanding of CDNs, load balancing, DNS, proxying, and networking (ELB/ALB,
S3, Route53, VPCs, EC2, Cloudfront, Cloudwatch, and other AWS services)
- Good experience with docker orchestration/containerization using Kubernetes
- Basic understanding of AWS services like API Gateway, Secret Manager, RDS, etc
- Understanding of test class techniques
- Prior experience as a Java dev, web dev, or dev on other technologies
- Experience in end-to-end ownership of applications, from inception through post-deployment support and iterative enhancement
- Familiarity with agile development practices, particularly sprint planning and estimation
- Strong Excel skills