This job posting is no longer active.
Location: Peoria, IL, United States
Date Posted: Oct 12, 2020
We are growing our core digital cloud development team at Caterpillar! This is an exciting opportunity to join a passionate team of cloud developers to build new capabilities that deliver revenue and improve the customer satisfaction of our customers.
We are looking for a full-time, in-house developer to design and build new features while looking for innovative ways to differentiate our solution to better compete in the marketplace and drive incremental value for Caterpillar.
This is a great opportunity for you to expand your knowledge, grow your skills and join the digital transformation at Caterpillar!
The Lead OMS Software Engineer role designs & develops new features & functionalities and mentors junior developers to ensure coding standards and quality are met. This role will have an opportunity to work with business & product owners to better understand requirements and collaborate closely other developers to create cross-platform experience using APIs as needed. As part of ongoing maintenance and site reliability, this role will also troubleshoot and analyze complex problems related to performance, availability & site reliability of a highly available, mission critical, global solution to ensure service level commitments are met. This individual must be proactive, highly organized, detail-oriented, and an effective communicator (written and verbally).
Lead OMS Software Engineer, working with IBM Sterling Order Management System (OMS), provides technical leadership in design, development and deployment of Caterpillar’s state-of-the-art digital platform. This position will build a world class platform to host a wide range of digital applications.
JOB DUTIES: Responsibilities of the incumbents are across functional lines with individuals assigned in new program development and/or maintenance of existing mobile, WEB, Cloud, server, personal computer, mainframe, and/or distributed computing systems.
1. Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
2. Acts as team leader for development and support groups; provides programming and application/technical leadership, guidance, and assistance to other team members.
3. Works directly on complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls.
4. Works independently on complex systems or infrastructure components that may be used by one or more applications or systems.
5. Drives application development focused around delivering business valuable features
6. Mentor and assist software engineers, providing technical assistance and direction as needed
7. Maintains high standards of software quality within the team by establishing good practices and habits
8. Identifies and encourage areas for growth and improvement within the team
9. Guide the team to develop a structured application/interface code, new program documentation, operations documentation and user guides in a casual, flexible environment
10. Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness
11. Lead development of new functionality and applications on cross-functional Agile project teams
12. Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.
13. Employee is also responsible for performing other job duties as assigned by Caterpillar management from time to time.
The position manages the completion of its own work assignments and coordinates work with others. Based on past experiences and knowledge, the incumbent normally works independently with minimal management input and review of end results.
Typical customers include Caterpillar customers, dealers, other external companies who purchase services offered by Caterpillar as well as internal business unit and/or service center groups. The position is challenged to quickly and correctly identify problems that may not be obvious. The incumbent solves problems by determining the best course of action, within departmental guidelines, from many existing solutions. The incumbent sets priorities and establishes a work plan in order to complete broadly defined assignments and achieve desired results. The position participates in brainstorming sessions focused on developing new approaches to meeting quality goals in the measure(s) stated.
• Position requires a four-year degree from an accredited college or university.
• Three plus years or more of experience designing and implementing Sterling OMS solutions into existing environments or at least three years of OMS experience with master’s degree in computer science or related field
• Configuration/Administrator level knowledge using Sterling OMS components, API's, related interfaces and configuration.
• Experience in Java/EE and specifically in developing Java based extensions of Sterling OMS.
Top candidates will also have:
• Ability to collaborate with other technical experts and develop solution and functional design documents to support development of final solutions.
• Writing of product extensions and interfaces to ensure proper functionality and integration with other systems.
• Design of business workflows to ensure proper application mapping/flow.
• Proven ability to partner with quality assurance teams to develop and execute automated testing scenarios to support end-user and performance-based testing.
• Experience in Oracle and Middleware technologies.
• Four years or more of experience in a Sterling production support team senior or related role, which includes: Familiarity with WebSphere Commerce.
o Experience with JMS messaging services.
• Additional experience with Sterling WebCallCenter
• Proven experience in many of the following,
o Designing, developing, deploying and maintaining software at scale.
o Developing software applications using relational and Nosql databases.
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)
• Strong understanding and/or experience in many of the following,
o Batch or stream processing systems such as Apache Spark, Flink, Akka, Storm
o Message brokers such as Kafka, Rabbitmq, AWS SQS, AWS SNS, Apache ActiveMQ, Kinesis.
o Experience designing well-defined Restful APIs
o Experience writing API proxies on platforms such as Apigee Edge, AWS API Gateway or Azure API Gateway
o Hands one experience with API tools such as Swagger, Postman and Assertible
o Test driven development and behavior driven development.
o Hands on experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines.
o Datastores such as MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle.
o Debugging and maintaining software in Linux or Unix platforms.
• 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
• Demonstrated leadership on small to medium-scale projects impacting strategic priorities
• Bachelor’s degree in Computer science or related field is required
Relocation assistance is available for this position.
EEO/AA Employer. All qualified individuals – including minorities, females, veterans and individuals with disabilities – are encouraged to apply.