Career Area:
Business Technologies, Digital and Data
Job Description:
Your Work Shapes the World at Caterpillar Inc.
When you join Caterpillar, you're joining a global team who cares not just about the work we do – but also about each other. We are the makers, problem solvers, and future world builders who are creating stronger, more sustainable communities. We don't just talk about progress and innovation here – we make it happen, with our customers, where we work and live. Together, we are building a better world, so we can all enjoy living in it.
The Cat® Digital group is the digital and technology arm of Caterpillar Inc., responsible for bringing world class capabilities to our products and services. With over 1.5 million connected assets worldwide, we're focused on using data, technology, advanced analytics, and AI capabilities to help our customers build a better world.
Job Summary:
Join our dynamic Equipment Management Division, a pivotal group dedicated to supporting Caterpillar dealers and customers with their equipment management needs. From user onboarding to asset onboarding and fleet management, we ensure seamless operations and exceptional service to the fleet managers at each dealer or customer facilities.
As a Principal Software Engineer, you will be at the forefront of innovation, leading all stages of software development. Your responsibilities will include refining the product vision, gathering requirements, project planning, software system design, coding, testing, release, deployment, and support. This role offers a unique opportunity to shape the future of our products and make a significant impact on our customers' success.
What You Will Do:
- Leading complex projects spanning across multiple system components
- Designing, modifying, developing, writing and implementing software programming applications for target system using agile methods.
- Assist product management with new requirements by conducting feasibility studies, developing proof of concepts (POCs), and troubleshooting larger or overarching concerns.
- Writing source codes for new applications, and/or generating and enhancing code samples for existing applications.
- Mentoring and assisting software engineers, providing technical assistance and direction
- Utilizing automated testing tools to perform the testing and maintenance.
What You Will Have:
- Decision Making and Critical Thinking: Expert knowledge of the decision-making process and associated tools and techniques; ability to accurately analyze situations and reach productive decisions based on informed judgment.
- Effective Communications: Extensive 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.
- Software Product Design/Architecture: Extensive knowledge of software product design; ability to convert market requirements into the software product design. Knowledgeable of the software integration processes and functions; ability to design, develop and maintain interfaces and linkage to alternative platforms and software packages
- Software Product Technical Knowledge: Extensive knowledge of technical aspects of a software products; ability to design, configure and integrate technical aspects of software products. Leveraging the software development tools and activities; ability to produce software products written in Java or systems in line with product requirements leveraging industry standard software development life cycle methodologies.
- Software Product Testing: Extensive knowledge of software product testing; ability to design, plan, and execute testing strategies and tactics to ensure software product quality and adherence to stated requirements.
Considerations for Top Candidates:
- Demonstrated experience leading software engineering projects.
- Domain expertise in key areas of equipment, service, user onboarding authentication and authorization for large equipment manufacturing organization.
- Expert experience in overall backend or full-stack software development (typically 15+ years or at least 13+ years with master’s degree).
- Expert Java (preferred Spring Boot and RESTful API development (preferably Microservices)) (typically 8+ years)
- Expert experience developing customer facing applications using front-end frameworks, libraries (Angular - preferred / React) and design patterns.
- Extensive experience coding HTML 5, CSS3, JavaScript and Web components
- Solid Cloud production experience (preferably AWS) OR a higher-level Cloud training certification (e.g., AWS Solution Architect Associate)
- Proven experience in many of the following:
- 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.
- Understanding of fundamental design principles behind a scalable application.
- Deploying software using CI/CD tools such as Jenkins, GoCD, Azure DevOps etc.
- Deploying and maintaining software using public clouds such as AWS or Azure.
- Working within an Agile framework (ideally Scrum)
- Experience in leading DevOps practices for a large program.
- Hands-on experience with Application (web and mobile) Security implementation along with adoption of industry best practices.
- Good understanding and implementation experience of OAuth 2.0 and integration experience with federated Identity
- Deploying Security implementation experience as part of DevOps process.
- Strong understanding and/or experience in many of the following:
- Experience designing well-defined Restful APIs
- Hands one 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 MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle.
- Debugging and maintaining software in Linux or Unix platforms.
- Must demonstrate solid knowledge of computer science fundamentals like 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
- Excellent communication and presentational skills
- Bachelor’s degree in Computer science or Electrical engineering or related field
What You Will Get:
Working with a Fortune 100 leader, you can build your career on a global scale and take advantage of development opportunities with emerging technologies. We’ve created an inclusive environment for you to explore your passions, make an impact and do the work that really matters. Join Us.
Additional Information:
The preferred location is Peoria, IL, but this has the opportunity to be fully remote in the United States for the right candidate.
About Caterpillar
Caterpillar Inc. is the world’s leading manufacturer of construction and mining equipment, off-highway diesel and natural gas engines, industrial gas turbines and diesel-electric locomotives. For nearly 100 years, we’ve been helping customers build a better, more sustainable world and are committed and contributing to a reduced-carbon future. Our innovative products and services, backed by our global dealer network, provide exceptional value that helps customers succeed.
Visa Sponsorship is not available for this position. This employer is not currently hiring foreign national applicants that require or will require sponsorship tied to a specific employer, such as, H, L, TN, F, J, E, O. As a global company, Caterpillar offers many job opportunities outside of the U.S which can be found through our employment website at www.caterpillar.com/careers.
Posting Dates:
October 9, 2024 - October 15, 2024
Any offer of employment is conditioned upon the successful completion of a drug screen.
EEO/AA Employer. All qualified individuals - Including minorities, females, veterans and individuals with disabilities - are encouraged to apply.
Not ready to apply? Join our Talent Community.