Senior Software Engineer/Akka/Scala Developer - 962
Role details
Job location
Tech stack
Job description
As a Senior Software Engineer you will be is responsible for development of services using Scala and Akka technologies. The responsibilities include the following:
-
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.
Interaction with team:
- Currently, team consists of around 20 people with 10 of those reporting to WD.
Requirements
Bachelor's degree with 10+ years
- Masters Degree with 8+ years
Required Technical Skills
(Required)
· 5+ years of software development experience using Java 8+
· 2+ years of Scala programming experience
· 2+ years of Akka technologies such as Streams, Actors, HTTP, Persistence
Top candidates will also have:
· Proven experience in many of the following:
o Experience designing well-defined Spring Boot Restful APIs
o Experience with design and implementation of high-availability and reliable solutions
o Designing, developing, deploying and maintaining software at scale.
o Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
o Deploying software using CI/CD tools, such as Azure DevOps, Jenkins, etc.
o Deploying and maintaining software using AWS. Other AWS technologies, such as API Gateway, ALB, NLB, Fargate, Lambda, S3, CloudWatch, IAM, CloudFormation, etc
o Developing software applications using relational and NoSQL databases such as PostgreSQL, AWS DynamoDB
o 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