Senior Embedded Software Engineer
Somerset East - South Africa
Job Summary
KEY PURPOSE OF JOB
Join a leading aerospace engineering company in Somerset West as an Embedded Software Engineer and help shape the future of satellite communication. This permanent role focuses on developing and verifying advanced space-grade systems within a collaborative multidisciplinary team environment.
KEY TASKS
The Senior Embedded Software Engineer will be responsible for developing and maintaining high-reliability embedded software for satellite subsystems with emphasis on real-time communication and signal-processing systems:
- Develop all aspects of an embedded system software implementation including creating debugging and testing software as well as supporting hardware integration
- Optimize code for memory efficiency and speed on resource-constrained devices
- Contribute to firmware architecture code reviews and documentation to maintain reliability and scalability
- Research develop and testing of theoretical and conceptual designs
- Work as part of a multidisciplinary team to derive and define software requirements based on system-level requirements
- Create and maintain formal engineering documentation such as specifications test procedures design reports
- Attending requirement and proposal discussions with clients when required
- Other ad-hoc duties as required by company
QUALIFICATIONS & EXPERIENCE
Qualifications:
degree in Electronic Engineering from a recognized institution
Experience (ideally within aerospace or defence industry):
Embedded software/firmware development (C C)
Experience developing device drivers and low-level software for hardware interfaces such as ADC GPIO PWM UART SPI and I2C
Design and implement firmware in C/C for bare-metal and RTOS-based systems (e.g. FreeRTOS)
Experience with version control systems (eg. git) and issue tracking tools (eg Jira Youtrack)
High-reliability electronic product design and realisation (>5-7 years)
Practical experience testing and debugging electronic circuits (>5-7 years)
Additional knowledge areas that would strengthen the application:
Experience with ARM and/or RISC-V microprocessor architectures
Experience with embedded Linux including application development; experience with driver and/or kernel development is a plus
Experience with test automation frameworks and CI/CD pipelines
Experience with Rust
Experience in FPGA firmware development using Hardware Description Languages (HDLs) like Verilog or VHDL
Experience modelling DSP algorithms (FFT filters) and communication waveforms in MATLAB / Python / etc.
Linux administrator proficiency
COMPETENCIES & SKILLS
Positive self-motivated self-starter
Innovative thinker with a strong outside-the-box mindset
Responsible and accountable
Strong team player who collaborates effectively with others
Excellent written and verbal communication skills
Customer-focused approach
Able to persuade and positively influence others
Resilient with the ability to bounce back from challenges
Flexible and able to multitask in a fast-paced ambiguous environment
Resourceful and solution-oriented
Strong self-management skills with the ability to set and manage priorities