Career Area:
DigitalJob Description:
As a Senior Software Engineer, you will contribute to design, development and deployment of Caterpillar’s state-of-the-art digital data platform hosted on AWS.
JOB DUTIES: As a Senior Software Engineer you will be is responsible for designing and developing backend RESTful API web services using Microservices architecture. 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 Caterpillar management from time to time.
Basic qualifications:
- Position requires a four-year degree from an accredited college or university.
- 7+ years or more of software development experience or 5+ years of experience with a Master’s degree in Computer Science or related field.
- 5+ years of Java 8 or higher and RESTful API development
Top candidates will also have:
- Designing, developing, deploying and maintaining software at scale.
- Developing software applications using relational and NoSQL databases.
- Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
- Deploying software using CI/CD tools, such as Jenkins, Azure DevOps, GoCD, etc.
- Deploying and maintaining software using public clouds, such as AWS or Azure.
- Working within an Agile framework (ideally Scrum)
- Message streaming solutions, such as AWS Kinesis, AWS SQS, AWS SNS, Apache Kafka, RabbitMQ, Apache ActiveMQ
- Experience designing well-defined Spring Boot Restful APIs
- Hands on experience with API tools such as Swagger, Postman and Assertible
- Test Driven Development and Behavior Driven Development.
- Hands on experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines.
- Datastores such as AWS Aurora, PostgreSQL, AWS DynamoDB, MongoDB, ElasticSearch, Cassandra, Redis, MySQL, Oracle
- Other AWS technologies, such as API Gateway, ALB, NLB, Fargate, Lambda, S3, CloudWatch, IAM, CloudFormation, etc
- Debugging and maintaining software in Linux or Unix platforms.
- 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
EEO/AA Employer. All qualified individuals - Including minorities, females, veterans and individuals with disabilities - are encouraged to apply.
Not ready to apply? Submit your information to our Talent Network here .