What are the responsibilities and job description for the Platform Engineer position at Enova International?
About the role:
As a Senior Platform Engineer you would be expected to collaborate with our internal users to set the direction for our internal application platforms. Your previous experience working with Kubernetes will be used to help improve and expand the features offered to engineers on our container platform. You will work with the rest of our Application Platform Infrastructure team to help set our future roadmap and project plans to remove barriers engineers experience launching new services or managing existing services on our platforms and improve the overall experience using these platforms. In addition to platform improvements, you will have an opportunity to mentor and share your knowledge with your teammates and others within the technology organization.
What you'll be doing:
- Provide features and functionality in Enova’s container platform by expanding Kubernetes functionality
- Enable self-service infrastructure management via Terraform and custom tooling
- Mentor and pair with teammates to share learnings
- Distribute technical learnings and knowledge across the technology organization
- Collaborate with software teams in leverage Enova’s application platforms (Containers, Lambdas, VMs)
- Discover and remove barriers for engineers using Enova’s application platforms
- Recommend best practices for Terraform and other Infrastructure as Code uses across the organization
We're excited if you have:
- 3 years building and supporting application platforms or infrastructure
- Experience with containers or Kubernetes infrastructure
- A passion for sharing knowledge and collaborating with others to solve problems
- A data driven approach to problem solving
- A desire to build internal platforms with a focus on self-service and ease of use
- Written internal tooling or services to bridge infrastructure gaps
- An interest in open sourcing internal projects or contributing to open source projects
- Managed AWS Infrastructure with Terraform
About our Application & Platform Infrastructure Team:
Enova’s Application & Platform Infrastructure team is responsible for building and managing shared infrastructure and platforms used to run internal applications. These platforms are built in a manner that enables teams to provision and run applications without depending on our team. The bulk of this provisioning leverages Terraform as that interface to provision services as containers, lambdas, or VMs. Custom tooling is leveraged to smooth out any gaps for managing these services after provisioning. We typically leverage Go, Ruby, or Bash for our tooling, but believe in the right tool for the right job. The domain of our team resides between the application layer and the virtualization layer. As a result, we are only responsible and on-call for the provisioning interface, tooling and the underlying Kubernetes infrastructure.
We balance internal customer feedback and our team’s vision when setting the roadmap and features for these platforms. Our daily work is driven by an agile process owned by our team and improved as needed. We leverage GitHub at the core of this workflow via Issues, Pull Requests, and Project boards. Our work is usually large project based but we try to segment the work into smaller tasks that multiple team members can work on. We leverage slack, video chat, or screen sharing when swarming and pairing on work or incidents. Along with code reviews, this helps ensure that knowledge gets distributed across our team.