Sr. DevOps Enginner
Reports to: Software Engineering Manager (Platform Engineering)
Our Platform Engineering team:
Enova’s Platform Engineering team creates the tools and continuous delivery/integration
platform that are used by all of our software engineers. Our goal is to ease the processes
by which our engineers build and ship updates and additions to Enova’s globally
distributed microservices platform. We seek pragmatic solutions that are powerful but
not over-engineered. We’re actively seeking a talented DevOps (CI/CD)
Engineer to join our team to help maintain our current system and execute on
our roadmap to evolve our systems in key areas that will facilitate Enova’s rapid pace of
growth.
We speak this language:
We speak the language of full stack open platforms. From the infrastructure
that powers our systems to the operating systems that run our applications,
all the way up to the applications that drive our business. Our current
tooling and CI/CD platforms utilize Jenkins, Chef, Travis CI, AWS and plenty
of bash scripting. Our services are written in Rails/Sinatra or Go. In 2017 we
plan to begin adopting Docker, Kubernetes, Spinnaker, Consul and more.
Responsibilities:
- Work in a team environment, building and supporting our continuous delivery platform and tooling for our software engineers
- Work across functional (development/testing, deployment, systems/infrastructure) and project teams to ensure continuous operation of build and test systems
- Actively participate in the design, implementation and rollout of new frameworks and tools across the Software Engineering department
- Contribute to an atmosphere of cross-functional teamwork within the organization's Agile project life-cycle
- Design and develop features for virtualized development environments, and for build and test deployment systems
- Work to continuously improve speed, efficiency and scalability of the build and test systems
- Lead projects independently or as part of a pairing initiative to ensure its success
- Implement best practices such as code deployment, configuration management and service auditing
- Recognize and recommend new tools or services to solve needs and perform the necessary due diligence and testing of the recommended solutions
- Provide tier 1 support (24x7 on call) for our continuous delivery pipelines (diagnose, troubleshoot, and solve complex problems related to code deployments)
- Maintain infrastructures for Jenkins and Travis installations in a fast paced environment
- Systems automation will be a key function of the role on a day to day basis
You’re right for this job if you:
- Have Bachelor’s degree in Computer Science or equivalent
- Have 5 + years of Unix/Linux systems administration
- Have experience with Continuous Integration and Deployment Pipelines
- Employ a working knowledge of Bash, SH, Ruby and/or Python scripting
- Have experience with virtualization technologies such as VMware or Docker
- Have experience managing high availability CI/CD tooling like Jenkins, Travis CI and similar technologies
- Possess a strong understanding of the problems and considerations of scaling a globally distributed microservices platform
- Maintain a certain degree of flexibility in order to meet the wide variety of needs of a large number of engineering teams
- Are passionate about expanding personal knowledge and staying on the cutting edge of technology
Kudos to you if:
- Have experience with Configuration Management tools (Chef, CFEngine, or similar)
- Have experience working in Amazon Web Services or other cloud infrastructure
- Have experience with Ruby or Ruby on Rails