BlackBerry QNX Senior Software Developer in Test (Networking)
City : Ottawa
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 micro-kernel 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.
The QNX Network Test Team is looking for test developers with networking expertise. You will be part of a test team responsible for validating the functionality and performance of QNX’s embedded networking stack on some of the most advanced hardware platforms available. Your work on validating high quality network communications will be vital to QNX partners and customers in several industry segments including automotive, medical, industrial manufacturing and consumer products.
Technical areas include development and execution of automated testing in the areas of TCP/IP stack control and performance, IPV4/6 handling, IP Security (IPSec) and encryption, DHCP/DNS, FTP, Proxies and firewalls, sockets, packet filtering and access control. The ideal candidate is an individual with an understanding of how operating systems and device drivers work and how CPU architectures/ specific hardware platforms affect OS functionality and performance. The candidate should be able to debug complex problems and must possess the ability to implement new verification and validation techniques.
- Working with the Networking development team to analyze and test new features, investigate and resolve customer reported problems and provide interim testing support for experimental software.
- Creating or updating test plans and test cases based on new product features, customer requirements or identified problems.
- Developing and optimizing automated test cases with continuous improvements in coverage and efficiency
- Providing solid traceability from software requirements to test cases to test results
- Identifying and running a series of tests against new software builds on reference and/or customer hardware
- Analyzing test results, debugging observed issues, generation of defect reports, verifying fixed issues, updating pre-existing defect reports.
- Creating test reports based on test results for internal and external audiences with high attention to detail.
Essential Skills and Qualifications:
- Bachelor’s degree in computer science, engineering or equivalent
- Intermediate level experience in embedded test, design and engineering
- Strong working knowledge of Python, Perl and shell scripting
- Strong working knowledge of C/C++ preferable in an embedded environment
- Working Knowledge of TTCN-3.
- Working knowledge of QNX or another embedded operating system
- Familiar with Continuous Integration build systems (Jenkins, Hudson)
- Familiar with source versioning, problem reporting and constant integration systems (SVN, Git, JIRA, Jenkins)
- Knowledge of formal test theory, test methodology, and ISO9001 quality management.
- Experience in developing automated tests and testing tools.
- Ability to enable automation for manual tests and automate test result processing.
- Able to write clear and concise problem reports
- Familiarity with common processor architectures (.e. 32-bit and 64-bit variants of x86/ARM)
- Ability to work and participate in a team setting with an open, collaborative communication style
- Excellent communication, presentation, and organizational skills are necessary
- Enthusiasm, a passion for quality and a desire to learn about new technologies is a requirement!
Scheduled Weekly Hours:40