Senior Software Engineer – Device Drivers or FirmwareLocationMultiple Positions in Canada. 100% Remote work. Preference for those in or adjacent to Eastern Time ZoneRemote WorkingCurrently work is remote, possible expectation to move to office or combined later.Job DescriptionYou will be responsible for the Ethernovia’s Networking devices software stack development this may 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 itselfAs 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.Technical QualificationsBachelors or Master’s degree in Computer Science/Software or related field.Work Experience: 7+ yearsStrong 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.For Firmware roleExperience with Firmware, preferably for communication devices like Ethernet.Experience with Embedded 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.Nice to Have Experience withExperience 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 protocols like Ethernet MAC, PHY, Switching, TCP/IP, Security, Serdes, PCIe, NTB, and SR-IOV.Video processing standards and protocolsCode Version Control and Review tools/processes like Perforce/Git, Swarm.Build systems like Yocto.AUTOSAR Communication StackHigh performance drivers and test tools preferably networking and communications.Virtualization and virtualized device driversMixed Signal systems - Analog, Digital, Digital Signal Processing (DSP).ARM family of processors or similar embedded processors.Bootloaders like uboot or similar.Soft SkillsSelf-motivated and able to work effectively both independently and in a team.Excellent communication/documentation skills.Attention to details.What you’ll get in return:Technology depth and breadth expansion that can’t be found in a large companyOpportunity to grow your career as the company growsPre IPO stock optionsCutting edge technologyWorld class teamCompetitive base salaryFlexible hoursMedical, dental and vision insurance for employeesFlexible vacation time to promote a healthy work-life balance#J-18808-Ljbffr