Duties and Responsibilities:
- Design, prototype, test, and troubleshoot embedded electronics firmware for IoT applications while providing oversight and guidance to junior engineers.
- Develop high-performing and reliable firmware for embedded systems using microcontrollers, sensors, and analog/digital interface circuits.
- Assess and distill marketing requirements into producible and cost-effective products.
- Collaborate with other firmware, software, and hardware design team members to develop innovative products and applications.
- Support new products through release to manufacturing.
- Participate in the definition of system functional requirements.
- Research, assess and adapt to new technologies necessary for future enhancements of products.
- Protect intellectual property through patent disclosures and applications.
- Bachelor of Science in Computer Engineering or Electrical Engineering, or a closely-related discipline.
- 5+ years of embedded firmware programming experience.
- Practical, hands-on knowledge of C programming for embedded systems & Python, including the use of a variety of IDEs for development and debug.
- In-depth experience with embedded microcontroller-based design, including interfacing to analog and digital devices.
- Strong understanding of real-time systems, managing interrupts, threads, scheduling, semaphores, and state machines with and without an RTOS.
- Knowledge of security vulnerability mitigation for embedded devices.
- Experience with wireless networks, including Zigbee, Thread and Bluetooth Mesh.
- Experience creating test harnesses using Python or scripting languages.