Senior Embedded Software Engineer (Communication)
Apply now »Date: 26 Oct 2024
Location: Abu Dhabi, AE
Company: EDGE Group PJSC
About EDGE:
EDGE is an advanced technology group established to develop disruptive solutions for defense and beyond. Solving real world challenges, it is dedicated to bringing innovative technologies and services to market with greater speed and efficiency. Our people are at the core of our business, inspiring us to imagine a new world of endless possibilities. Leveraging advanced technologies such as autonomous capabilities, cyber-physical systems and directed energy to artificial intelligence, we recognize that changing the fundamentals of the defense industry will take real collaboration and creativity.
This is why we want you to be a part of our initiative Advanced Concepts. Join us today to enable a secure future.
Key Accountabilities
- Implement layer 1/PHY radio front-end algorithms for running on FPGA or Microcontroller
- Implement layer 2 algorithms for running on Microcontroller
- Develop and maintain bare-metal firmware for microcontrollers based on Cortex-M architectures, such as STM32, NXP LPC, and Microchip PIC families.
- Develop and maintain firmware with RTOS like FreeRTOS, mbed, or ThreadX on microcontrollers
- Implement Linux drivers and kernel modules for custom hardware components.
- Integrate various communication protocols like I2C, UART, SPI, and CAN in both Linux and microcontroller environments.
- Implement Linux client/Server against UDP, TCP or IP.
- Use of programming languages for MCU, such as C/C++ and assembly languages.
- Build of Linux images such as Yocto and FreeRTOS
- Design and generation of BSP for the SoC in use
- Participate in code reviews, ensure code quality, and follow established coding standards.
- Lead and mentor junior engineers, foster a collaborative environment, and share knowledge.
- Stay up-to-date with advancements in embedded technologies and best practices.
- Use of version controlled environment such as Git or SVN
- CI/CD pipeline
- Code writing discipline such as commenting and bug tracking
- Excellent problem-solving, analytical, and debugging skills.
- Strong communication and interpersonal skills, with the ability to collaborate effectively with engineers and other stakeholders.
- Proven ability to work independently and manage multiple projects simultaneously.
- Conduct testing and troubleshooting using oscilloscopes, logic analysers.
Knowledge/Qualification & Experience
- Bachelor’s or master's degree in computer science, communication, electronic, software engineering
- 8+ years of experience in embedded software engineering, C and C++.
- Knowledge and understanding of layer 2 and layer 3 radio front-end algorithm implementation
- Strong understanding of ARM64 and Cortex-M architectures.
- Knowledge in Linux driver and kernel development.
- Knowledge with bare-metal firmware development for microcontrollers like STM32, NXP LPC, and Microchip PIC families.
- Knowledge with RTOS like FreeRTOS, mbed, or ThreadX on microcontrollers
- Knowledge of I2C, UART, SPI, and CAN protocols and their implementation in both Linux and microcontrollers.
- Strong problem-solving, analytical, and debugging skills.
- Strong communication and interpersonal skills, with the ability to collaborate effectively with engineers and other stakeholders.
- Proven ability to work independently and manage multiple projects simultaneously.
Job Segment:
Embedded, Front End, Testing, Computer Science, Linux, Technology