Overview
Skills
Job Details
Position Title : Senior Scala Engineer
Duration : 6+ Months (possible extension)
Location Address : Denver, CO
Experience: 14
Job Description:
Client is looking for a Senior Scala Engineer to join an agile team. The team develops client-facing REST APIs that provide data for IPTV (television over the internet), enabling functionality such as consumer entitlement verification, on/off-net verification, parental control verification, and settings.
The technology stack includes Scala, Scalatra, Memcached, Kafka, MongoDB, Docker, Kubernetes, and Splunk. All code is written in a functional style, and Scala utilizes Futures fully for full asynchronous functionality. The team works at scale, handling hundreds of millions of REST calls per day.
Engineers on this team enhance and develop new microservices, as well as improve existing ones. Projects are usually of considerable complexity and require a mastery of development tools. Engineers are expected to design and implement scalable, dependable systems as needed. As this is a small team, engineers must be self-motivated and capable of handling responsibility and making informed decisions.
MAJOR DUTIES AND RESPONSIBILITIES
Work with high-performing software and applications at the forefront of the digital telecommunications industry.
Translate user needs and business requirements into detailed design, solutions, and functional architecture and specifications.
Design and implement new functionality that is testable and performant with limited oversight and guidance, following best practices and approved code patterns.
Working with the SRE teams establishes a system of monitoring and alerting to measure reliability over time and identify customer-impacting issues in a timely manner, helping teams operate within their error budgets.
Fix vulnerabilities and assess upgrade and patch needs.
Analyze and revise existing system logic and documentation to address identified difficulties.
Explore new and upcoming technologies, compare them with existing products or services, and develop plans and recommendations to address future business needs.
Collaborate with other team members to identify and solve technical problems.
Collaborate with internal customers, technical, and architecture teams to solve complex software problems.
Mentor and coach junior team members.
REQUIRED QUALIFICATIONS
Strong development experience with Scala
Understanding of MongoDB or other NoSQL databases
Containerization: Experience with Docker, Kubernetes, Helm, Istio, Argo or other containerization technologies
Kubernetes: Knowledge of Kubernetes deployment, scaling, and management on AWS or other cloud platforms
Monitoring & Logging: Familiarity with monitoring and logging tools like Datadog, Splunk
Experience using AWS managed services
Experience with caching architectures, particularly Memcached or Kafka
Knowledge of API documentation, especially Swagger (OpenAPI)
Experience using CI/CD automation (Jenkins, Gitlab)
Skills/Abilities and Knowledge
Can multitask and quickly pivot to changing priorities and tight deadlines.
Can assess a problem and determine an effective course of action with sustainable solutions.
Can handle multiple assignments simultaneously and is accountable for the tasks assigned.
Proven ability to digest complex tasks and provide technical and software solutions to measure and report on real-time issues and performance analysis.
Ability to read, write, speak and understand English
Ability to perform duties in a very fast-paced environment and ability to learn new technology quickly
Strong experience working with DevOps engineers to build and deploy infrastructure with cloud deployment technologies.
Strong Understanding of Scrum/Agile development methodologies.
Capable of delivering on multiple competing priorities with little supervision.
Experience with building, designing REST APIs and API security (OAuth2, JWT)
Strong unit and integration testing practices.
Monitor, troubleshoot, and optimize the performance of services and API endpoints.
Knowledge of functional programming and reactive patterns
Experience with software security principles and patterns.
Ability to collaborate with and contribute to a common culture of excellence.
Experience with test-driven development and automated testing frameworks.
Must be capable of delivering on multiple competing priorities with little supervision