Caterpillar Inc. is looking to leverage the latest technologies to build industry-leading digital solutions for their customers and dealers, utilizing data, technology, advanced analytics, telematics, and AI capabilities to help customers build a better, more sustainable world. The Senior Backend Software Engineer will contribute to the design, development, testing, and deployment of enterprise API services or distributed systems within this initiative.
Requirements
- Proficient in developing Microservices and Enterprise-grade APIs using Java 11 (preferably Java 17), Spring Boot framework, and RESTful architecture.
- Hands-on experience with AWS services such as Lambda, S3, ECS, Kinesis, API Gateway, and CloudWatch.
- Strong expertise in transactional RDBMS and database versioning e.g. PostgreSQL and Flyway
- Demonstrated success in delivering Proof of Concepts (PoCs) and leading solution design activities.
- Proven ability to build scalable, high-performance, secure, and robust backend systems.
- Familiarity with Generative AI tools like GitHub Copilot, MCP, and AI Agents to enhance productivity.
- Experience with CI/CD tools like Jenkins or Azure DevOps.
Responsibilities
- Develops application solution design working with cross-functional teams.
- Delivers proof-of-concepts (PoCs), conducts feasibility studies, and contributes to solution discovery initiatives.
- Reviews solution design, pull requests and test strategies; handles major technical debt.
- Leads challenging programming and development tasks.
- Works independently on systems or infrastructure components used across applications.
- Drives development of features as feature or module lead.
- Guides structured code development and documentation in a flexible environment.
Other
- Knowledge of the decision-making process and associated tools and techniques; ability to accurately analyze situations and reach productive decisions based on informed judgment.
- 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.
- Knowledge of software development tools and activities; ability to produce software products or systems in line with product requirements.
- Knowledge of software development life cycle; ability to use a structured methodology for delivering and managing new or enhanced software products to the marketplace.
- Excellent communication and presentation skills.