- Work closely with engineering, operations and testing teams to assure robust code line management, environment availability and smooth production deployments.
- Automate and streamline processes to support continuous integration and continuous delivery.
- Serve the primary owner of build/release tools and processes and drive improvements to ease release management tasks.
- Support environment monitoring and availability.
Accountabilities:
- Define best practices for source code control, branching, and environment/release management.
- Build code management tools for internal use to support software engineering best practices.
- Manage complex branching/merging of repositories to support multiple development streams.
- Deploy releases to various environments (Integration/test/Staging/Production, etc.).
- Work closely with engineering, operations and testing teams to identify the release management needs.
- Evangelize SDLC processes for infrastructure change.
Position Requirements:
- B.S. in Computer Science or related technical discipline.
- Minimum 3 years of experience in a release engineering or DevOps position, ideally working with SaaS offerings or public facing web applications.
- Intimate knowledge of source control systems, specifically with Git/GitHub, and best practices for branching and deployment.
- Solid understanding of containerization and orchestration with experience in tools such as Docker and Kubernetes.
- Solid understanding of build tools such as Jenkins Pipeline, Travis, Maven.
- Expert knowledge of scripting languages such as Python, Groovy, BASH, Go.
- Experience with Agile, Scrum and DevOps concepts. Ability to explain and evangelize cloud computing best practices.
- Strong background in Linux / Unix administration.
- Experience with cloud providers like GCE or AWS is a plus.
- Experience with MS SQL Server database, Atlassian tools including JIRA, Wildfly/JBOSS.
- Understanding of monitoring systems and log aggregators such as ELK.