Software Developer Job at National Research Council Canada

National Research Council Canada St. John's, NL

Help bring research to life and drive your career forward with the National Research Council of Canada (NRC), Canada's largest research and technology organization.

We are looking for a Software Developer to support our Ocean, Coastal and River Engineering (OCRE) Research Centre in St. John’s (NL). The Software Developer is someone who shares our core values of Integrity, Excellence, Respect and Creativity. The OCRE Research Centre has extensive expertise researching the effects of ice and waves on ships, structures and shorelines, and is a leader in developing and evaluating tools and technologies for harsh marine conditions. Using numerical modelling tools, simulations, machine learning, field investigations, and world-class model test facilities (including two ice tanks – of which one is the longest in the world – five wave basins and three flumes), we are creating safe, efficient and sustainable solutions to engineering challenges in marine and arctic environments.

Reporting to the Applied Software & Analytics Team Lead, the Software Developer creates and maintains software to advance OCRE's research capabilities, to meet the needs of research and commercial projects, to meet operational needs, and for efficient operation of the research facilities. In collaboration with research and technical officers, the Software Developer creates and maintains applications for a diverse set of activities; several examples follow.

  • Control systems for vessel models, lab equipment, and project specific devices
  • Distributed data acquisition systems for use in facilities, on models, and portable systems for full scale sea trials
  • Acquisition and visualization of complex data sets, often from multiple types of sensors, including real-time data, vessel model test data, environmental data, hydrology data, hydraulics data, and results of simulations
  • Sensor integration and motor control
  • Numerical models (e.g. hydrology), numerical modelling algorithms, desktop simulations (e.g. environmental, vessels in ice), and physical simulations
  • Image processing and machine vision
  • Management of data, data entry, data retrieval and data viewing (e.g. SQL databases)

The Software Developer:

  • Conducts requirements analysis, designs, develops, tests, documents and maintains software for these systems and integrates commercial and in-house software and hardware
  • Ensures that software meets project requirements by adhering to industry standard software development methodologies for the design, development and testing of software
  • Advises and trains users and clients on software related matters (especially software developed by OCRE) and participates in commercialization of research software
  • Uses advanced software technology, tools and standards to advance the Research Center’s capabilities, to enhance operational efficiency and to contribute to the success of research and commercial projects.

Your Challenge (continued)



Key Activities

1. In collaboration with research and technical teams, plans, designs, develops, tests, improves, reviews, and supports in-house software, software for industry-driven research, and software for commercial projects. This includes, but is not limited to, software-hardware systems related to the operation of test equipment, distributed data acquisition, data analysis, presentation of data, control systems, simulation systems, 2D and 3D data and simulation visualizations, report generation, and data management. (65%)

2. Does requirements analysis (elicit, analyze, record) for new software and for improvements to existing software. This requires interaction with key stakeholders, including researchers, facilities technicians, and OCRE clients. Helps prepare estimates of time and cost for specific project tasks. (10%)

3. Ensures efficient and effective software development, quality, traceability, and configuration by using industry accepted software methodologies and tools, including issue tracking, documentation management, testing, and source code revision systems. (5%)

4. Keeps current with new software technologies relevant to OCRE research initiatives. Explores feasibility and applicability of new software technologies and tools, and assists in defining strategic direction for development of software products. Appropriately applies new technologies to software projects. (5%)

5. Writes software documentation, technical reports, technical specifications, lab memos, and trains users to apply software. (5%)

6. Participates in model and possibly full scale test programs in support of software systems. Delivers and/or deploys software solutions to research staff, programs, and clients. (5%)

7. Advises OCRE researchers on the design, programming and testing of software applications. Advises researchers on the commercialization of in-house software. (5%)

Screening Criteria


Applicants must demonstrate within the content of their application that they meet the following screening criteria in order to be given further consideration as candidates:

Education


Bachelor’s degree in Computer Science, Computer Engineering, or Electrical Engineering.

Equivalency of experience and education may be considered for candidates with other Bachelor degrees.


For information on certificates and diplomas issued abroad, please see Degree equivalency

Experience


1. Extensive experience developing desktop software, ideally engineering or scientific applications, involving one or more of the following: desktop graphical user interfaces, control systems, simulations, numerical models, data acquisition, data analysis, data presentation, databases, sensor integration, communication technologies (e.g. serial, TCP/IP), distributed architectures, image analysis, and 2-D (especially data plots) and 3D visualizations.

