An innovative and customer focus company founded over 50 years that has led the change for laser and plasma cutting solutions on an industrial scale. Today continues its customer-focused innovation techniques leading to the creation of top-of-line industrial products. A growing 100% employee-owned company.
As the Principal Firmware Engineer for the Heavy Industrial Systems team, you will be responsible for developing firmware solutions. You will be designing, testing, and debugging real-time software for advanced industrial cutting products. Integrating these state-of-the-art products with new cloud infrastructure. Working with this leading technology company gives you the ability to create intellectual property that will impact the industry. In a collaborative work environment that promotes empowerment and a positive work-life balance.
Responsibilities
- Integrate real-time software to interoperate with CNC control products over Fieldbus
- Creating software solutions for industrial cutting systems
- Developing firmware for embedded subsystems and software tools for supporting the development and testing
- Develop software programs that controls a specific hardware device attached to a computer
- Integrate real-time software to interoperate with CNC control products over Fieldbus
- Support hardware/software integration and software validation
Qualifications
- BS or MS in either Computer Science or Computer Engineering
- Proficiency with C/C++
- Proficiency with Python
- Sound understanding of software engineering principles, software configuration management tools and processes including defect/version tracking tools (e.g., Git, GitHub, and Fogbugz)
- Understanding of real-time software concerns like multi-threading and concurrency
- Knowledge and understanding of network protocols, including TCP and UDP
- Familiarity with ARM microcontrollers, with or without a RTOS
- Excellent written and oral communication skills
Desired Qualifications
- Prior work experience in ARM embedded software development
- Experience interfacing with peripherals over UART, I2C, SPI and USB
- Ability to read schematics and data sheets for electrical components
- Comfortable with instrumentation such as oscilloscopes, logic analyzers, protocol analyzer, etc.
- Unit testing experience using Google test
- Experience with Jenkins and Test Automation
- Experience with Internet of Things(IoT) development
