Caterpillar Inc. is looking to build a world-class digital platform hosted on AWS, and the Lead Software Engineer will provide technical leadership in design, development, testing, and deployment of this platform.
Requirements
- Extensive experience software development experience using Java 17 or higher and SpringBoot RESTful API development
- Extensive experience deploying and maintaining software using public clouds such as AWS or Azure.
- Message streaming solutions, such as AWS Kinesis, AWS SQS, AWS SNS, Apache Kafka, RabbitMQ, Apache ActiveMQ, Azure Event Hub.
- Datastores such as AWS Aurora, AWS RDS, AWS DynamoDB, PostgreSQL, MySQL, Oracle, ElasticSearch, MongoDB, Cassandra, Redis.
- Deploying software using CI/CD tools such as Azure Devops, Jenkins, GoCD, etc.
- Working within an Agile framework (ideally Scrum)
- Knowledge of software development tools and activities; ability to produce software products or systems in line with product requirements.
Responsibilities
- As a Lead Software Engineer you will be responsible for designing and developing backend RESTful API web services using Microservices architecture.
- Be responsible for overseeing and mentoring other developers and handle code reviews.
- Acts as team leader for development and support groups; provides programming and application/technical leadership, guidance, and assistance to other team members.
- Works directly on complex application/technical problem identification and resolution.
- Drives application development focused around delivering business valuable features
- Maintains high standards of software quality within the team by establishing good practices and habits
- Guide the team to develop a structured application/interface code, new program documentation, operations documentation and user guides in a casual, flexible environment
Other
- This position requires the candidate to be based in Chicago, IL
- Relocation assistance is NOT available for this position
- Visa sponsorship is available for this position
- Bachelor's degree or higher in Computer Science or related field (not explicitly mentioned but implied)
- Effective Communications: Understanding of effective communication concepts, tools and techniques; ability to effectively transmit, receive, and accurately interpret ideas, information, and needs through the application of appropriate communication behaviors.