SENIOR SOFTWARE ENGINEER, CAT DIGITAL at Caterpillar
Cat Digital is the digital and technology arm of Caterpillar Inc., responsible for bringing world class digital capabilities to our products and services. With almost one million connected assets worldwide, we're focused on using IoT and other data, technology, advanced analytics and AI capabilities to help our customers build a better world.
This is position is in Connected Data Quality team in Cat Digital. The team is responsible for building tools, dashboards and processes to enable (E2E) telemetry data quality monitoring, finding source of quality issues and work with process partners to resolve the problems at source.
JOB DUTIES: As a Senior Software Engineer (full-stack) you will be responsible for building scalable, high performance applications that provide actionable insights across all Caterpillar businesses. The position will be part of Caterpillar’s fast-moving and engineering-driven digital organization with highly motivated engineers who tackle challenges and problems that are critical to realizing significant business outcomes. This position will work Product Owners, Data Engineers, Data Scientists, UI Developers, architects and Caterpillar Infrastructure teams to build high performing AWS cloud based application and tools to support Connectivity and Telemetry data quality initiatives.
- Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
- Works directly on complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls.
- Works independently on complex systems or infrastructure components that may be used by one or more applications or systems.
- Drives application development focused around delivering business valuable features
- Mentor and assist software engineers, providing technical assistance and direction as needed
- Maintains high standards of software quality within the team by establishing good practices and habits
- Identifies and encourage areas for growth and improvement within the team
- Guide the team to develop a structured application/interface code, new program documentation, operations documentation and user guides in a casual, flexible environment
- Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness
- Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.
- Employee is also responsible for performing other job duties as assigned by Caterpillar management from time to time.
- Position requires a four-year degree from an accredited college or university.
- 8 years or more of experience in designing and developing software applications in Java or at least 5 years of experience in Java with master’s degree in computer science or related field.
- 3 years or more of developing customer facing applications using front-end frameworks, libraries (Angular / React / Polymer / Vue) and design patterns.
Top candidates will also have:
- 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.
- 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)
- AWS Certification
- Strong understanding and/or experience in many of the following,
- Batch or stream processing systems such as Apache Spark, Flink, Akka, Storm
- Message brokers such as Kafka, Rabbitmq, AWS SQS, AWS SNS, Apache ActiveMQ, Kinesis.
- Experience designing well-defined Restful APIs
- Experience writing API proxies on platforms such as Apigee Edge, AWS API Gateway or Azure API Gateway
- 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 , Snowflake.
- Must demonstrate solid knowledge of computer science fundamentals like data structures and algorithms.
- Ability to work under pressure and within time constraints
- Passion for technology and an eagerness to contribute to a team-oriented environment
- Bachelor’s degree in Computer science or Electrical engineering or related field is required
Visa sponsorship available for eligible applicants.
EEO/AA Employer. All qualified individuals - Including minorities, females, veterans and individuals with disabilities - are encouraged to apply.
Not ready to apply? Submit your information to our Talent Network here .