Java Developer, Controls & Automation

Location: Warrendale

Job Type: Full Time / Permanent

We’re an indispensable partner to the construction, mining, forestry, forklift, and industrial machinery markets, maximizing value for customers through innovative solutions. With a diverse line of products supported by our advanced IoT technologies, regional distribution channels, and a global service network, we tap into the power of data and technology to enhance safety and productivity while optimizing performance. We support a myriad of markets, including housing, infrastructure, water, pipeline, minerals, automobile, aerospace, electronics and medical, through its many brands and subsidiaries.

Location: Onsite

Key Job Responsibilities: Lead system/architectural design efforts for HMI software and contribute to the development of machine control systems. Develop HMI, data logging, and communication software for on-board and off-board processing in a distributed network architecture that includes real-time embedded control devices. Implement embedded data collection systems for IoT integration. Complete of all aspects of software development for assigned work items including requirement review, effort estimation, design, reviews, programming, functional testing, and release. Comply with version management, programming standards, and development branching policies using Git. Perform reviews and functional testing of peer software as needed to support team based agile software practices. Some domestic and overseas travel is possible.

Predominant Tasks – Software development: 60%, Lead system level development and create work breakdowns needed to develop software system designs. Process multiple work items per iteration from a prioritized agile backlog. Support team based agile methodology by performing peer reviews and testing. Research, system level analysis, and development: 30%, Participate in architectural design and documentation. POC development and analysis. Administrative activities: 10%, Basic administrative, KMC policy training, and HR tasks.

Qualifications/Requirements: 5+ years’ experience developing software associated with machine control required. Experience with Java in industrial control / embedded applications required. Experience developing HMI for machinery including backend databases, middleware, web servers, and supporting applications required. Experience with TCP/UDP networking and distributed control systems required. Familiarity with safety critical system design and industry standards required. Experience with web app development using languages such as JavaScript or Typescript, and frameworks such as React, Angular, or VueJS is a plus. Experience developing real-time embedded machine control software using RTOS and C/C++ is beneficial. Excellent communication skills. Customer-focused, with ability to work in a team environment as well as individually. Detail oriented, consistent, motivated self-starter.