Network Driver Developer
City : Waterloo
Category : Software & Systems
Industry : IT
Employer : BlackBerry
BlackBerry® QNX® is a trusted supplier of safe and secure operating systems, hypervisors, frameworks and development tools, and provides expert support and services for building the world’s most critical embedded systems. We are the embedded experts. BlackBerry QNX was born in embedded, and provides time-tested and trusted foundation software, including our deterministic microkernel real-time operating system (RTOS), safety-certified products, middleware and security solutions, all purpose-built for embedded systems.
BlackBerry QNX software is trusted by more than 68% of the Electric Vehicle market by volume, 23 of the top 25 EV manufacturers and is running in more than 195 million vehicles globally. Our foundation products have been pre-certified to ISO 26262 ASIL D and we offer a broad range of board support packages, professional services, AUTOSAR adaptive support and middleware solutions – from acoustic management, to digital cockpits to advanced driving assistance (ADAS) - to accelerate development and help OEMs meet Start of Production (SOP) dates.
Our Engineering Services Development Group is seeking a skilled individual for network driver development for the QNX operating system. The candidate would be assisting customers and partners with integrating network devices with the QNX OS network manager. This includes developing new hardware drivers from vendor documentation, extending existing driver functionality, developing additional PHY management code, and developing ethernet switch managers. The candidate would also be responsible for estimating the scope of the development projects to support sales management. The main scope of responsibility would be driver code development but also includes performance and optimization analysis and support for developed drivers.
The ideal candidate is an intelligent enthusiastic individual with proven experience in embedded network driver development.
*Develop and maintain network drivers
*Interact with hardware vendors for required documentation and support questions
*Provide project estimates for requirements, design, implementation and testing.
*Provide clear communication with development team members, technical leads and management on project status, risks and approaches
*Conduct design reviews, code reviews and unit test with technical peers
*Identify, analyze and resolve potentially complex problems and issues with existing driver implementations
*Liaise with customers regarding product performance, problems, and system design.
Essential Skills and Qualifications:
*Bachelor's degree in Computer Science, Engineering, or equivalent
*4+ years of Software Development experience.
*Experience with relevant programming languages (C).
*Knowledge and experience in some of the following; MDIO, PTP (Precision Time Protocol), networking stacks, IPv4, IPv6, network provisioning and debugging, network protocol analysis
*Experience in embedded and real-time systems development.
*Experience with performance, memory, and post-mortem analysis.
*Experience with safety systems.
*Knowledge of POSIX based operating system
*Experience in low-level Assembly and register-level programming.
*Strong problem solving and debugging skills.
*Excellent communication skills including verbal, written, and interpersonal.
*High degree of motivation and ability to work both independently and in a team.
Scheduled Weekly Hours:40