DSM-H Consulting is seeking a Senior Software Engineer who will be responsible for the development of services using Scala and Akka technologies. The role involves complex problem identification and resolution, mentoring team members, and ensuring high standards of software quality within the team.
Responsibilities:
- 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
Requirements:
- Bachelor's degree with 10+ years
- Masters Degree with 8+ years
- 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
- Experience designing well-defined Spring Boot Restful APIs
- 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)
- Passion for technology and an eagerness to contribute to a team-oriented environment
- Demonstrated leadership on small to medium-scale projects impacting strategic priorities