Software Infrastructure Developer
- Canadian Center for Computational Genomics (C3G) at McGill University
- Montreal, QC, Canada
- Job Type:
- Degree Level Required:
- Apply Now
Software Infrastructure Developer
The Canadian Center for Computational Genomics (C3G) at McGill University provides bioinformatics analysis and high performance computing services for the life science research community. C3G develops customized and case-by-case bioinformatics solutions as well as an extensive suite of open-source software, including bioinformatics analysis pipelines used by multiple academic institutions, and data sharing and analysis portals with the Bento and CanDIG projects.
We are seeking a Software Infrastructure Developer to take a significant role in the Development and Operations of our current services, as well as new services for the SecureData4Health (SD4H) initiative, a new OpenStack cloud infrastructure for health and genomics research data analysis.
Under the supervision of a Bioinformatics Manager, the Software Infrastructure Developer will work in a multidisciplinary team within the C3G organization, and collaborate with the Calcul Québec (CQ) organization and the McGill Research Data Management team. The candidate will also work in collaboration with teams all across Canada developing for other Compute Canada/NDRIO cloud infrastructure projects.
This position is an opportunity to be working with leading edge technology and teams that have installed and operated supercomputers in the Top 500 list, to be part of McGill University, and to collaborate within CQ, an OBNL with Québec universities and research centers as its stakeholders.
The Software Infrastructure Developer will be responsible for the core operations, maintenance and growth planning for the new SD4H compute cloud service, as part of the Compute Canada/NDRIO cloud infrastructure. Specific tasks include:
Implement automated deployment procedures to facilitate our Software-as-a-Service (SaaS) mission, to support data sharing and analysis initiatives such as Bento and CanDIG. Collaborate with other CQ and Compute Canada/NDRIO groups to leverage existing platforms and services to integrate them to the SD4H infrastructure. Put in place automated monitoring and logging services, security audit and authentication mechanisms that can be leveraged by clients of the cloud. Installation and maintenance of software layers within the SD4H cloud environment. Infrastructure troubleshooting and issue resolution. Propose, plan and manage software upgrades. Report operational statistics and performance metrics data to management. Setup and maintain automation tools for testing, continuous integration & delivery. Ensure implemented solutions are done using the best coding practices, including proper code commenting, peers review, etc. ·Establish & maintain clear and thorough documentation.
While we do not expect candidates to fill all these requirements, we expect them to be able to articulate their experience, skills and interest around the following criteria:
Bachelor’s degree in Computer Science, Engineering or in a related scientific field, or equivalent experience. At least 5 years of Linux development with some systems administration experience. Demonstrated expertise: Cloud deployment with at least one major system (ex. OpenStack, GCP, AWS, Azure) Deployment languages (ex. puppet, ansible, terraform) Containerisation tools Continuous Integration Continuous Deployment (CI/CD) tools (ex. jenkins, github action, selenium) Shell scripting and other scripting languages (ex. Python, Perl) Knowledge in the following areas is considered as assets: Object Storage OpenStack environment Infrastructure as code Machine provisioning Systems and network security architecture, configuration
Interest in fundamental science, research and genomics. Attention to detail in the level of work performed, taking pride, responsibility and a sense of ownership for the successful operations of the systems under their administration and the availability and reliability of those systems in support of all research users. Advanced problem-solving skills. Good oral and written communication skills in both French and English. Ability to work in a complex technical environment. Ability to effectively work with multiple concurrent tasks and priorities, so as to achieve successful outcomes and results. Ability to take supervisory and management direction so as to work effectively and with little direct supervision in order to complete tasks. Ability to work cooperatively with a distributed and diverse team of professionals, acting as a technical resource for others in the team, as well as to work together with other staff on projects of significant importance and value to the organization and to the clients we serve. A demonstrated aptitude for learning new technologies.