Autonomy Application Architect (C++)
Caterpillar · State of Tamil Nādu, India
Caterpillar · State of Tamil Nādu, India
**Career Area:** Engineering **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. **Role Definition** As an Autonomy Application Architect, you will drive the architectural design of features that are required for Command solutions of Underground Machines. Guide, inspire, and support product-focused software engineering team building. You will set technical direction and ensure high-quality delivery across embedded Linux components of Command Solutions for Underground Machines. **Responsibilities** 1) Hands-On Engineering & Technical Leadership - Own and contribute to architecture and detailed design. - Actively design and contribute to feature development, debugging, and defect resolution. - Lead and participate in design reviews, code reviews, and technical decision-making. - Mentor engineers in modern C++, embedded systems, debugging, and profiling. - Remove technical roadblocks, clarify priorities, and work effectively. - Foster a learning culture and encourage knowledge sharing. 3) Delivery & Process (SDF & Agile) - Ensure strict adherence to the Software Development Framework (SDF). - Guide the team through backlog grooming, planning, integration, and defect triage. 4) Cross-Functional & Cross-Site Collaboration - Collaborate with systems, controls, sensors, and hardware teams. - Work with geographically dispersed teams to drive improvements. - Communicate effectively with product managers and global leadership. 5) Quality, Safety, and Compliance - Uphold rigorous software quality standards. - Ensure proper defect management and release discipline. - Understand safety expectations for machine-impacting software. **Required Technical Skills:** - Strong hands-on C++ experience for embedded development. - Development experience on Embedded Linux. - Understanding of embedded systems, concurrency, and performance. - Experience with design reviews, code reviews, and technical documentation. - Familiarity with sensors and positioning technologies (GNSS, IMU, laser, optical). - Strong Git, CI/CD, and modern software practices. - Exposure to Angular and TypeScript (nice to have). - Bachelor’s or master’s in computer science, Electronics, or related field. - 8–12+ years of software development experience. - 2+ years in technical leadership roles. - This position requires working onsite five days a week. Domain / System Understanding (Preferred) - System-level understanding of Caterpillar machines. - Experience with machine control, robotics, or guidance systems. - Knowledge of industrial safety and field deployment. **Skill Descriptors** **Industry Knowledge:** Knowledge of the organization's industry group, trends, directions, major issues, regulatory considerations, and trendsetters; ability to apply industry knowledge appropriately to diverse situations. Level Extensive Experience: - Educates others on own organization in terms of the industry - its market position - Compares and contrasts the latest developments and emerging issues in the industry. - Raises coworkers' awareness of industry standards, practices and guidelines. - Explains the development of industry segments - trends, consequences, key issues. - Discusses industry-specific cycles and associated considerations. **Problem Solving:** Knowledge of approaches, tools, techniques for recognizing, anticipating, and resolving organizational, operational or process problems; ability to apply knowledge of problem solving appropriately to diverse situations. Level Extensive Experience: - Ensures capture of lessons to be learned from a problem-solving effort. - Organizes potential problem solvers and leads problem resolution efforts. - Uses varying problem-solving approaches and techniques as appropriate. - Contributes to standard practices for problem-solving approaches, tools, and processes. - Analyzes and synthesizes information and devises alternative resolution strategies. - Develops successful resolutions to critical or wide-impact problems. **Software Development Life Cycle:** Knowledge of software development life cycle; ability to use a structured methodology for delivering and managing new or enhanced software products to the marketplace. Level Extensive Experience: - Explains how to use multiple, vendor-provided or in-house structured methodologies. - Describes tasks, tools and practices for converting software product requirements into a design. - Demonstrates experience with all phases and deliverables of the product development methodology. - Implements the generic functions, features and facilities of modern structured methods. - Explores and evaluates major structured methodologies available in the marketplace. - Consults on effective application of structured product development methodologies. **Software Product Testing:** 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. Level Extensive Experience: - Has experience with planning and executing full spectrum of tests for multiple products. - Provides input to design team to ensure testing considerations are incorporated into system design. - Creates test scenarios that ensure all error handling processes perform as expected. - Defines, creates, and executes test plans and cases; estimates time, effort and resources required. - Explains approaches and tools for functional, reliability, and vulnerability testing. - Discusses applications