What are the responsibilities and job description for the Principal DevOps Engineer position at Feuji?
Position Summary
Working in an agile software development environment, this role is responsible for automating the build-test-deploy lifecycle for a wide variety of applications and services in the cloud. As part of the team, the engineer will focus on enhancing platform services and contributing code to multiple automation projects, and will utilize engineering and programming skills focused on enabling a DevSecOps model, participating with architecture, operations, and engineering teams within agile processes. The role includes systems and solution design within the existing architecture, as well as design and implementation of improvements to meet business needs.
Responsibilities
Working in an agile software development environment, this role is responsible for automating the build-test-deploy lifecycle for a wide variety of applications and services in the cloud. As part of the team, the engineer will focus on enhancing platform services and contributing code to multiple automation projects, and will utilize engineering and programming skills focused on enabling a DevSecOps model, participating with architecture, operations, and engineering teams within agile processes. The role includes systems and solution design within the existing architecture, as well as design and implementation of improvements to meet business needs.
Responsibilities
- Design software infrastructure for distributed, highly available applications
- Support the production of cloud infrastructure by developing the target state cloud architecture and organization model
- Create roadmaps for cloud architecture, support engineering automation efforts including software development and scripting, and develop, implement, and continually improve system and network monitoring projects
- Define platform strategies, adjusting to new technologies and requirements as they evolve
- Drive technical designs, as well as implement/maintain cloud security guidelines
- Monitor AWS products and services, relational and NoSQL databases, object and block storage, scaling, load balancing, and networking efforts
- Identify and solve software and application problems related to performance, scalability, and reliability objectives
- Complete all special projects and other duties as assigned
- Master's or bachelor's degree in engineering, IT, electronics, communication, computer science, or information systems
- 6 years of work experience in the field or a related area with proven enterprise level experience in a software configuration management role, application stack deployment and support experience, and experience as a member of a software project life cycle team
- 5 years of hands-on experience deploying/monitoring cloud-based applications in AWS
- Experience with continuous integration/continuous delivery (CI/CD)
- Experience with deployment automation and orchestration platforms (Jenkins, Bamboo)
- Experience with collaborative version control systems (Git/GitHub/Subversion/Bitbucket)
- Experience with configuration management tools like Terraform, Ansible, CloudFormation
- Knowledge of basic Java/Python deployment constructs in both web and thick client applications
- Experience with virtualization technologies
- CI/CD project management tools: JIRA, Confluence
- Experience with cloud computing and container solutions such as Amazon EC2, Docker
- Experience managing code repositories and best practices as they relate to DevOps
- Experience in orchestration platforms (EKS, OpenShift)
- Experience with scripting languages (Perl, Python, Go) to develop automation tools
- Experience developing applications embracing agile principles
- Strong understanding of software project release automation
- Professional with ability to properly handle confidential information
- Excellent written and verbal communication skills
- Ability to learn and quickly absorb new material
- Strong troubleshooting skills
- Strong organizational skills and adaptive capacity for rapidly changing priorities and workloads
- Ability to work well independently and maintain focus in a highly dynamic work environment
- Comfort working with team members who are remote and located in the US, India, or other geographies