This position is responsible for the design, implementation and legacy support of software solutions for world class, state of the art beverage dispensing systems. Product development duties include creation and/or modification of software based on documented project requirements. Project scope ranges from legacy product updates to new product designs. Must be able to work with cross-functional “core teams” throughout the product development process.
DUTIES AND RESPONSIBILITIES
- Work with technicians on building prototype assemblies, setting up appropriate testing, evaluating products and developing test procedures.
- Manage and quickly resolve software related product issues on an on-going basis.
- Improve operations and best practices by assisting in process analysis and recommending changes in software development policies and procedures.
- Maintain professional and technical knowledge by continuously reviewing state-of-the-art development tools, programming techniques, and embedded computer hardware.
- Coordinate lifecycle maintenance and management of product software.
- Confirm project requirements by reviewing program objective, input data, and output requirements with supervisor and Product and Project Managers.
- Recognize, identify and challenge barriers that pose a threat to the completion of projects on-time, to requirements and to budget. Communicate within the product management team regarding project status to meet project objectives.
- Work closely with “core teams” during new product inception periods to ensure successful product definition.
- Confirm all software operation and program code by conducting designated design reviews and performing validation/qualification testing.
- Analyze and complete work based on project requirements using established Departmental Product Development Processes and procedures.
- Maintain accurate records by documenting software development and following revision controls guidelines.
- Collaborate in a multi-developer environment.
- Interacts with other departments on a regular basis to ensure that new products, processes, and plans are incorporated into departmental activities as required.
- Comfortable having critical conversation with a focus on positive resolution.
- Able to communicate with individuals of different nationalities and different levels of technical acumen.
- Comfortable giving presentations and reporting progress of assigned tasks to internal and external customers.
- Minimum of Bachelor of Science in Electrical Engineering or related field
- Minimum of 3 years’ experience with emphasis in embedded controls, software development, validation and lifecycle maintenance
- Must possess strong quantitative and analytical skills
- Fluent in C in an embedded control system environment
- Experience with Microchip microcontrollers is a plus
- Experience using Integrated Development Environments (MPLABX/IAR/Code Composer/etc) and software version control tools (ClearCase/GIT/Perforce/Surround/etc)
- Experience with multiple communication protocols including but not limited to RS232, USB, SPI, I2C and software designs using embedded Real-Time Operating Systems (RTOS)
- Knowledge of Linux development and iOS/Android development is desirable but not required