Senior Software Developer (UBC35918)

The University of British Columbia
POSITION DESCRIPTION #00035918
BUSINESS TITLE: Senior Software Developer
EMPLOYMENT GROUP: Management&Professional (AAPS)
JOB FAMILY: Information Systems & Tech
JOB CODE: 181203 – Info.Sytems&Technlgy, Level C
VP/FACULTY: Faculty of Medicine
DEPARTMENT: Pathology
PAY GRADE: 8
SALARY LEVEL: C

JOB SUMMARY
A position is open immediately for a senior full-stack web-developer to engineer and implement an interactive visualization platform for data intensive cancer genomics research. We are seeking smart, dedicated, experienced and creative software developers to create innovative and scalable software solutions for our research. Funded by several international grants, a major focus will be on developing a software platform called Montage to facilitate real-time interactive browsing of high dimensional datasets generated using DNA sequencing technology applied to cancer cells. The platform will be used by world-leading scientists at the BC Cancer Agency and international collaborators to gain insight into how cancers initiate, develop and acquire resistance to treatment. The candidate should be intimately familiar with modern web programming and data science software stacks such as noSQL data indexes (eg ElasticSearch) and front-end interactive visualization libraries (eg JavaScript d3.js) and should be technically competent to set up and maintain server side applications to support the platform.
The successful candidate will join Dr. Sohrab Shah’s computational cancer biology research laboratory and will interact with other software developers, staff scientists, bioinformaticians, post-doctoral fellows and graduate students operating at the leading edge of the field of cancer genomics. The senior software engineer will be integrated into a team engaged in computational biology activity ranging from raw data analysis in high performance computing environments to data indexing and tracking to building interfaces for laboratory personnel. Our laboratory has recently made meaningful advances in understanding of tumour evolution and we now need experienced software engineers to scale our efforts. The candidate should have a strong desire to dedicate, develop and hone their excellent technical web development skills to advance cancer research, although previous knowledge of cancer biology is not a requirement.
More info on the research we conduct can be found here: http://compbio.bccrc.ca

ORGANIZATIONAL STATUS
Working independently and reporting to the Principal Investigator in Molecular Oncology or designate, and in conjunction with investigators within the BCCA, UBC and internationally.

WORK PERFORMED
– Consult with users to determine needs
– Design software architecture
– Design and implement software
– Develop and execute a software testing plan including unit tests
– Write source code documentation and technical tutorials for end-users

CONSEQUENCE OF ERROR
Accountable for the generation of quality software 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
• Undergraduate degree in a relevant discipline including computer science, computer engineering or information technology (degree in computer science preferred). Minimum of 5+yrs experience or the equivalent combination of education and experience.
• Professional programming experience in a commercial software development environment preferred.
• Hands on experience with front-end web technology Javascript/HTML5/CSS libraries/frameworks: e.g. JQuery, Bootstrap.js, Underscore.js, d3.js, AngularJS and event-driven programming
• Strong knowledge and experience with Web Services (REST, SOAP) and methods for interfacing with back-end data stores (JSON, Ajax)
• Experience building and integrating back-end web services (using JSON, AJAX, REST) and interfacing with a database
• Experience deploying and maintaining Web applications/services in Linux environments
• Proficiency with Python
• Working experience with Java and Maven
• Strong verbal/written communication skills and willingness to work in a team

Preferred
• Familiarity with UI design patterns and principles
• Experience with data science visual analytics techniques – can be from complementary fields such as FinTech.
• Familiarity with distributed version control systems (e.g. git) and Agile development methods
• Statistical plotting (e.g. in R or matplotlib) and custom visualization creation (e.g. in D3.js or Processing) for large scale datasets
• Experience with scalable solutions to interacting with large data sets (e.g. database optimizations)
• Bioinformatics tools and genome databases (e.g. IGV or the UCSC genome browser, its utilities and data resources)

To apply: Please send CV and cover letter to careersmolonc@bccrc.ca. Please include Senior Software Developer in the subject line.