Come join a world class organization and play a keyrole in its digital transformation. Caterpillar is looking for talented and motivated software engineers tobuild a platform to host a wide range of applications from equipment healthmonitoring, fleet management and predictive maintenance. This role will be part of a team dedicated tobuilding reference implementations to both validate and showcase the platformservices to development teams across Caterpillar's digital ecosystem.
Provides application and technical leadership in thedevelopment of Caterpillar's state-of-the-art digital platform. Applies systemssolutions to business/technical problems through customer interactions, and byproviding assistance to less experienced engineers in the design, programming,debugging, testing, and integration/implementation of Caterpillar's IoTplatform.
JOB DUTIES: Thisposition reports to Caterpillar's Manager of Reference Implementations and
Performance/Integration Testing and will serve an important role in helpingcreate an application framework of APIs and reusable components for use across
Caterpillar's application development teams. Responsibilities of the candidates will be across functional lines withclose collaboration with Applications (web and mobile), Data Modeling and DataAnalytics teams.
Competent toperform all programming, project management, and development assignments withoutclose supervision; normally assigned the more complex aspects of systems work.
Acts as teamleader for development and support groups; provides programming and application/technicalleadership, guidance, and assistance to other team members.
Works directly oncomplex application/technical problem identification and resolution, includingresponding to off-shift and weekend support calls.
Works independentlyon complex systems or infrastructure components that may be used by one or moreapplications or systems.
Develops majorsystem modules, programs or integrates infrastructure components based on requirementsgathered from customers.
Performs integratedtesting and customer acceptance testing of components that requires carefulplanning and execution to ensure timely, quality results.
Fullyknowledgeable of the relevant programming languages, program design and specificationdevelopment, programming logic, logic diagrams, system analysis techniques, testing,debugging, documentation standards, file design, storage and internal systemsand cross platform infrastructure components; can provide training on thesetopics for others.
Performs implementationand integration tasks for medium to large, complex in-house developed systemsand/or purchased software solutions.
Assists customerswith documentation, training and usability efforts.
Integratesprocesses across functional organizations.
The position manages the completion of its own workassignments and coordinates work with others. Based on past experiences and knowledge, the incumbent normally worksindependently with minimal management input and review of end results.
Typical customers include internal Caterpillarapplications developers as well as customer and dealer technical staff lookingto make use of Caterpillar platform data and services. The position is challenged to quickly andcorrectly identify problems that may not be obvious. The incumbent solvesproblems by determining the best course of action, within departmentalguidelines, from many existing solutions. The incumbent sets priorities andestablishes a work plan in order to complete broadly defined assignments andachieve desired results. The position participates in brainstorming sessionsfocused on developing new approaches to meeting quality goals in the measure(s)stated.
Position requiresa four year degree from an accredited college or university.
5 plus years ofJava development experience.
3 plus years of web application architectures
3 plus years ofexperience with automated testing tools
TOP CANDIDATES WILL ALSO HAVE:
Goodunderstanding of design patterns (e.g., GoF, JEE and EAI patterns)
Experiencedeploying code in continuous integration, continuous deployment environmentsand tools (e.g., Jenkins, Maven, Hudson or ANT)
Experiencebuilding web applications and web services in open source frameworks
Experience withenterprise messaging systems
Familiarity withdatabase concepts
Strong backgroundin REST web service development
Strongunderstanding of Java best practices, system scalability and performance tuning
Experience usingtechnologies including Java, XML, SQL, JDBC, JSP, Angular JS, React JS, HTML,CSS
Familiarity withtest driven development and behavior driven development concepts
Experiencedesigning and developing reusable components
Experiencedesigning APIs and reference implementations (e.g., SDKs)
Masters Degree inComputer Science, Mathematics or related field.