Worker Sub-Type : Student (Fixed Term)
Job Description : POSITION SUMMARY
The QNX USB team is seeking a talented software engineering coop student with an interest in embedded programming and operating systems.
This candidate will be part of a development team responsible for creating software drivers to support next generation hardware on some of the most advanced automotive hardware platforms available.
The successful candidate, will take ownership of various projects and assist the team to further department initiatives.
You will be part of a group of co-ops working with the Core-OS team, coding in C for the operating system. You will also have opportunities to work on other OS projects.
You will receive advanced training on C, operating systems, and QNX, and be paired with a mentor.
Location : Ottawa, Farrar
Length of Term : 4 Months with possible extensions
Create tools in support of team needs
Conduct technical studies of system components
Work on a given project, as outlined by the manager and / or mentor
Work with technical tools, programming languages, and technologies such as JIRA, C, gdb, etc.
Be part of an experienced Engineering squad
Assist in day-to-day activities to help further department initiatives as directed by team mentors and / or management
Attend all Internship program meetings, events, and career development workshops
Protect BlackBerry QNX operations by keeping information confidential
Perform other duties as assigned
SKILLS AND QUALIFICATIONS
Currently pursuing a degree in Computer Science, Computer Engineering, Electrical Engineering, or similar fields of study
Familiar with C and low level programming concepts
Strong problem solving and debugging skills
Desire to learn and explore different areas of Engineering
Effective verbal and written communication skills
Utilizes critical thinking and analytical skills on a regular basis to complete tasks
Uses problem solving skills to overcome issues as needed
Stays organized, while paying close attention to detail before submitting any work
Familiarity with QNX, BSD, Linux or other UNIX-like operating systems.
Familiarity with software debug / analysis tools such as gdb
Understanding of how user level processes work across each layer of the operating system, including process and thread life cycles, memory management, system calls, and inter-process communication
Understanding of operating system concepts, including scheduling, concurrency, and resource management
Understanding of multi-cpu, multi-threaded architectures and real-time systems
Knowledge of operating system architectures
Job Family Group Name :
Business Practices & Operations
Scheduled Weekly Hours :