2. Extensive experience applying programming languages (preferably Python, C++, or C#), programming paradigms (one or more of the following: object-oriented, imperative, declarative, scientific, concurrent, event driven, and modular programming), and development tools (such as revision control systems, issue tracking, unit testing, and UML) to develop technical solutions to complex problems, ideally in coastal engineering, water resources, naval architecture, marine performance, ocean engineering, electrical engineering, or controls engineering.

3. Experience in the full spectrum of software development activities from project conception to deployment (e.g. requirements analysis and specification, design, implementation, verification and validation, documentation, deployment and maintenance) and the application of software engineering methodologies (e.g. agile, traditional) to these activities.

4. Knowledge of and experience in applying mathematical techniques used in physical and numerical simulation/modeling and in the analysis and presentation of data (e.g. statistical methods, time and frequency domain analysis) is considered an asset.

5. Experience developing software that interfaces to hardware devices is ideal. For example, acquiring data from sensors, implementing communication protocols, motor control, device drivers, and writing firmware and software for embedded microprocessor applications is considered an asset.

6. Some experience in web development would be considered an asset (HTML, JavaScript, SQL, etc.)

7. Some experience with analog and digital electronic devices, techniques for analog-to-digital conversion, computer control systems, signal conditioning, radio control, telemetry, and data acquisition would be an asset.

Condition of Employment


Secret (II)

Language Requirements


English


Information on language requirements and self-assessment tests

Assessment Criteria


Candidates will be assessed on the basis of the following criteria:

Technical Competencies


1. Knowledge of software engineering, such as different methodologies and when to apply them, requirements analysis and specification, design, implementation, verification and validation, and deployment and maintenance.

2. Knowledge of programming paradigms such as object-oriented, imperative, declarative, functional, scientific, concurrent, event driven, UI, and modular programming.

3. The ability to develop software that involves some of the following: algorithm development, design patterns, complex data structures, networking, communication protocols, user interfaces, 2-D and 3D-visualizations, simulations, numerical models, concurrent programming, data acquisition, control systems, image processing, distributed architectures, relational databases, and interfacing to hardware devices.

4. Knowledge of programming concepts, programming best practices, and programming languages, such as refactoring, information hiding, cohesion, coupling, interface development, modular design, Python, C++, and C#.

5. Knowledge in mathematical techniques used in physical and numerical simulation/modeling and to analyze and present data (e.g. statistical methods, time and frequency domain analysis) is considered an asset.

6. Basic knowledge of the theory and practical application of analog and digital technologies to data acquisition, signal conditioning, radio control and telemetry is considered an asset.

7. Demonstrated ability in web application development (HTML, JavaScript, etc.) is considered an asset.

Behavioural Competencies

  • Technology support - Results orientation (Level 3)
  • Technology support - Communication (Level 3)
  • Technology support - Client focus (Level 3)
  • Technology support - Self-knowing and self-development (Level 3)
  • Technology support - Conceptual and analytical ability (Level 3)

Competency Profile(s)


For this position, the NRC will evaluate candidates using the following competency profile(s): Technology Support


Relocation


Relocation assistance will be determined in accordance with the NRC's directives.

Compensation


From $89,548 to $112,660 per annum.

An incumbent occupying a position within the CS Group is currently entitled to receive a terminable allowance of $212 per month.


NRC employees enjoy a wide-range of competitive benefits including comprehensive health and dental plans, pension and insurance plans, vacation and other leave entitlements.

Notes

  • A pre-qualified list may be established for similar positions for a one year period.
  • Preference will be given to Canadian Citizens and Permanent Residents of Canada. Please include citizenship information in your application.
  • NRC employees enjoy a wide-range of benefits including comprehensive health and dental plans, pension and insurance plans, vacation and other leave entitlements.
  • The assessment board cannot make assumptions about your Education and Experience. It is not sufficient to say that you have the required qualifications or to list your current or past responsibilities.
  • Candidates must clearly answer all application questions. CV and cover letter will only be used to confirm information detailed in the application. Candidates must provide concrete examples with significant details to explain WHEN, WHERE and HOW you acquired each experience. Be sure to include substantiating details that clearly outline in a maximum of 800 characters, the breadth of experience as well as relevant timelines. The length of time can be important – please include how many months or years you did this work. Resumes will only be used as a secondary source to validate the experience described in the answers to the screening questions. If you are the successful candidate, we will validate the information that you provided by contacting your relevant references at the end of the process.
  • The ability to communicate in writing will be assessed throughout the selection process.
  • Failure to provide appropriate or factual information in the application may result in the rejection of your application.
  • Candidates will not be solicited for incomplete or possible missing information.
  • A pre-qualified list may be established for similar positions for a one year period.
  • Underfills may be considered.
  • The incumbent must adhere to safe workplace practices at all times.
  • We thank all those who apply, however only those selected for further consideration will be contacted.

Please direct your questions, with the requisition number (18121) to:

E-mail: NRC.NRCHiring-EmbaucheCNRC.CNRC@nrc-cnrc.gc.ca

Telephone: 343-597-5095

Closing Date: 5 January 2023- 23:59 Eastern.




Please Note :
optimuspartners.com is the go-to platform for job seekers looking for the best job postings from around the web. With a focus on quality, the platform guarantees that all job postings are from reliable sources and are up-to-date. It also offers a variety of tools to help users find the perfect job for them, such as searching by location and filtering by industry. Furthermore, optimuspartners.com provides helpful resources like resume tips and career advice to give job seekers an edge in their search. With its commitment to quality and user-friendliness, Site.com is the ideal place to find your next job.