SENIOR SOFTWARE ENGINEER, CAT DIGITAL
JOB DESCRIPTION
Description
Caterpillar is investing in our digital future, and we’re looking for talented and motivated Senior Software Engineers to build a world class platform to host a wide range of applications.
Our iconic products have evolved from mechanical work horses to highly sophisticated, and electronically-controlled worksite solutions. This transformation, along with our smart factories and our integrated dealer network, has a wealth of data ready to be leveraged by our customers and our dealers. We’re generating innovative solutions from millions of data points and hundreds of thousands of IoT connected assets.
JOB DUTIES: As a Software Engineer you will contribute to design, development and deployment of Caterpillar’s state-of-the-art digital platform.
1. Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
2. Works directly on complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls.
3. Works independently on complex systems or infrastructure components that may be used by one or more applications or systems.
4. Drives application development focused around delivering business valuable features.
5. Maintains high standards of software quality within the team by establishing good practices and habits.
6. Identifies and encourage areas for growth and improvement within the team.
7. Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness.
8. Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.
Qualifications
Basic qualifications:
- Position requires a four-year degree from an accredited college or university.
- Five plus years of experience in designing and developing software applications in Java, Javascript, Python (or other programming languages) OR at least three years of experience in Java, Javascript, Python (or other programming languages) with master’s degree
Top candidates will also have:
- Experience designing well-defined Restful APIs
- Hands on experience with API tools such as Swagger, Postman and Assertible
- Experience writing API proxies on platforms such as Apigee Edge, AWS API Gateway or Azure API Gateway
- Experience monitoring and debugging issues on platforms such as Apigee Edge, AWS API Gateway or Azure API Gateway
- Proven experience in some of the following:
o Designing, developing, deploying and maintaining software at scale.
o Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
o Deploying software using CI/CD tools such as Jenkins, GoCD, Azure Devops etc.
o Deploying and maintaining software using public clouds such as AWS or Azure.
o Working within an Agile framework (ideally Scrum)
- Proven experience in some of the following:
o Cloud-based computing using platforms such as AWS or Azure
o Test driven development and behavior drive development
o Hands on Experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines