At a Glance
- Tasks: Design and develop cutting-edge embedded software for diverse hardware platforms.
- Company: Join a pioneering tech firm at the forefront of embedded systems.
- Benefits: Attractive salary, flexible working options, and opportunities for skill enhancement.
- Other info: Dynamic team culture with mentorship opportunities and career advancement.
- Why this job: Make a significant impact by innovating software solutions that enhance performance and safety.
- Qualifications: 5+ years in embedded software, expertise in C/C++, and strong collaboration skills.
The predicted salary is between 36000 - 60000 ÂŁ per year.
As Senior Embedded Software Engineer, you will architect, implement, and maintain our hardware‑agnostic and OS‑agnostic on‑board software framework. Your work in collaboration with the AI team will enable integration of any hardware into any bus in less than a day instead of months, ensuring robustness, safety, and performance across Linux and real‑time operating systems.
What You’ll Do
- Platform & Abstraction: Design and develop a hardware‑agnostic HAL and middleware stack in C/C++, supporting ARM Cortex‑A/R/M, RISC‑V, etc. Create OS‑agnostic abstraction layers to target Linux (Yocto/Ubuntu) and RTOS (FreeRTOS, Zephyr, RTEMS) with minimal code divergence.
- Driver & Protocol Implementation: Implement and maintain bus‑protocol drivers (I2C, SPI, UART) with multi‑bus and multi‑instance support for redundancy. Define and adhere to clear software‑to‑hardware interface contracts (ICDs/datasheet‑driven), ensuring consistent behavior across platforms.
- Architecture & Best Practices: Apply OOP principles in C++ and structured design in C to build modular, testable components. Enforce MISRA C/C++ and CERT Secure Coding guidelines; integrate static analysis, code reviews, and Git‑based CI pipelines.
- Automation & Testing: Develop Python scripts to automate configuration of the on‑board software, automate build, flashing, and validation across multiple target boards. Build and maintain hardware‑in‑the‑loop and software‑in‑the‑loop test frameworks to continuously test, validate, and verify the on‑board software and platform compatibility.
- Collaboration & Mentorship: Collaborate with the Software Lead, AI Engineer and Backend team. Mentor junior engineers, share knowledge on cross‑platform strategies, and foster an iterative "try, learn, improve" culture.
Qualifications
- Bachelor's or Master's in Electrical Engineering, Computer Engineering, Computer Science, or equivalent.
- 5+ years of embedded software development, with emphasis on cross‑platform or portable code.
- Expert in C (99/11) and Modern C++ (11/14/17); solid understanding of OOP and procedural design.
- Deep experience with I2C, SPI, UART (multi‑bus, multi‑device patterns).
- Proven ability to develop for both Linux (Yocto, Ubuntu) and RTOS (FreeRTOS, Zephyr, RTEMS).
- Python scripting for coding, build/test automation.
- Familiarity with hardware debugging (JTAG/SWD, logic analyzers, oscilloscopes).
- Strong version control workflow (Git, GitFlow) and CI/CD integration.
Nice‑to‑Have
- Background in satellite or aerospace on‑board computers (OBCs) and Flight Software Frameworks.
- Exposure to container‑based CI for embedded builds (Docker).
- Knowledge of additional field buses (CAN/CAN‑FD, MIL‑STD, etc.).
- Experience with secure boot or firmware‑update mechanisms.
- Prior work on middleware or plugin frameworks.
Senior EmbeddedSoftware Engineer in Birmingham employer: TechBiz Global
Contact Detail:
TechBiz Global Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior EmbeddedSoftware Engineer in Birmingham
✨Tip Number 1
Network like a pro! Attend industry meetups, tech conferences, or even local coding events. You never know who might be looking for a Senior Embedded Software Engineer just like you!
✨Tip Number 2
Show off your skills! Create a portfolio showcasing your projects, especially those involving C/C++ and cross-platform development. This will give potential employers a taste of what you can do.
✨Tip Number 3
Prepare for technical interviews by brushing up on your knowledge of bus-protocol drivers and hardware abstraction layers. Practice coding challenges in C++ to keep your skills sharp!
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets noticed. Plus, we love seeing candidates who are proactive about their job search!
We think you need these skills to ace Senior EmbeddedSoftware Engineer in Birmingham
Some tips for your application 🫡
Tailor Your CV: Make sure your CV highlights your experience with embedded software development, especially in C/C++ and cross-platform coding. We want to see how your skills align with the job description, so don’t be shy about showcasing relevant projects!
Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you’re passionate about embedded systems and how your background makes you a perfect fit for our team. Let us know how you can contribute to our mission of creating robust and efficient software.
Showcase Your Projects: If you've worked on any cool projects related to hardware-agnostic frameworks or real-time operating systems, make sure to mention them! We love seeing practical examples of your work, especially if they demonstrate your problem-solving skills and creativity.
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you don’t miss out on any important updates. Plus, we love seeing candidates who take that extra step!
How to prepare for a job interview at TechBiz Global
✨Know Your Tech Inside Out
Make sure you’re well-versed in C/C++ and the specific technologies mentioned in the job description. Brush up on your knowledge of hardware-agnostic HALs, middleware stacks, and bus-protocol drivers like I2C, SPI, and UART. Being able to discuss these topics confidently will show that you’re the right fit for the role.
✨Showcase Your Problem-Solving Skills
Prepare to discuss past projects where you’ve tackled complex embedded software challenges. Think about how you’ve implemented OOP principles or adhered to coding guidelines like MISRA C/C++. Use specific examples to illustrate your problem-solving process and how you ensure robustness and performance.
✨Demonstrate Collaboration and Mentorship
Since this role involves working closely with AI engineers and mentoring junior staff, be ready to share experiences where you’ve collaborated effectively in a team. Highlight any instances where you’ve shared knowledge or fostered a culture of learning, as this will resonate well with the interviewers.
✨Prepare for Technical Questions and Tests
Expect technical questions that may require you to solve problems on the spot or even write code. Practise coding challenges related to embedded systems and be familiar with Python scripting for automation. This will help you feel more confident and prepared during the technical portion of the interview.