The Software Engineering Manager provides leadership in design, development and deployment of Caterpillar’s state-of-the-art digital platform. This position is accountable for hiring, managing and mentoring a team or multiple teams of software engineers in delivering the common department goals in line with CAT Digital Strategy. The Software Engineering Manager will lead the team that will build a world class platform to host a wide range of applications.
Responsibilities include supervising teams and projects related to developing business and technical solutions and implementing common operating procedures to provide process functionality and the requisite infrastructure to enable effective, efficient, economical services. Directs implementation of hardware and software infrastructure components to maximize common process and minimize costs by efficiently controlling the infrastructure environment.
The position supports the CAT Digital strategy, recognizes the service requirements/needs of dealers and customers, corporate and business unit goals, and gives input to leadership in formulating global concepts, strategies and plans to deliver service solutions.
Typical internal customers include various contacts throughout Caterpillar worldwide and its subsidiaries.
External contacts include various customers, dealers, and vendors throughout worldwide markets. The position is challenged to carefully evaluate problems and provide input into a large number of possible solutions before selecting one option. Problems may be complex and can require the incumbent to develop and monetize new solutions. The incumbent follows general policies and guidelines for projects under his/her control to ensure specific, management goals are met and desired results are achieved. Impacts key quality goals including Customer Satisfaction, Continuous Improvement, and Reoccurring
Revenue, Timeliness, Accuracy, Efficiency, Cost Savings, Process Quality, etc.
The position supervises a work unit of primarily management/professional employees where some review of subordinate work is required as well as training, development and mentoring. The position is responsible for all personnel issues and performance evaluation of subordinates, as well as overall employee satisfaction for the division.
Employee is also responsible for performing other job duties as assigned by Caterpillar management from time to time.
•Position requires a 4 yr degree or equivalent.
•Ten years or more of software development experience or at least eight years of experience with master’s degree in computer science or related field.
•Ten years or more of experience in designing and developing software applications in Java or Scala or at least eight years of experience in Java or Scala with master’s degree in computer science or related field.
•Three years or more of experience in managing software development teams.
•Three years or more of experience in public cloud technologies such as AWS or Azure.
Top candidates will also have:
•Demonstrated leadership on medium to large-scale projects impacting strategic priorities.
•Ability to cope with shifting priorities, demands and timelines through analytical and problem-solving skills.
•Ability to effectively prioritize, delegate responsibilities and execute tasks in a high-pressure environment.
•Proven experience in many of the following,
oDesigning, developing, deploying and maintaining software at scale.
oBatch or stream processing systems such as Apache Spark, Flink, Akka, Storm
oMessage brokers such as Kafka, Rabbitmq, AWS SQS, AWS SNS, Apache ActiveMQ, Kinesis.
oDatastores such as MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle.
oDeveloping software applications using relational and Nosql databases.
oApplication architectural patterns, such as MVC, Microservices, Event-driven, etc.
oDeploying software using CI/CD tools such as Jenkins, GoCD, Azure Devops etc.
oAt least three plus years of deploying and maintaining software using public clouds such as AWS or Azure.
oWorking within an Agile framework (ideally Scrum).
oDebugging and maintaining software in Linux or Unix platforms.
•Strong understanding and/or experience in many of the following,
oTest driven development and behavior driven development.
•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 innovation.
•Bachelor’s degree in Computer science or Electrical engineering or related field is required.
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 .