Senior Scala Software Engineer
Description
Role: Senior
Scala Software Engineer
Location: Chicago,
IL (Hybrid-3 times a week onsite is mandatory)
Work Model
Details: Monday and Wednesday in office
Duration: 10
Months
Shift: M-F,
8am - 5pm
Must Haves:
· 5+ years of software development experience using Java 8+
· 5+ years of Scala programming experience
· 4+ years of Akka technologies such as Streams, Actors, HTTP,
Persistence.
Must Have
Skills/Attributes: AWS, CI/CD tools, Microservices, Scala
Experience
Desired:
Hands-on experience building enterprise backend applications. (8+ yrs),
Scala Programming (3+ yrs),
Akka Framework (Streams, Actors, HTTP, Persistence) (2+ yrs),
AWS Cloud & Microservices Architecture (5+ yrs),
CI/CD & Agile Software Development (3+ yrs)
Job
Description:
Required Education/Experience:
• Bachelor’s degree with 10+ years or Masters Degree with 8+ years
Required Qualifications:
• As a Senior Software Engineer, you will build platform notification services
that enable CLIENT customers to be alerted for events that are critical to
efficiently operate CLIENT engines and machines.
Typical task breakdown:
• As a Senior Software Engineer you will be is
responsible for development of services using Scala and Akka technologies
• Competent to perform all programming, project
management, and development assignments without close supervision; normally
assigned the more complex aspects of systems work.
• Works directly on complex application/technical
problem identification and resolution
• Works independently on complex systems or
infrastructure components that may be used by one or more applications or
systems.
• Drives application development focused around
delivering business valuable features
• Mentors and assists software engineers,
providing technical assistance and direction as needed
• Maintains high standards of software quality
within the team by establishing good practices and habits
• Identifies and encourage areas for growth and
improvement within the team
• Guides the team to develop structured
application/interface code, new program documentation, operations documentation
and user guides in a casual, flexible environment
• Communicates with end users and internal
customers to help direct development, debugging, and testing of application
software for accuracy, integrity, interoperability, and completeness
• Performs integration testing and customer
acceptance testing of components that requires careful planning and execution
to ensure timely, quality results.
• Employee is also responsible for performing
other job duties as assigned by CLIENT management from time to time.
Required Technical Skills:
• 5+ years of software development experience
using Java 8+
• 3+ years of Scala programming experience
• 2+ years of Akka technologies such as Streams,
Actors, HTTP, Persistence
Top candidates will also have:
• Experience with design and implementation of
high-availability and reliable solutions
• Designing, developing, deploying and maintaining
software at scale.
• Application architectural patterns, such as MVC,
Microservices, Event-driven, etc.
• Deploying software using CI/CD tools, such as
Azure DevOps, Jenkins, etc.
• Deploying and maintaining software using AWS.
Other AWS technologies, such as API Gateway, ALB, NLB, Fargate, Lambda, S3,
CloudWatch, IAM, CloudFormation, etc.
• Developing software applications using
relational and NoSQL databases such as PostgreSQL, AWS DynamoDB
• Working within an Agile framework (ideally
Scrum)
• Must demonstrate solid knowledge of Computer
Science fundamentals, such as data structures and algorithms.
• Passion for technology and an eagerness to
contribute to a team-oriented environment
• Demonstrated leadership on small to medium-scale
projects impacting strategic priorities
Nice to Have:
• Experience designing well-defined Spring Boot
Restful APIs
• Experience in functional programming
• Exposure to type level and Zio framework
• Exposure to Reactive Streaming