Embedded Software Engineer
Summary
Abra's R&D Embedded division seeks an Embedded Software Engineer in Ra'anana/Jerusalem to develop Python-based software for Linux embedded systems: building interfaces to hardware peripherals and communication buses, debugging hardware/software integration issues, and using AI-assisted development tools to boost productivity.
abra's R&D Embedded division is seeking an Embedded Software Engineer (Python/Linux) to join our team in Ra'anana/Jerusalem!
We are seeking an experienced Embedded Software Engineer to develop software solutions for Linux-based embedded systems. The role involves designing and implementing software that interfaces with hardware components, communication peripherals, and system-level services. The ideal candidate is a hands-on engineer with strong Python skills, experience working in embedded Linux environments, and the ability to independently investigate technical challenges and drive solutions from concept to implementation.
Key Responsibilities:
- Develop software for embedded Linux platforms using Python.
- Design and implement software interfaces for hardware peripherals and system components.
- Integrate and validate communication interfaces and device functionality.
- Investigate, debug, and resolve software and hardware integration issues.
- Collaborate with multidisciplinary engineering teams.
- Utilize AI-assisted development tools to improve productivity and software quality.
- Document software design and implementation.
Requirements
- B.Sc. in Computer Science, Software Engineering, or a related discipline.
- 3+ years of software development experience with Embedded Python/C++ programming skills and tools development.
- Hands-on experience working with Embedded Linux environments.
- Experience interfacing with hardware devices and peripherals through software.
- Ability to read hardware specifications and datasheets and implement software APIs accordingly.
- Understanding of low-level communication protocols such as I2C, SPI, UART, and Ethernet.
- Practical experience using modern AI-assisted development tools (such as GitHub Copilot, ChatGPT, Cursor, or similar) as part of the software development workflow.
- Strong troubleshooting, debugging, and investigative skills.
- Self-driven engineer capable of independently driving technical investigations, identifying information gaps, and collaborating with stakeholders to resolve them.
Advantages:
- Experience developing hardware diagnostics, validation, test, or board bring-up tools for embedded systems – big advanate.
- Experience with gRPC and Protocol Buffers (Protobuf).
- Experience with FPGA-based systems, PCIe, ADCs, or clocking devices.
- B.Sc. in Electrical Engineering.
- Experience working with lab equipment such as logic analyzers, oscilloscopes, or JTAG debuggers.
