Software Engineer Lead – Quantum Algorithms

Full Time  |  Reports To: Executive Director  |  Posted on May 24, 2022

Software Engineer Lead – Quantum Algorithms

Position Summary

The Software Developer (SD) develops end to end data and software solutions to support the analytics requirements, business workflows, and data management of the Quantum Algorithms Institute (QAI). The role designs, develops, deploys and operationalizes secure software applications and big data techniques to streamline, automate, and improve business process workflows, and integrates data across multiple sources for analysis, reporting, decision making, and performance optimization. The SD ensures application security and proper handling of private and sensitive business data across the pipeline of applications and solutions. The position leads projects from conception to implementation and consults with business managers and leaders to ensure that the solutions meet the needs of the client.

Duties and Responsibilities

  1. Manages all aspects of analysis, design, configuration, deployment, implementation, and documentation of the suite of research intelligence software and web applications by:

    • Leading efforts to architect, engineer and implement front-end and back-end application components, including API design, user interface, statistical reports, and data visualization
    • Designing and administering databases, using hybrid technologies, including relational (SQL) and non-relational (e.g. MongoDB) solutions
    • Delivers solutions with the highest level of security, privacy, and quality (i.e., ensuring network security and access, requirements gathering, defining specifications, developing code, implementation/deployment, testing, debugging, documentation, determining backup/recovery procedures, and system administration)
    • Ensuring applications meet specifications; and conducting a detailed review and analysis of
      specifications, design, development, implementation, upgrades, and ongoing technical support
    • Drafting and maintaining an up-to-date, detailed developer and user documentation on all software applications
    • Interfacing with clients to manage releases of new functionality and resolution of issues
    • Providing technical expertise, training and consultation to other users and technical staff
    • Overseeing the work of coop students; assigning/scheduling tasks, providing direction, guidance,
      coaching, mentorship, performance feedback and team leadership
  2. Provides functional and technical expertise to clients by:

    • Ensuring a thorough understanding of business processes and requirements
    • Engaging with various stakeholders from academia, government, and industry to achieve objectives
      and manage client expectations
    • Spearheading project planning and implementation of application solutions

  3. Statistical analysis and operational availability:

    • Conducting statistical research to integrate and interpret data to answer complex business questions,
      designing the development and maintenance of systems to ensure the highest possible uptime
    • Collaborating with clients, business analysts, project managers, systems engineers, directors, and team members to resolve technical issues, derive actionable insight from data, and enhance system features/integration, security, scalability and performance requirements
  4. Contributes to ongoing strategic planning by:

    • Providing expert-level input, advocating for improved tools, processes, and procedures
    • Leading applications implementation
    • Serving as the key technical consultant for data services, security, and applications networking
    • Maintaining up-to-date knowledge of current information technology techniques/tools, modern development environments

Qualifications & Education

PhD degree in Computing Science, Physics, Electrical Engineering, Physics, Math or related discipline and five years of experience in large scale research computing, or an equivalent combination of education, training and experience. Record of published work in quantum algorithms. Proven experience in successfully developing and supporting all aspects of software development in a quantum research environment. Experience with modern software development tools and environments and supporting, developing, and coaching individuals in a team setting. Experience carrying out independent research, deploying large research computing software packages, setting up web front ends for scientific applications and queuing and batch scheduling systems. Experience with Advanced Research Computing (ARC) resources and awareness of digital research infrastructure organizations in Canada (e.g. CANARIE, Compute Canada).

  • Expert knowledge of programming languages used for high-performance research computing: C/C++, Fortran. Must be proficient in shell programming and other scripting languages.
  • Excellent knowledge of programming, development and project management in a complex environment.
  • Excellent project management skills and use of tools to ensure projects are completed on time and
    within established budgets.
  • Excellent organizational, analytical and problem-solving skills.
  • Excellent negotiation, interpersonal skills and ability to explain difficult concepts.
  • Ability to communicate effectively at a high level to represent QAI.
  • Ability to work collaboratively to provide exemplary service and advice on research software.
  • Ability to understand research needs to match and link software development efforts to the
    researcher's research program.
  • Ability to analyze the needs and requests of the client to define, propose, negotiate and deliver
    successful solutions.
  • Ability to reach set and agreed-to goals while working independently with limited supervision.
  • Ability to analyze, decipher, and understand technical problems, and to find, develop, and implement
    software solutions where there may be little local expertise or existing material.
  • Ability to define and build a sustainable business model for a software development team.

Send your resume and a statement of interest to and include “Software Engineer Lead” in the subject line

Apply Now