We are looking for talented Embedded Software Engineers to join our great team on a permanent basis.
A host of embedded software is required right from the early stages of chip design all the way through to delivering a silicon tested board support package to customers.
The Embedded Software team designs, develops, and tests embedded software, typically drivers running on a lightweight RTOS, embedded Linux, or bare metal. We have multiple projects running simultaneously so there can be opportunities to transfer between projects where you identify a new skill that you would like to learn or develop that is in progress elsewhere. We are looking for engineers who are comfortable working right down there close to the hardware on complex SoCs, debugging not only the software but sometimes also teaming up with hardware engineers to debug issues that may well turn out to be the silicon or sometimes the PCB.
The position will be permanent and will be based in Rabat, Morocco.
Why work for Sondrel?
- You will be exposed to cutting-edge technologies.
- Opportunities to work on projects for AI, Automotive, Fintech, IoT, and SSD applications.
- Work for one of Europe's leading concept-to-silicon design centres and play a key role in working on a variety of exciting projects
- Become an integral member of a truly global business with excellent opportunities for continued learning and skill development.
- Developing quality embedded software (typically drivers, tests, scripts and associated documentation) either for internal SoCs or sometimes for external clients
- Adding new features, optimizing code, porting to different architectures.
- Debugging code and embedded system issues, with the support of both the hardware and software teams to root cause problems which may be in the software, the PCB, or the silicon.
- Releasing of software and patches to customers including responding to customer queries
- Maintaining and extending existing continuous integration and testing
- Keeping documentation up to date and sharing key information via wiki pages to spread knowledge throughout the team.
- Developing high quality drivers, tests, infrastructure and other low-level software in C, targeted at embedded platforms. Pre-silicon this will typically be using FPGA, Emulation, Virtual Platforms and simulation to prove the SoC and software work together properly before the design is committed to silicon.
- Post silicon bring up and validation, finding unexpected behaviour, hypothesizing the reason for it, then investigating to root cause and fix or work around the problem (if it cannot be fixed)
- Participation in peer review processes, giving constructive feedback to others and addressing feedback received yourself in a positive manner
- Managing the priorities of the work assigned to you carefully to make the projects succeed
- Where possible we open source our drivers (Familiarity with up-streaming would be useful, but not essential)
Skills and Attributes:
- Excellent C programming language skills
- Must have Embedded Software experience
- Strong problem-solving skills
- Python or Bash Scripting language skills
- Good understanding and experience of git source control
- Good communicator
- Prepared to gather opinions and suggestions on how to solve issues from other members of the team
- Able to use an oscilloscope, or interest in learning such skills
- Very good spoken and written English language skills.
A Degree in a relevant subject is essential for this position.
Remuneration / Benefits:
- Competitive remuneration including a company financial bonus
- Fantastic opportunity to join a rapidly growing cutting-edge design company
- Excellent training and career-progression opportunities with the option for exemplary candidates to lead and manage their own team.
- Seniority Level
- Employment Type