Embedded Software Developer
HKA Enterprises
- Indianapolis, IN
- Permanent
- Full-time
- Design and implement software solutions to address business needs
- Provide software designs and documentation to the development team
- Help systems engineers determine and design system specifications & standards
- Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts
- Collaborate with SPO & Scrum Master to create and maintain agile stories
- Participate in product cyber security reviews
- Participate in Change Control Board (CCB) meetings to prioritize new features & defects
- Drive code quality initiatives through best practices including code reviews, unit test, functional/integration testing, and CI/CD Integration
- Provide technical support to the Software Product Owner and the entire project team
- Keeps up to date on the newest technological innovations in the field and be ready to apply relevant innovations
- Support weekly project reviews and governance milestone reviews
- Experience with open-source code, communities, and licenses
- HVAC Controls Systems experience.
- Bachelor’s degree in engineering
- Minimum 5+ years of experience in the design and development of embedded firmware
- Master’s degree in engineering
- Demonstrable C/C++ programming skills with emphasis on its use in embedded systems
- Strong hardware/electrical knowledge. You should know how to evaluate if your firmware is working as expected by probing the hardware (e.g., oscilloscope, logic analyzer, etc.)
- Demonstrated knowledge of firmware development best practices (code reviews, test, SCM, Git, etc.)
- Experience with industrial IoT protocols (TCP/IP, DNS, DHCP, HTTP, REST, MQTT) with a focus on embedded products
- Experience with one or more wireless technologies (Bluetooth, BLE, Zigbee, Zwave, 802.11, 802.15.4, LoRa, Cellular)
- Experience with common wired messaging architectures (UART, RS232/485, I2C, SPI)
- Experience with IoT / Embedded systems’ standard modules - bootloaders, OTA, firmware applications and integration with cloud services
- Experience with one or more embedded GUI frameworks (QT, Crank, LVGL)
- Understanding of cyber security technologies and best practices (encryption, key management, certificates/exchanges, HMACs, PKI, HSMs, Secure Boot)
- Experience in the use of Jira/Confluence, ADO or other requirements management tool experience