Design and develop embedded software (firmware) for embedded systems consisting of: Analog, Digital, and RF circuits for a wide variety of applications.
Investigate, debug, and modify existing code.
Develop and troubleshoot Linux user-space applications.
Work with existing development libraries or creating them as needed.
Develop standard and custom communication protocols for new systems.
Document embedded software design and implementation.
Contribute to routine software design reviews,code reviews, and software testing, as well as the software release process.
Participate in verification and validation testing, work closely with validation teams to develop test plans.
Collaborate with Hardware and FPGA Engineers to test, debug, and validate firmware.
Highly Desired:
Provide support in software releases for clients and manufacturing.
Troubleshoot software issues at customer sites.
Requirements
Minimum 8+ years of experience as an embedded software engineer.
Understanding of layered design and state machine implementation.
Design to Manufacturing experience
Prioritization and time analysis for real-time applications.
Extensive experience with embedded Linux design:
Customizing the Linux bootloader
Kernel and device tree configuration.
Develop and troubleshoot Linux drivers/customize existing ones.
Linux filesystem configuration.
Understanding of network socket programming, interprocess communication, pipes, memory mapping.
Extensive experience in:
C, C++, Python, bare-metal ,RTOS, Low-level drivers and BSPs (memory, I2C devices, SPI devices, MCU peripherals, etc.), Yocto/buildroot build frameworks, GIT version control system, JIRA tools.
Excellent communications skills
Ability to collaborate with multiple team members onsite and remotely.
Highly Desired:
Bilingual: Fluency in English
Recuerda que ningún reclutador puede pedirte dinero a cambio de una entrevista o un puesto. Asimismo, evita realizar pagos o compartir información financiera con las empresas.