Principal Software Engineer, Sequencing – Roche – Santa Clara, CA

Job ID: 5779
Job date: 2016-07-19
End Date:

Company : Roche 

Country :

Role : Research Scientist 


[Click Here to Access the Original Job Post]

Job Description:
Genia Technologies is a nanopore based sequencing company dedicated to making genetic testing easy and affordable. We are developing a revolutionary, low cost, portable, DNA/RNA reader that can be used to improve the lives of people in a wide variety of applications including the timely screening of newborns for diseases and the diagnosis of cancers and infectious diseases.

Roles and Responsibilities:
Develop robust, scalable GPU-accelerated software for our Primary Data Analysis computing pipeline to process and analyze large volumes of signal traces generated by Genia nanopore sequencing instrument

Work closely with instrument software engineers to implement code for efficient, real-time temporal transposition and size-reduction of raw data

Work closely with algorithm development experts to implement the code for efficient conversion of raw data to base calls and quality scores used in bioinformatics applications

Test, debug and optimize software modules; participate in specifying QA test plans as well as in writing design output documentation/release notes, developer’s and end-user documentation

Support software development lifecycle and Design Control process, working closely with team members to continuously improve quality and feature sets of the software products, based on technical design and requirements specifications

Establish best practices for software development methodologies and standards to ensure highest quality of the software product delivered to users

Proactively interface with engineering and research teams to ensure all technical aspects of software development are properly communicated to all stakeholders

Proficient in developing GPU-accelerated software in C/C++ and/or Python for signal processing numerical analytics

Solid experience in writing, debugging and optimizing large-scale highly parallel (CPU and GPU) Linux applications deployed in a cloud or compute cluster

Experience with GPU-accelerated C/C++ and/or Python numerical analysis libraries, such as CUDA Toolkit, ArrayFire, Anaconda, Theano, etc.

Experience with porting algorithms and C/C++ or Python code to GPU

Experience in building complex software systems under strict design specifications that have been successfully delivered to customers

Knowledge of best practices and supporting tools for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, documentation and deployment

Strong problem-solving skills and ability to track software issues to successful resolution.

Ability to multi-task and work with minimal supervision in a collaborative fast paced environment

Ability and desire to learn quickly and apply that knowledge effectively

Outstanding communications and interpersonal skills with internal and external stakeholders

Any of the following would be also considered as a plus:
Digital signal processing theory and tools such as MATLAB, NumPy/SciPy

Experience with CPU-accelerated math libraries (mkl, Eigen, etc.)

Programming and interfacing C/C++ and Python/Cython with strong object-oriented design and analysis skills

Familiarity with porting algorithms and C/C++ or Python code to Verilog (FPGA)

Familiarity with deploying applications in a cloud and/or HPC cluster

Experience with NGS and related bioinformatics software tools and pipelines, especially GPU-accelerated (such as NVBIO, SeqNFind, GATK, etc.)

Experience in communicating with various stakeholders to collect and scope requirements, describe software product features and details of technical designs

Who you are

You’re someone who wants to influence your own development. You’re looking for a company where you have the opportunity to pursue your interests across functions and geographies. Where a job title is not considered the final definition of who you are, but the starting point.

BS or MS degree in Computer Science, Computer Engineering or equivalent

Minimum of 5 years of working experience in software development

Able to demonstrate concrete individual contributions that have advanced state of the art either commercial and/or academic area of work

Who we are

At Roche, 91,700 people across 100 countries are pushing back the frontiers of healthcare. Working together, we’ve become one of the world’s leading research-focused healthcare groups. Our success is built on innovation, curiosity and diversity.

Roche is an equal opportunity employer and strictly prohibits unlawful discrimination based upon an individual’s race, color, religion, gender, sexual orientation, gender identity/expression, national origin/ancestry, age, mental/physical disability, medical condition, marital status, veteran status, or any other characteristic protected by law.


Requeriments :

Skills :

Areas :


Additional Info:

[Click Here to Access the Original Job Post]