Senior Engineer - Embedded

Legrand

Required Skills

JOB DESCRIPTION

  • Strong experience in Embedded C/C++ programming.
  • Hands-on experience with FreeRTOS development.
  • Strong experience in Embedded Linux system development.
  • Experience in Bare Metal firmware development.
  • BSP development and customization experience.
  • Experience in board bring-up and hardware debugging.
  • Device driver development for embedded peripherals.
  • Strong understanding of ARM Cortex-A/R/M or similar processor architectures.
  • Experience with IPC mechanisms: Message Queues, Shared Memory, Semaphores, Pipes, and Socket-based Communication.
  • Strong knowledge of TCP/IP, UDP, HTTP/HTTPS, MQTT, SNMP, and SSH/TLS.
  • Linux kernel fundamentals, Device Tree concepts, boot sequence, and startup architecture.
  • Strong debugging skills using GDB, JTAG Debuggers, Lauterbach/Trace32, Wireshark, Logic Analyzers, and Oscilloscopes.
  • Experience with Git and version control systems.

Preferred Skills

  • Experience with FreeRtos BSP development.
  • Knowledge of AMP/SMP architectures.
  • Experience with secure boot and embedded security concepts.
  • Familiarity with IoT protocols such as BLE, Zigbee, Thread, Matter, and Wi-Fi.
  • Exposure to cloud-connected IoT devices and edge computing.
  • Experience with CI/CD and automated build systems.
  • Understanding of cybersecurity concepts for connected products.

Responsibilities

Key Responsibilities

  • Develop and maintain embedded software solutions on FreeRtos, Embedded Linux, and Bare Metal platforms.
  • Perform BSP development and customization for new hardware platforms.
  • Lead and support board bring-up activities, including bootloader, kernel, device drivers, and hardware validation.
  • Develop and integrate device drivers for UART, SPI, I2C, Ethernet, USB, GPIO, ADC, PWM, and PCIe peripherals.
  • Design and implement IPC mechanisms, message queues, shared memory, semaphores, sockets, and synchronization primitives.
  • Work on real-time applications with deterministic performance requirements.
  • Develop and optimize embedded applications using C/C++.
  • Configure and customize bootloaders (U-Boot or equivalent).
  • Debug hardware-software integration issues during platform bring-up and product development.
  • Analyze and optimize system performance, memory utilization, boot time, and CPU utilization.
  • Collaborate with hardware, firmware, validation, and system teams throughout the product lifecycle.
  • Participate in architecture reviews, code reviews, and technical design discussions.
  • Support product validation, deployment, and field issue analysis.

Qualifications

Education

Bachelor’s or Master’s degree in Electronics, Embedded Systems, Computer Science, Electrical Engineering, or related field.

Domain

IoT Devices / Smart Home Solutions / Building Automation / Connected Products / Embedded Systems

How to apply

To apply for this job you need to authorize on our website. If you don't have an account yet, please register.