Career Area:
DigitalJob Description:
Big machines require big thinking. Are you looking for your next big challenge?
Cat® Digital is the digital and technology arm of Caterpillar Inc., leveraging the latest technologies to build industry leading digital solutions for our customers and dealers. With over one million connected assets worldwide, our teams use data, technology, advanced analytics, telematics and AI capabilities to help our customers build a better world.
Working with a Fortune 100 leader, you can build your career on a global scale and take advantage of development opportunities with emerging technologies. We’ve created an inclusive environment for you to explore your passions, make an impact and do the work that really matters. Join Us.
JOB PURPOSE:
Join the Cat Digital Application team to build software solutions that integration common services across our application portfolio and other enterprise systems used by Caterpillar customers and dealers. The integration of applications with various Digital Platform capabilities that are built on the latest technologies by adopting industry’s best architecture patterns, security best practices etc. are critical for application’s success and its adoption.
JOB DUTIES:
As a Lead Software Engineer, you will lead the design, development, testing and deployment of software systems and/or applications. Be responsible for overseeing and mentoring junior developers and handle code reviews.
This role will focus ~70-80% on the front-end designing and developing rich user interface applications in Angular.
- Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
- Acts as team leader for development and support groups; provides programming and application/technical leadership, guidance, and assistance to other team members.
- Drives application development focused around delivering business valuable features
- Mentor and assist 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
- Guide the team to develop a structured application/interface code, new program documentation, operations documentation and user guides in a casual, flexible environment
- Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness
- Lead development of new functionality and applications on cross-functional Agile project teams
- Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.
- Works directly on complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls if needed.
- Works independently on complex systems or infrastructure components that may be used by one or more applications or systems.
- 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 from an accredited college or university.
- 10+ years or more of software development experience or at least 7 years of experience with master’s degree in computer science or related field.
- Demonstrated experience leading software engineering projects.
- 6+ years or more of developing customer facing applications using front-end frameworks, libraries ( Angular – preferred / React / Polymer / Vue) and design patterns.
- 6+ years or more of experience coding HTML 5, CSS3, JavaScript and Web components
- 6+ years or more of experience in designing and developing software applications in either Java (preferred), Node.js, Scala or Python, Spring Boot and RESTful API development (preferably Microservices) or at least 5 years of experience in Java or Scala with master’s degree in computer science or related field.
- 3+ years for solid Cloud production experience (preferably AWS) OR a higher-level Cloud training certification (e.g., AWS Solution Architect Associate)
Top Candidates will also have:
- Proven experience in many of the following,
- Designing, developing, deploying and maintaining software at scale.
- Advanced understanding of Angular 9+, JavaScript, and TypeScript
- Strong proficiency with developing responsive, single-page web applications using HTML / CSS
- Developing software applications using relational and NoSQL databases.
- Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
- Deploying software using CI/CD tools such as Jenkins, GoCD, Azure DevOps etc.
- Deploying and maintaining software using public clouds such as AWS or Azure.
- Working within an Agile framework (ideally Scrum)
- Experience in leading DevOps practices for a large program.
- Hands-on experience with Application (web and mobile) Security implementation along with adoption of industry best practices.
- Good understanding and implementation experience of OAuth 2.0 and integration experience with federated Identity
- Deploying Security implementation experience as part of DevOps process.
- Understanding and/or experience in many of the following,
- 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 Assertible
- Test driven development and behavior driven development.
- Hands on experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines.
- Datastores such as MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle.
- Debugging and maintaining software in Linux or Unix platforms.
- Understanding of front-end state management libraries
- 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 Electrical engineering or related field is required
Additional Details:
This position has the option to be based out of either our Chicago, IL; Peoria, IL or Dallas, TX offices with a flexible hybrid work environment.
#LI-Hybrid
#BI
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 .