Overview
Software Engineer role contributing to the development and deployment of Caterpillar's digital platform, working independently on complex systems and mentoring junior developers.
What you'll do
- Design and implement end-to-end near real-time data movement solutions.
- Work independently on complex systems or infrastructure components that may be used by one or more applications or systems.
- Drive application development focused around delivering business valuable features.
- Maintain high standards of software quality within the team by establishing good practices and habits.
- Identify and encourage areas for growth and improvement within the team.
- Mentor junior developers, fostering a culture of technical excellence, collaboration, and continuous learning.
- Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness.
- Perform integrated testing and customer acceptance testing of components, requiring careful planning and execution to ensure timely, quality results.
- Manage the completion of your own work assignments and coordinate work with others.
- Quickly and correctly identify problems that may not be obvious, and determine the best course of action within departmental guidelines.
- Set priorities and establish a work plan to complete broadly defined assignments and achieve desired results.
- Participate in brainstorming sessions focused on developing new approaches to meeting quality goals.
What you'll need
- Four-year degree from an accredited college or university.
- 5+ years of software development experience, or at least 3 years of experience with a master's degree in computer science or related field.
- 5+ years of experience designing and developing Data Pipelines in Python.
- Bachelor's degree in Computer Science, Electrical Engineering, or related field is required.
- Strong analytical skills.
- Solid knowledge of computer science fundamentals such as data structures, algorithms, and object-oriented design.
- Ability to work under pressure and within time constraints.
- Passion for technology and eagerness to contribute to a team-oriented environment.
- Demonstrated leadership on medium to large-scale projects impacting strategic priorities.
Nice to have
- Proven experience designing, developing, deploying and maintaining software at scale, with good understanding of concurrency.
- Working experience in Python as an Object Oriented programming language.
- In-depth understanding of how Data pipelines work in Big Data.
- Expertise and experience in building large Data Lakes and Data Warehouses (Snowflake preferred).
- Expertise in building end-to-end near real-time data pipelines for OLTP and OLAP.
- Strong architecture exposure for building robust Data Platforms.
- Expertise in SQL and NoSQL databases.
- Message brokers and AWS services such as Kafka/Kinesis, AWS SQS, AWS SNS, Lambda, API Gateway, DynamoDB, Aurora, AWS RDS PostgreSQL.
- Deploying software using CI/CD tools such as Azure DevOps (preferred), Jenkins, GoCD, AWS CloudFormation, etc.
- At least 2+ years of deploying and maintaining software using public clouds such as AWS or Azure.
- Good understanding of AI concepts and latest developments (Gen AI, MCP, ATA, etc.).
- Test driven development and behaviour driven development.
Details
- Location: Chennai, Tamil Nadu.
- Works onsite five days a week.
- Relocation is available for this position.
Read the full description and apply on the company’s own careers page.