Skip to main content
Digital & Analytics Card@2X

Digital

Senior Software Engineer (Scala / Data Streaming)

Location Chicago, Illinois, United States of America
Date Posted
Contract Type Full time
Job Type Regular
Requisition ID R0000145016

Career Area:

Digital

Job Description:

As a Senior Software Engineer, you will build platform notification services that enable Caterpillar customers to be alerted for events that are critical to efficiently operate Caterpillar engines and machines.

JOB DUTIES:

As a Senior Software Engineer you will be is responsible for development of services using Scala and data streaming technologies. The responsibilities include the following:

  • 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
  • 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
  • Mentors and assists 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
  • Guides the team to develop structured application/interface code, new program documentation, operations documentation and user guides in a casual, flexible environment
  • Communicates with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness
  • Performs integration 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.

Basic qualifications:

  • Position requires a four-year degree in Computer Science or related field from an accredited college or university.
  • 5+ years of software development experience using Java 8+
  • 2+ years of Scala programming experience
  • 2+ years of experience with data streaming technologies such as Akka Streams, Spark Streaming, Flink, Kinesis, Kafka, etc.

Top candidates will also have:

  • Experience designing well-defined Restful APIs
  • Strong understanding of data structures and algorithms
  • Experience with design and implementation of high-availability and reliable solutions 
  • Designing, developing, deploying and maintaining software at scale.
  • Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
  • Deploying software using CI/CD tools, such as Azure DevOps, Jenkins, etc.
  • Deploying and maintaining software using AWS. Other AWS technologies, such as API Gateway, ALB, NLB, Fargate, Lambda, S3, CloudWatch, IAM, CloudFormation, etc
  • Developing software applications using relational and NoSQL databases such as PostgreSQL, AWS DynamoDB
  • Working within an Agile framework (ideally Scrum)

#LI-Hybrid

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 .


LET’S DO THE WORK

Keep up with the latest jobs and Caterpillar news.

JOIN TALENT COMMUNITY
Talent Community@2X