Principal Software Engineer

Posted 3 Days Ago
Be an Early Applicant
Bangalore, Bengaluru, Karnataka
Hybrid
Artificial Intelligence • Cloud • Internet of Things • Software • Cybersecurity • Industrial
Cat Digital uses digital technologies to help Caterpillar Inc. customers build a better world.
The Role
Performs implementation, regular problem solving, maintenance, and support for agile software development. Responsibilities include designing, modifying, developing, and implementing software programming applications using agile methods, acquiring client requirements, resolving workflow problems, writing source codes, and utilizing automated testing tools. Skills required include Decision Making, Critical Thinking, Effective Communications, Software Development, and Software Development Life Cycle.
Summary Generated by Built In

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.
Role Definition
Performs implementation, regular problem solving, maintenance and support for a agile software development.
Responsibilities

  • Designing, modifying, developing, writing and implementing software programming applications for target system using agile methods.
  • Acquiring client requirements; resolving workflow problems through automation optimization.
  • Writing source codes for new applications, and/or generating and enhancing code samples for existing applications.
  • Utilizing automated testing tools to perform the testing and maintenance.


Skill Descriptors
Decision Making and Critical Thinking: Knowledge of the decision-making process and associated tools and techniques; ability to accurately analyze situations and reach productive decisions based on informed judgment.
Level Working Knowledge:
• Applies an assigned technique for critical thinking in a decision-making process.
• Identifies, obtains, and organizes relevant data and ideas.
• Participates in documenting data, ideas, players, stakeholders, and processes.
• Recognizes, clarifies, and prioritizes concerns.
• Assists in assessing risks, benefits and consideration of alternatives.
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.
Level Working Knowledge:
• Delivers helpful feedback that focuses on behaviors without offending the recipient.
• Listens to feedback without defensiveness and uses it for own communication effectiveness.
• Makes oral presentations and writes reports needed for own work.
• Avoids technical jargon when inappropriate.
• Looks for and considers non-verbal cues from individuals and groups.
Software Development: Knowledge of software development tools and activities; ability to produce software products or systems in line with product requirements.
Level Extensive Experience:

  • Conducts walkthroughs and monitors effectiveness and quality of the development activities.
  • Elaborates on multiple-development toolkits for traditional and web-based software.
  • Has participated in development of multiple or large software products.
  • Contrasts advantages and drawbacks of different development languages and tools.
  • Estimates and monitors development costs based on functional and technical requirements.
  • Provides consulting on both selection and utilization of developers' workbench tools.


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 Working Knowledge:

  • Describes similarities and differences of life cycle for new product development vs. new release.
  • Identifies common issues, problems, and considerations for each phase of the life cycle.
  • Works with a formal life cycle methodology.
  • Explains phases, activities, dependencies, deliverables, and key decision points.
  • Interprets product development plans and functional documentation.


Software Integration Engineering: Knowledge of software integration processes and functions; ability to design, develop and maintain interfaces and linkage to alternative platforms and software packages.
Level Working Knowledge:
• Has experience with designing data exchange interfaces to and from software product.
• Describes tools and techniques for extraction, transformation and loading of electronic data.
• Cites examples of common linkage requirements for software products and vendors.
• Works with integrating software into the customer or partner framework and infrastructure.
• Participates in the development of technology interfaces and bridges.
Software Product Design/Architecture: Knowledge of software product design; ability to convert market requirements into the software product design.
Level Extensive Experience:

  • Demonstrates experience with the architecture and design of major or multiple products.
  • Describes major software architecture alternatives and considerations.
  • Explains design considerations for commercial database systems, operating systems and web.
  • Displays experience in estimating the cost of a specific design of a proposed product.
  • Facilitates design reviews and walkthroughs.
  • Analyzes benefits and drawbacks of specific software designs and architecture.


Software Product Technical Knowledge: Knowledge of technical aspects of a software products; ability to design, configure and integrate technical aspects of software products.
Level Working Knowledge:
• Maintains and utilizes data related to install base configurations and environments.
• Solicits customer feedback; reports and monitors bugs and implementation issues.
• Participates in defining and conducting technical acceptance tests.
• Participates in creating technical requirements for software development and deployment.
• Explains basic environment and product configuration options.
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 Working Knowledge:

  • Participates in test readiness reviews, functional, volume, and load testing.
  • Describes key features and aspects of a specific testing discipline or methodology.
  • Tests software components for compliance with functional requirements and design specifications.
  • Explains procedures for documenting test activities and results (e.g. errors, non-conformance, etc.)
  • Conducts functional and performance testing on aspects of assigned products.


Technical Knowledge: • In depth hands-on experience with modern web frameworks such as React/Angular/Nextjs • Strong Understanding of HTML 5, CSS3, ES6, TypeScript and Web components • Strong understanding of interaction design principles and standard JavaScript Design patterns • Deep understanding of various rendering techniques like SSR, CSR etc • Responsive Web Design and development • Hands on experience of tools like Webpack, Vitejs etc. • Good Understanding of CSS preprocessors like SASS • Good understating of e2e tools like Cypress, Playwright etc. • Hands on cloud-based development in Azure or AWS • In depth hands-on experience in NodeJS • Strong understanding of web performance and tools for performance optimization • Strong understanding of state management libraries like Redux, NRGX • Strong understanding of OWASP Top ten, secure coding practices and principles etc. • Good understanding of Web Accessibility guidelines.
This Job Description is intended as a general guide to the job duties for this position and is intended for the purpose of establishing the specific salary grade. It is not designed to contain or be interpreted as an exhaustive summary of all responsibilities, duties and effort required of employees assigned to this job. At the discretion of management, this description may be changed at any time to address the evolving needs of the organization. It is expressly not intended to be a comprehensive list of "essential job functions" as that term is defined by the Americans with Disabilities Act.
Posting Dates:
November 20, 2024 - November 26, 2024
Caterpillar is an Equal Opportunity Employer (EEO).
Not ready to apply? Join our Talent Community .

The Company
100,000 Employees
Hybrid Workplace
Year Founded: 1925

What We Do

Cat Digital is the digital and technology arm of Caterpillar Inc., responsible for bringing digital capabilities to our world-famous yellow iron. With over one million connected assets worldwide, our teams use data, technology, advanced analytics and AI capabilities to help our customers build a better world.

Why Work With Us

The Cat Digital team is at the forefront of Caterpillar’s evolution. We take pride in solving complex problems by building new systems from the ground up. On our team, you’ll leverage data from across our entire enterprise to find solutions that open a new world of possibilities for our customers and dealers. Join us in building a better tomorrow.

Gallery

Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery

Caterpillar Offices

Hybrid Workspace

Employees engage in a combination of remote and on-site work.

Typical time on-site: Flexible
India

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account