San Diego, California
This role involves the oversight of our build infrastructure, our release/deployment process, and the operational aspects of the system as a whole. This role will also be involved in designing and implementing our next generation infrastructure, which will include containerization and orchestration in a cloud environment. You will be responsible for the technical vision and implementation that automates the delivery of code for development teams across the organization. Your passion for code quality, release engineering, and automated artifact/service/image management from development to production environments will set a new standard for continuous delivery for the company. To be successful you will need to have the ability to quickly understand various aspects of the business and how that translates into robust and scalable continuous delivery pipelines. You will need to use your deep experience in delivering features using Agile methodologies, specifically Scrum, for this role. In addition, you’ll use your passion for analytics to measure pipeline effectiveness and optimize when and where needed.
- Develop, modify and debug automation programs with CI/CD servers such as Jenkins
- Develop and deploy tools and technologies to optimize the build times for faster deployment
- Deploy, evaluate, monitor and report on the performance of software on application servers
- Collaborate across engineering teams to improve all aspects the software delivery process
- Collaborate with operations to ensure reliable operation of the project
- Implement code quality analysis tools (e.g., SonarQube) to help improve the quality pipeline
- Design, test and implement build, and deployment automation tools
- Handle code deployments in all environments and promoting code
- Research, design and collaborate on a scalable Continuous Integration and Continuous Delivery tools with teams.
- Define and report on metrics that measure our pipeline effectiveness and optimize the pipeline delivery.
- Research industry standards and best practices with a focus on security, stability, testability, scalability, simplicity, and maintainability and propose opportunities for improvement when applicable
- Enhance existing practices to improve scalability and robustness of product delivery
- Extend build and release infrastructure to improve reliability and reduce test times
- Collaborate with Infrastructure, Development, QA and Product Owner teams to prepare software releases
- Build and maintain CI pipelines using build and release orchestration tools (Jenkins, Bitbucket, Docker, Azure, etc)
- Troubleshoot build and deployment-related issues
- Collaborate with engineering teams to devise code branching strategies, application deployment and rollback strategies, and implementing the development workflow in the CI pipeline
- Improve and encourage development hygiene by incorporating unit testing, code coverage, functional testing, container security scanning, static code analysis within the development workflow
- Experience with engineering related concepts (environment specific configurations, feature flagging, integrating automated tests, etc.)
- Works independently
- Is a team player
- Contributes to the overall team deliverables
- Takes direction from management or other more senior team members
- Requires limited supervision
- Understands the job role and essential functions and can execute on them
- Demonstrates successes in technical proficiency and independent thought. Works on complex problems in which analysis of situations or data requires an in-depth evaluation of various factors. Exercises judgment within broadly defined practices and policies in selecting methods, techniques and evaluation criteria for obtaining results.
- Exercises good judgment in selecting methods and techniques for obtaining solutions.
- Normally receives little instruction on day-to-day work, general instructions on new assignments.
Required Education and Experience:
- Bachelors in Computer Science, or equivalent experience required.
- 10+ years of experience in build and release engineering or equivalent
- 5+ years of experience with source code management and/or Jenkins CI platforms
- Experience with Continuous Build/Integration servers such as Jenkins
- Experience with containerization technologies such as Docker and related orchestration such as Kubernetes (K8s)
- Proficient with design, development and maintenance of Continuous Integration systems
- Intimate knowledge of source code management strategies
- Hands-on with one or more scripting language (Python, Pearl, PowerShell, etc.)
- Expert understanding of source code repositories and various branching strategies
Preferred Education and Experience:
- Jira, Jenkins, bitbucket, Azure
- If you have a github profile or technical blog, we would love to see your work.
- Deep experience deploying and scaling containerized node/react applications.
- Deep experience with platform technologies and tools such as ECS, K8, Serverless, Terraform, etc.