BlackBerry QNX – Software Developer in Test
City : Ottawa
Category : Software & Systems
Industry : IT
Employer : BlackBerry
Software Developer in Test
Are you interested in working with a talented team that is at the core of everything we do? The QNX Core OS Test Team is seeking talented individuals with a mind for details and passion for quality. You will work at the heart of the most reliable and secure operating system in the world. You will contribute directly to the OS that controls systems in everything from automobiles to internet, from medical devices to space systems, and from manufacturing to nuclear power plants.
Responsibilities include becoming familiar with a kernel feature, development of test cases for such feature (using C programming language) and execution of the test suite in an automated environment which include over 60+ hardware devices representing various hardware architectures. Areas of responsibilities include the Neutrino microkernel, memory management, scheduler, the C library, failure detection and integrity checking. The ideal candidate is an individual with an understanding of how operating systems work, how multi-core CPU architectures are configured and controlled. The candidate should be able to debug complex problems, be motivated and be able to take initiative.
- Working with kernel development team to define 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 specifications 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:
- University degree in computer science, engineering (or equivalent)
- Junior or Intermediate level experience in embedded system testing, design and engineering
- 2+ years as a C developer (in an embedded environment is an asset)
- Strong working knowledge of Python and shell scripting
- Working knowledge of QNX or other embedded operating system
- Familiar with Continuous Integration build systems (Jenkins)
- Familiar with source versioning, problem reporting (SVN, Git, JIRA)
- Knowledge of formal test theory, test methodology
- 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 (i.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