SOFTWARE ENGINEER, CAT DIGITAL at Caterpillar
As a Software Engineer in Cat Digital’s Technical Authoring Applications team, you will be responsible for the design, development, and quality assurance of software solutions for a suite of applications utilized to create, manage, and publish product support documentation for Caterpillar machines and engines.
- 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, 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 completeness
- Performs integrated 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.
- Position requires a four-year degree from an accredited college or university.
- 5 years or more of software development experience or at least 3 years of experience with a master’s degree in computer science or a related field.
- 3 years or more of experience in designing and developing software applications in Java or at least one year of experience in Java with master’s degree in computer science or related field.
Top candidates will also have:
- Proven experience in some of the following,
- Demonstrated development expertise with PTC’s Windchill application platform as an architect, administrator, and/or developer.
- Demonstrated development expertise with other PTC Service Lifecycle Management (SLM) tools (Arbortext Publishing Engine, Service Information Manager/Service Parts, Arbortext Editor).
- Prior experience using or programming for 2D & 3D Illustration tools.
- Designing, developing, deploying and maintaining software at scale.
- Developing software applications using relational databases.
- Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
- Working within an Agile framework (ideally Scrum)
- Strong understanding and/or experience in some of the following,
- Prior experience with business processes related to New Product Introduction, Product Support, or Technical Information Authoring.
- Test driven development and behavior driven development.
- Datastores such as MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle.
- Ability to breakdown requirements into project estimates and determine timelines and dependencies with other domains/ projects.
- Ability to actively and constantly collaborate with other employees including product owners, developers, support team, quality-assurance team, leadership, and more.
- Strong ability to troubleshoot, strong interpersonal communications with users and other developers, ability to learn quickly, and ability to work in a team environment.
- Ability to work under pressure and within time constraints
- Passion for technology and an eagerness to contribute to a team-oriented environment
- Bachelor’s degree in Computer science or Electrical engineering or related field is required