Summary
✨ AI‑Generated
Work remotely as a Senior Software Engineer building platform services that deliver critical event notifications. You will develop and maintain scalable microservices using Java and Scala, leverage Akka technologies, design Spring Boot RESTful APIs, and create highly available and reliable solutions. The role calls for extensive professional software development experience and strong architectural skills.
Highlights
Fully remote senior engineering role building scalable notification services, with substantial experience in Java, Scala, Akka, microservices, REST APIs, high availability, and reliable software architecture.
Description
Job Title: - IT Software Engineer 5 (Scala, Akka & Java Microservices)
Location: 100% remote
Request #96962-1
Position’s Contributions to Work Group:
As a Senior Software Engineer, you will build platform notification services that enable Caterpillar customers to be alerted for events that are critical to efficiently operate Caterpillar engines and machines.
Education & Experience Required:
Bachelor’s degree with 10+ yearsMaster's Degree with 8+ years
Required Technical Skills:
5+ years of software development experience using Java 8+2+ years of Scala programming experience2+ years of Akka technologies such as Streams, Actors, HTTP, Persistence
Top candidates will also have:
Proven experience in many of the following:Experience designing well-defined Spring Boot Restful APIsExperience with design and implementation of high-availability and reliable solutionsDesigning, 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, etcDeveloping software applications using relational and NoSQL databases such as PostgreSQL, AWS DynamoDBWorking 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 environmentDemonstrated leadership on small to medium-scale projects impacting strategic priorities
Typical task breakdown:
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 resolutionWorks 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 featuresMentors and assists software engineers, providing technical assistance and direction as neededMaintains high standards of software quality within the team by establishing good practices and habitsIdentifies and encourage areas for growth and improvement within the teamGuides the team to develop structured application/interface code, new program documentation, operations documentation and user guides in a casual, flexible environmentCommunicates with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completenessPerforms 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 Caterpillar management from time to time.