Research Programmer – Shah Lab

Research Programmer

JOB SUMMARY
A position is open immediately for a research programmer to work with our interdisciplinary team of researchers and software developers at BC Cancer. We are seeking a creative, experienced, and dedicated individual to play a key role in developing and maintaining our analytical workflows and computing infrastructure, including our high-performance computing cluster, Azure cloud workflows, software environments, web service backend, and data management solutions. The successful candidate will join Dr. Sohrab Shah’s computational cancer biology research lab, and work closely with the larger systems team at the BC Cancer as well as other software developers, staff scientists, post-doctoral fellows and graduate students in the lab operating at the leading edge of the field of cancer genomics. Our laboratory has recently made meaningful advances in understanding of tumour evolution and the software platforms developed in the lab will be used by world-leading scientists at the BC Cancer and international collaborators to gain insight into how cancers initiate, develop and acquire resistance to treatment. More info on the research we conduct can be found here: http://shahlab.ca

ORGANIZATIONAL STATUS
Working in a research software development team, independently and reporting to the senior programmer in Molecular Oncology or designate, and in conjunction with investigators within the BC Cancer, UBC and internationally.

WORK PERFORMED
Development and maintenance of existing analytical frameworks and workflows Development and maintenance of data storage solutions and infrastructure Maintenance of high performance computing environments on-premise in the cloud Unix support for lab personnel

More details as follows:
Development and maintenance of existing analytical frameworks and workflows
– Develop software solutions for researchers to increase work throughput
– Work with lab personnel to identify, define and outline automation opportunities
– Creation of automated workflows and scripts to conduct all routine research analysis
– Maintenance and optimization of new and existing workflows for speed, accuracy and scalability
– Create an interface for researchers to submit and query workflow status
Development and maintenance of data storage solutions and infrastructure
– Develop software solutions for researchers to increase work throughput
– Work with lab personnel to idenfiy, define and outline data storage needs and challenges
– Coding maintenance of the existing data storage database to handle terabyte to petabytes of data
– Maintenance of the on premise distributed file storage infrastructure
– Evaluate, investigate, and optimize the current data storage solution for speed and scalability
– Create full stack solutions to query, transfer and retrieve data
Maintenance of high performance computing environments on-premise and in the cloud
– Maintain the functionality of the current on premise high performance computing clusters (100+ cores)
– Investigate and implement software updates to increase cluster efficiency
– Contribute to hardware configurations to improve cluster performance
– Aid in the migration of on-premise HPC infrastructure into the cloud
– Contribute to code optimization and troubleshooting of all work in the cloud
Unix support for lab personnel
– Educate lab personnel out optimal ways of using the operating system
– Assist in minor to complex installation and setup tasks
– Aid in increasing the efficiency of daily work of the researchers

CONSEQUENCE OF ERROR
Accountable for the generation of quality software and maintainable computing infrastructure that will have significant research progress implications.

SUPERVISION RECEIVED
Supervision from Principal Investigator or designate. Results reviewed for achievement of overall objectives.

SUPERVISION GIVEN
May help to supervise undergraduate trainees and/or junior software developers.

QUALIFICATIONS
Essential
Minimum of 2+yrs work experience Strong python programrming
Experience with software development, installation and maintenance on Linux systems Strong verbal/written communication skills and willingness to work in a team
PreferredUndergraduate degree or technical diploma in computer science or information technology

Preferred
Professional programming experience in a commercial software development environment preferred
Experience with scientific high performance computing environments and solutions Experience with large-scale (petabyte) data infrastructure development and solutions

To apply: Please send cover letter, resume, transcript and work sample to careersmolonc@bccrc.ca  – Please put “Research Programmer -Shah Lab” and your family name in the subject line.