Principal Software Engineer

Posted:
9/25/2024, 1:35:16 PM

Location(s):
Bengaluru, Karnataka, India ⋅ Karnataka, India

Experience Level(s):
Expert or higher ⋅ Senior

Field(s):
Software Engineering

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:

September 25, 2024 - October 1, 2024

Caterpillar is an Equal Opportunity Employer (EEO).

Not ready to apply? Join our Talent Community.

Caterpillar

Website: https://caterpillar.com/

Headquarter Location: Peoria Heights, Illinois, United States

Employee Count: 10001+

Year Founded: 1925

IPO Status: Public

Last Funding Type: Grant

Industries: Construction ⋅ Machinery Manufacturing ⋅ Manufacturing ⋅ Mechanical Engineering