Software Developer – Shah Lab

Software Developer

A full-time position is open immediately for a software developer to work with our interdisciplinary team of researchers and software developers at BC Cancer.  The successful applicant will participate in developing, improving and maintaining bioinformatics tools for a high-throughput processing pipeline.  We seek candidates with strong Python software engineering and programming skills.  Experience with Agile software development and DevOps best practices and are also desirable.  The role is ideally suited for a creative individual with a passion for software development and data analysis within an academic setting.  More info on the research we conduct can be found here:

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.


  • Develop, improve and maintain high-throughput data processing workflows in Python
  • Develop, improve and maintain full-stack solutions for data management and storage in Django
  • Employ software engineering best practices to develop, test, deploy new improvements and features to existing software
  • Devise or modifies solutions to complex problems associated with high throughput data analysis, considering computation capacity and limitations, operating time and form of desired results
  • Research, evaluate and adopt new technologies, algorithms, and platforms as required
  • Produce thorough but concise written documentation of algorithms, workflows, SOPs and other processes and procedures as required
  • Provide support and training to users of software developed
  • Perform other related duties as required

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

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

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

Education, Training and Experience

  • Undergraduate degree or technical diploma in computer science or software engineering
  • Two (2) year’s of recent related experience or an equivalent combination of education, training and experience acceptable to BC Cancer

Skills and Abilities

  • Proven expertise with Python mandatory. Experience with Django an asset.
  • Proven expertise in software engineering best practices, including version control, issue tracking and quality assurance
  • Excellent verbal and written communication skills
  • Comfortable working in a Unix environment, including experience with shell scripting and common command-line tools
  • Demonstrated interpersonal skills including the ability to work effectively with others in a team environment
  • Demonstrated ability to efficiently organize assignments and establish priorities
  • Experience in HPC and cloud computing in an academic setting

To apply: Please send cover letter, resume, transcript and work sample to  – Please put “Software Developer -Shah Lab” and your family name in the subject line.