Ethernovia is developing the future of Ethernet-based networks to realize the full potential of software-defined and autonomous vehicles. The Senior Embedded Software/Firmware Engineer will be responsible for the development of the software stack for networking devices, including device drivers and firmware, ensuring high standards of safety and functionality.
Responsibilities:
- You will be responsible for Ethernovia’s Networking devices software stack development which will include; Embedded Firmware, kernel/user mode device drivers, stack extensions, debug, and test utilities, as well as automated unit/system testing
- The drivers will integrate with the Communication Stack of a Linux and AUTOSAR Stack
- The device drivers will allow the User application, Middleware and Operating system to take full advantage of the feature rich hardware
- As for the firmware it configures, controls, and monitors the communication device and interacts with the host system via device drivers to expose hardware features of the devices
- Firmware code may also run as a standalone library within the device driver itself
- As a part of the Software team, you will be responsible for architecture, design, implementation, testing, and integration of the device drivers rolled into Ethernovia’s SDK
- These drivers are built ground-up for safety critical automotive application
- Also, we build products with strict adherence to Functional Safety and hence every team member is required to fit into a culture of safety and best development practices
Requirements:
- Bachelors or Master's degree in Computer Science/Software or related field
- Work Experience: 6+ years
- Strong understanding of Software Development lifecycle including Architecture, Implementation and Testing fundamentals
- Proficient in C/C++ Programming Language. Experience in Python is a plus
- Experience with Software Device Drivers, preferably for communication devices like Ethernet
- Deep understanding of Operating Systems, Kernel, Platform/Device drivers, preferably Linux Operating System, QNX or Real Time Operating System
- Experience with integration and testing with Operating System Device Driver Interfaces
- Hands-on experience with Hardware, preferably communication devices
- Experience with Firmware, preferably for communication devices like Ethernet
- Experience with integration and testing of firmware and low-level code
- Hands-on experience with Hardware and embedded processors, preferably for communication devices
- Expertise in efficient code practices for code footprint and performance
- Excellent communication/documentation skills
- Attention to details
- Collaboration across multidisciplinary and international teams
- AUTOSAR Communication Stack
- MCAL
- Experience with simulation and emulation platforms
- GNU or similar compiler, debugging suite
- Embedded programming, preferably with communication devices and hardware buses like I2C, SPI, Ethernet, USB
- Building Automotive or other safety critical systems using qualification methods/processes like MISRA, ASPICE and ISO26262
- Communication/networking protocols like: Ethernet MAC, PHY, Switching, TCP/IP, Security, Serdes, PCIe, NTB, and SR-IOV
- Video processing standards and protocols
- Code Version Control and Review tools/processes like Perforce/Git, Swarm
- Build systems like Yocto
- High performance drivers and test tools preferably networking and communications
- Virtualization and virtualized device drivers
- Mixed Signal systems - Analog, Digital, Digital Signal Processing (DSP)
- ARM family of processors or similar embedded processors
- Bootloaders like uboot or similar