IoT EMBEDDED FIRMWARE DESIGN ENGINEER
Description

     

Summary:


The Embedded   Software Engineer will develop and support our industry-leading   traffic products. The successful candidate will help create innovative products   that enhance pedestrian and traffic safety.

  

JOB   DUTIES:


Include but are not limited to the following:

 

· Designing, developing, coding,   testing, and debugging embedded software.

· Integrating, verifying, and validating   new product designs and design changes.

· Performing design and code reviews.

· Collaborating with cross-functional   teams to design and develop embedded software solutions for IoT projects.

· Implementing, testing, and maintaining   embedded software applications, drivers, and firmware components.

· Working with real-time operating   systems (RTOS) or embedded Linux environments to ensure optimal system   performance.

· Developing and integrating network   stacks to facilitate seamless communication within embedded systems.

· Applying your expertise in   communication protocols (e.g., TCP/IP, MQTT, CoAP) for efficient data   exchange in IoT applications.

· Troubleshooting and debugging software   and hardware issues to enhance system performance and resolve issues.

· Participating in code reviews and   contributing to the improvement of development processes and best practices.

· Staying updated with the latest   advancements in embedded software development, RTOS, and IoT technologies.

· Maintaining and enhancing embedded   software for existing product lines.

· Supporting the Product Support team   with intimate product knowledge.

· Contributing to a fun and innovative   work environment.

Requirements

Experience:

  • Degree in Computer Science, Electrical Engineering, or related field, or 8+ years equivalent experience in embedded systems development without a degree. 
  • Minimum 5+ years of embedded systems development experience, including 2+ years of hands-on experience in connected/IoT projects; college projects are not considered as IoT experience


Skills:

  • Familiarity with various ARM architectures, including microcontrollers and application processors (e.g. Cortex M4, M7, A7, A53).
  • Proficiency in programming languages such as C and C++ for embedded systems.
  • Familiarity with OOP design principles.
  • Real time development experience with and without an RTOS, in resource-constrained environments, Zephyr RTOS and embedded Linux preferred.
  • In-depth understanding of network protocols and communication stacks (e.g. Ethernet) in embedded environments.
  • Hands-on experience with IoT communication protocols (e.g., MQTT, CoAP, HTTP, WebSocket).
  • Familiarity with security considerations in embedded systems, including knowledge of secure coding practices and protocols (e.g., TLS/SSL, x509 certificates).
  • Expertise in cloud connectivity for IoT solutions, with experience integrating devices with cloud platforms (e.g., AWS IoT, Google Cloud IoT, Azure IoT).
  • Ability to implement secure authentication and authorization mechanisms for embedded devices in a cloud environment.
  • Knowledge of version control systems (e.g., Git) and collaborative development workflows.
  • Experience with wireless communication technologies like Wi-Fi, Bluetooth LE, LoRa (preferred).
  • Understanding of secure coding practices and cybersecurity considerations in embedded systems (preferred).
  • Ability to read schematics to troubleshoot, debug and bring up new hardware using oscilloscopes, logic analyzers, protocol analyzers and in-circuit emulators (preferred).


Soft Skills:  

  • Strong problem-solving skills. Highly technical, quickly grasping how things work.
  • Effective verbal and written communication skills.
  • Flexibility and adaptability to evolving project requirements and technological landscapes.
  • Ability to work both independently with minimal supervision, and collaboratively with a cross functional team.
  • Ability to thrive in a fast-paced, collaborative team environment with high visibility, accountability, and development velocity.
  • Differentiates value added activities from waste.
  • Enthusiasm for innovation and a proactive attitude toward learning and adopting new technologies.