ONF-NFB

ONF - Jobs

For 70 years, the National Film Board of Canada has been breaking ground in socially-engaged documentary, auteur animation, alternative drama and more!
OCTOBER 23, 2017

SOFTWARE ENGINEER

POSITION NUMBER
: 00021395
POSITION STATUS: Continuous, Full-Time
DIVISION: Finance, Operations and Technology
DEPARTMENT: Research & Development
SALARY RANGE: 10 – $71,517 $91,446
UNION CATEGORY: PIPSC
LOCATION: Montreal


SUMMARY OF DUTIES
As a software engineer, participates in the complete process of each of the phases of software development in R&D, including needs analysis, design, programming, testing and maintenance. As the person responsible for quality assurance, validates the specifications, implements relevant checks in the development process and performs the necessary tests to ensure the quality of the resulting products. With the development team, carries out software programming, exploration, experimentation, integration and optimization of new technologies and applications developed in R&D.

MAJOR RESPONSIBILITIES
  • Validates that the software development process follows good practices and standards governing the technical aspects of programming.
  • Prepares, develops and performs comprehensive test plans and scenarios to ensure the quality, performance and compliance of software to specifications and requirements.
  • In her/his responsibility for quality assurance, in support of the developer architect, develops a coherent vision of the architecture of computer systems and their interactions, ensures that the software effectively fulfils the intended role and proposes changes to the work related to new developments.
  • Assimilates and understands the needs expressed by users by collecting, analyzing and documenting their requests.
  • Develops use cases, writes specifications and validates design in collaboration with the development team, customers and partners.
  • Designs and produces prototypes and proofs of concepts to assess the feasibility and the extent of the development required to achieve an operational product.
  • Carries out software programming, exploration, experimentation, integration and optimization of new technologies and applications developed in R&D.
  • In cooperation with internal partners, plans and carries out an orderly and smooth transition when new systems are in operation and reacts promptly to make the necessary adjustments.
  • Ensures the efficiency of development, long-term code maintainability, integration of changes and, in collaboration with operational teams, tracks deployments of new versions.
  • Participates in maintaining the knowledge of the R&D team in technologies related to software engineering by conducting a technology watch and by learning about recent developments in the industry, follows development standards and technological choices, examines the reliability, performance and ease of integration of new technologies.
  • Shares knowledge with colleagues and offers structured training (documentation, demonstrations) on the tests and developments undertaken.
  • Based on state-of-the-art programming knowledge, researches and advises partners on the best approaches to meeting their needs, provides information on the technical possibilities and limitations of equipment and services as well as on the time and cost involved to decide on the ideal approach to encourage.
  • May act as a responder to users who encounter complex problems during operation.
  • Interacts with various teams and sectors in the organization, must demonstrate professionalism and thoroughness in representing R&D.
  • Participates in the training of support staff and users and the production launch.
  • Drafts operating procedures and documents projects developed to facilitate their transfer to operations and maintenance.
  • Performs some corrective and scalable maintenance work during technology transfer or new feature updates.

REQUIRED QUALIFICATIONS
  • Bachelor's degree in computer engineering/software, must be eligible to become a member of the Ordre des Ingnieurs du Qubec.
  • Minimum of five (5) years' experience in a similar position.
  • Knowledge of image and sound programming libraries.
  • Experience with Groovy/Grails, Java, Python, C/C++, PHP, Spring and Hibernate;
  • Excellent understanding of RESTful HTTP interfaces and design patterns such as MVC, SOA.
  • Good knowledge of good software development practices.
  • Solid experience with version management systems such as SVN or GIT and continuous integration systems such as Jenkins.
  • Knowledge of Tomcat or other application servers, Oracle, MySQL, NoSQL database systems such as MongoDB, ElasticSearch, Redis.
  • Bilingualism essential in both official languages, English and French, written and oral.

PERSONAL QUALITIES
Appropriate personal qualities such as open-mindedness, creativity, sense of innovation and organization, good judgement, attention to detail and teamwork.


Interested candidates with the above qualifications are invited to apply in writing, including a copy of their rsum to rh-hr@nfb.ca, BY NOVEMBER 23, 2017, citing competition number: JS-00021395.

Equal opportunity policy

The NFB is an equal opportunity employer. We will give special consideration to applications received from qualified candidates belonging to any of the following groups: Aboriginal people, visible minorities and persons with a disability.

Date Modified: 2017-09-25

National Film Board of Canada Production
© All Rights Reserved, 2008

Canada