Careers with Compute Canada
We are an equal opportunity employer offering a competitive compensation and benefits package, and a stimulating, professional work environment. We thank all candidates for their interest in careers with Compute Canada; however, only those selected for an interview will be contacted.
Compute Canada leads the advancement of research and innovation by positioning state-of-the-art advanced research computing (ARC) systems, storage and software solutions. Together we provide essential ARC services and infrastructure for Canadian researchers and their collaborators in academic and industrial sectors. Our world-class team of more than 200 experts employed by 37 partner universities and research institutions across the country provide direct support to research teams. Compute Canada is a proud ambassador for Canadian excellence in advanced research computing nationally and internationally.
Compute Canada job postings:
External job postings:
Position Title: Senior Programmer/Analyst
Reports To: Chief Technology Officer, Compute Canada
Job Type: Full-time for 2 years with possibility for extension
Location: Anywhere in Canada with good internet and reasonable access to air travel
Compute Canada, in partnership with regional organizations ACENET, Calcul Québec, Compute Ontario and WestGrid, leads the acceleration of research innovation by deploying state-of-the-art advanced research computing (ARC) systems, storage and software solutions. Together we provide essential ARC services and infrastructure for Canadian researchers and their collaborators in all academic and industrial sectors. Our world-class team of more than 200 experts employed by 37 partner universities and research institutions across the country provides direct support to researchers. Compute Canada is a proud ambassador for Canadian excellence in advanced research computing, nationally and internationally.
Compute Canada is in the process of a major technology refresh, which includes investment in four major shared national ARC systems. It is important that a consistent user experience be delivered across these four systems. At the same time, the need for Compute Canada to support scientific platforms, portals and gateways is expanding dramatically. To meet these needs, Compute Canada is undertaking development of a common middleware layer across its sites. This will include: common Authentication, Authorization and ID Management, monitoring, reporting, resource publication and data transfer services. Research Data Management (RDM) service development also constitutes an important current activity within Compute Canada. The position described below represents a significant infusion of effort into Compute Canada’s middleware development activities.
Compute Canada, Senior Programmer/Analyst
Compute Canada is looking for a experienced, motivated senior programmer to join its national user and resource management portal team. You will work on core software development projects in support of Compute Canada’s research platform operations.
We are looking for a senior programmer with ten or more years of programming experience, and a strong background in web application frameworks, domain modeling, data integration and reporting. You will also work with the existing Compute Canada national teams to drive the direction of the national user and resource repository, and to see it’s implementation carried out.
Successful applicants will have a university degree in computer science, computational science or a related technical field. They must have excellent communication, planning, and time management skills with a strong client-focused work ethic. Consideration will be given to an equivalent combination of education and experience.
- Work with the team managing, developing, and documenting the Compute Canada Database (CCDB), which tracks usage, allocations, and account information for our clients
- Design software solutions which will integrate and function within the Compute Canada’s national infrastructure ecosystem
- Participate in Compute Canada’s national technical teams
- Work closely with nationally distributed project managers and developers
- Create detailed project specifications, testing plans, clear deliverables, and timelines
- Effectively collaborate with technical and non-technical colleagues in Compute Canada
- Create internal process and policies as well as technical documentation
- Provide dedicated support as appropriate to various Compute Canada researchers for their portal and platform project needs
- 10+ years experience as a programmer
- Extensive knowledge of the complete software development cycle and continuous integration techniques
- Strong experience with web application frameworks, such as Ruby on Rails
- Able to generate high quality code and technical documentation
- Able to understand legacy code, and adopt or improve it
- Able to work within a distributed team
- Significant experience with business analytics tasks, such as data aggregation, integration and reporting
- Experience translating user needs into technology services
- Maintains a current awareness of emerging trends in programming and development
- Strong experience with git for revision control
- Significant expertise with SQL and relational database design
- Ability to work creatively, collaboratively, and effectively both as a team member and independently and to promote teamwork among colleagues
- Evidence of ability for ongoing professional development and contribution
- Familiarity with automated testing, and testing frameworks such as RSpec
- Experience with Linux/Unix production environments
- Experience in REST API design and development
- Familiar with authentication and authorization mechanisms including LDAP
- Self-starter with strong self-management skills
- Ability to organize and manage multiple priorities
- Strong project management skills
- Strong communication skills
- Ability to quickly learn, attain proficiency, and incorporate new programming languages and technologies
- Strong interpersonal skills and the ability to work successfully with a variety of personalities
- Experience with agile development methodologies
- Experience with UI design and User Experience methods
- Broad experience in software planning, testing, and change management
- Experience with deployment automation using containers or virtual machines
- Experience with API authoring tools, such as RAML, Swagger, WSO2, etc.
- Experience with tools for authentication, authorization, and identity management, such as Oauth, JWT, Shibboleth, LDAP, etc.
- Experience with scientific or research-oriented projects
- Previous experience working in a home office environment
This position requires a suitable home office workplace for performing work duties. The main Compute Canada office in Toronto, or member’s campus offices, may be available as a convenience, for periodic use. The workweek is 37.5 hours, and includes meetings and collaboration via videoconference, email, instant messaging, and similar technologies. The successful applicant will be part of a group of up to one dozen other developers, working on a range of projects.
Salary and benefits commensurate with experience.
Candidates interested in applying for the roles should send their expression of interest and resume to email@example.com, quoting the name of the position. We thank all applicants, however, only those applicants selected for an interview will be contacted.
All candidates are highly encouraged to apply. A preference may be given to existing Compute Canada team members.
In compliance with the Canadian Human Rights Act, all qualiﬁed applicants will receive consideration for employment without regard to race, national or ethnic origin, colour, religion, age, sex, sexual orientation, marital status, family status, disability or conviction for an offence for which a pardon has been granted or in respect of which a record suspension has been ordered. In accordance with Canadian immigration requirements, Canadian citizens and permanent residents will be given priority.