Software Designer – Kernel Drivers
Type
Permanent
Category
Software Engineering
Division
Video
Location
Dorval, QC
Job ID
VPG-SFT048
Position summary
Matrox is currently looking for a software designer for its Video products. The candidate will be integrated as a developer into an experienced Scrum team. We are looking for a candidate who is passionate about software development, who enjoys working as part of a team and who wants to deliver high quality products to our customers.
Using the C ++ programming language, you will participate in the design, development and maintenance of cross-platform kernel drivers controlling PCI express cards and that are used by top television broadcasters, post-production facilities, and multimedia producers for broadcast and real-time non-linear editing around the world.
Responsibilities
- Participate in daily scrum meetings, sprint planning, review and retrospective meetings;
- Collaborate with the product owner to fully understand customer requirements;
- Design and develop new functionalities;
- Participate in code reviews;
- Maintain and improve the quality of existing code;
- Create unit tests and integration tests;
- Develop sample applications that demonstrate the use of new features;
- Collaborate with other development teams.
Qualifications
You have the following qualifications:
- Bachelor's degree in Software Engineering, Electrical Engineering with computer science option or Computer Science;
- Strong knowledge of object oriented programming;
- 1 to 5 years of experience in C++;
- Fluent in both French and English (spoken and written);
- Good communication skills.
You master one or more of the following:
- Experience in Agile and Scrum practices;
- Experience in debugging real-time scenarios and in multi-threaded environments;
- Writing multiplatform libraries (Windows/Linux);
- Writing multiplatform kernel drivers (Windows/Linux);
- Hardware knowledge such as PCI express bus, I2C bus, processors architecture, FPGA design
- Experience in UML techniques and practices;
Knowledge of the following tools or technologies is considered an asset:
- JIRA, Agile/Scrum tool;
- Git/ Bitbucket version control and code review;
- Visual Studio, WinDbg;
- GCC, CLANG, CMake, Make (makefiles), bash, gdb, powershell;
- Java, JNI, NetBeans, Eclipse;
- C++11;
- Knowledge of the architecture of the Windows and Linux operating systems;
- Knowledge in networking and its protocols;
- Knowledge of unit test frameworks;
- Knowledge of Microsoft COM technologies.
What can you expect from Matrox?
- A friendly, diverse and team-oriented work environment;
- A rewarding and motivating work experience;
- Several fitness options such as: gym, ice rink, outdoor pool, volleyball and basketball courts;
- A variety of benefits such as: flexible work hours, a tuition reimbursement program and a profit sharing program;
- Cafeteria and daycare are also available on site.
Are you ready to be part of our team?