Senior Software Engineer

Caterpillar Caterpillar · Industrial · Peoria, IL +2

This role is for a Senior Software Engineer at Caterpillar, focusing on developing a centralized customer hub for service option data. The role involves designing, developing, testing, and deploying software applications, mentoring junior developers, and working on infrastructure components. While the company mentions AI capabilities and advanced analytics, the core responsibilities of this specific role are centered around traditional software engineering, integration, and cloud deployment, not the direct development or deployment of AI/ML models.

What you'd actually do

  1. A qualified candidate will possess the ability to work independently, design, develop, test and deploy software applications.
  2. Work on functional lines with individuals assigned in new program development and/or maintenance of Cloud, server and/or distributed computing systems.
  3. Will mentor junior developers provide technical assistance as needed, perform code reviews, work directly on complex applications and technical problem identification and resolution.
  4. Will work on infrastructure components that may be used by one or more applications or systems and focused around delivering business value features.
  5. Will create program and operations documentation in a casual, flexible environment.

Skills

Required

  • Software Development Life Cycle
  • Software Integration Engineering
  • Effective Communications
  • Decision Making and Critical Thinking

Nice to have

  • Bachelor’s degree in Computer Science, Software Engineering, Information Technology, or related field.
  • Proven experience designing scalable architecture systems for Java-based applications.
  • Strong experience in Spring Boot framework for building scalable, maintainable applications.
  • Deep expertise in object-oriented design, design patterns, and software architecture.
  • Proven experience architecting and deploying solutions on AWS or Azure cloud platforms.
  • Experience with databases (SQL) and Object-Relational Mapping (ORM) tools such as Hibernate, JPA, or Spring Data.
  • Experience with writing complex SQL queries and creating stored procedures and functions
  • Familiarity with Snowflake data warehouse technology
  • Proficiency in concurrency and multi-threading in Java, with the ability to design and implement thread-safe, high-performance applications.
  • Design, develop, and deploy robust and scalable AI and machine learning (ML) models and algorithms into production environments.
  • Strong knowledge of software integration, data exchange interfaces, and API design and creation.
  • Experience with agile development methodologies and tools.
  • Proficiency in automated testing (Playwright), CI/CD pipelines, and DevOps practices.
  • Experience in mentoring software engineering teams.
  • Experience with microservices architecture and containerization (Docker, Kubernetes).
  • Familiarity with modern front-end frameworks or mobile development is a plus, (i.e. React, Angular , etc.)
  • Certifications in AWS, Azure, or relevant cloud technologies.
  • Experience with commercial database systems and web-based software design.

What the JD emphasized

  • Proven experience designing scalable architecture systems for Java-based applications.
  • Deep expertise in object-oriented design, design patterns, and software architecture.
  • Proven experience architecting and deploying solutions on AWS or Azure cloud platforms.
  • Proficiency in concurrency and multi-threading in Java, with the ability to design and implement thread-safe, high-performance applications.
  • Strong knowledge of software integration, data exchange interfaces, and API design and creation.
  • Proficiency in automated testing (Playwright), CI/CD pipelines, and DevOps practices.