Komatsu is 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. Komatsu supports a myriad of markets, including housing, infrastructure, water, pipeline, minerals, automobile, aerospace, electronics and medical, through its many brands and subsidiaries, including Joy, P&H, Montabert, Modular Mining Systems, Hensley Industries, NTC, and Gigaphoton.
Key Job Responsibilities
- Perform a leadership role in the development of systems, software architectures, hardware devices, and embedded software from concept to production that meet design principles and satisfy established functional requirements for new machine automation, control, and communication capabilities.
- Identify and evaluate new tools, techniques, and technologies that advance the state of machine functionality and development processes.
- Analyze the performance of deployed control systems to identify targeted improvements to functionality, reliability, and resource utilization.
- Perform design reviews and test critical aspects of systems as needed to support team based agile software practices and enforce compliance with standards and architectural frameworks.
- Complete all aspects of software development for assigned work items including requirement review, effort estimation, design, reviews, programming, functional testing, and release.
- Develop software that satisfies programming standards, conforms to architectural structures and design principles, and meets functional requirements.
- Provide instruction and advice to development team members as needed to adopt new technologies, maintain legacy software, and complete projects.
Key Job Responsibilities Continued
- Support version management and development branching policies using Git.
- Expertise in the development of many levels and types of software for real-time embedded and distributed control systems such as device drivers, interface protocols, system services, kernel modifications, boot loaders, abstraction layers, network stacks, operator interfaces, remote controls, operational logic, automation and sequencing, data logging, on-board diagnostics, and off-board analytics.
- Experience or working knowledge of machine autonomy software including perception, data fusion, mapping, path planning, and deep learning.
- Experience developing or using database systems to perform support services for control systems such as event logging, analytics, or interactive HMI functions.
- Experience configuring RTOS kernels and integrating kernels and BSPs with hardware platforms.
- Support general administrative tasks as required by KMC personnel management systems.
- Interact professionally with other customers and domestic/overseas employees.
- Some domestic and overseas travel is possible.
Software development: 60%
- 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.
- Minimum 4-year College Degree in Software Engineering or related field required.
- 13+ years’ experience developing real-time embedded machine control software using RTOS and C/C++ required.
- 2+ years’ experience with Linux and experience with containerization preferred.
- Working knowledge of networking and distributed control systems.
- Familiarity with safety critical system design and industry standards required.
- Knowledge of common machine control sensors, actuators, and other typical control devices required.
- General hands-on experience with engineering tools and processes associated with hardware development, software development, integration, embedded systems validation, trouble shooting, and problem solving is required.
- Familiarity with machine learning and autonomous vehicles is preferred.
- Experience developing with MATLAB, Java, and Python beneficial.
- Experience with database systems and cloud computing is a plus.
- Knowledge of operational excellence / lean six-sigma concepts beneficial.
- Excellent communication skills.
- Customer-focused, with ability to work in a team environment as well as individually.
- Detail oriented, consistent, motivated self-starter.
- Ability to work in a fast paced, deadline focused work environment.