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.
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 Senior Software Engineer you will
contribute to design, development and deployment of Caterpillar’s
state-of-the-art digital platform.
- Competent to perform all software 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
- 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
- Communicate with end users and
internal customers to help direct development, debugging, and testing of
application software for accuracy, integrity, interoperability, and
- Performs integrated testing and
customer acceptance testing of components that requires careful planning
and execution to ensure timely, quality results.
- Position requires a four-year degree form accredited college or university
- Three (3+) Years of experience with .NET core services and webapi development
- Two (2+) Years of experience with Docker containers and deployment via Kubernetes, Swarm,
Top candidates will also have:
Proven experience in some of the following:
Designing, developing, deploying and maintaining software at
Developing software applications using relational and Nosql
Application architectural patterns, such as MVC, Microservices, Event-driven
Deploying software using CI/CD tools such as Jenkins Azure
Deploying and maintaining software using public clouds such as
AWS or Azure.
Strong understanding and/or experience in some of the following,
Batch or stream processing systems such as Apache Spark, Flink,
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
Test driven development and behavior driven development.
Datastores such as MongoDB, Cassandra, Redis, Elasticsearch,
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