Principal Software Engineer II

Roche

Mississauga, ON

Full-time

Posted 28 days ago


Roche rating

9.2

Company rating: 9.2 out of 10

Based on 22 frontline employees who took The Breakroom Quiz

2nd of 70 rated pharmaceutical


Job description

At Roche you can show up as yourself, embraced for the unique qualities you bring. Our culture encourages personal expression, open dialogue, and genuine connections, where you are valued, accepted and respected for who you are, allowing you to thrive both personally and professionally. This is how we aim to prevent, stop and cure diseases and ensure everyone has access to healthcare today and for generations to come. Join Roche, where every voice matters.

The Position

A healthier future. It's what drives us to innovate. To continuously advance science and ensure everyone has access to the healthcare they need today and for generations to come.

Creating a world where we all have more time with the people we love.

That's what makes us Roche.

We are seeking an architect-level Principal Software Engineer II to lead the software evolution of Roche's proprietary sequencing technology, SBX.

In this role, you will bridge the gap between experimental data science and industrial software engineering. While you will still engage with the "science" of DNA sequencing, your primary mandate is to engineer the systems that make that science scalable, reproducible, and fast. You will serve as the Technical Lead for a hybrid squad, driving the transition of experimental AI/models from Jupyter notebooks into robust, version-controlled, and highly optimized production libraries running on high-performance infrastructure.

You will define the software architecture for SBX data analysis. You are not just analyzing data; you are building the engine that processes it. You will ensure that our basecalling and sequencing algorithms are not only accurate but are also performant, maintainable, and deployable at scale.

The Opportunity

  • Define and enforce software engineering standards, including clean code practices, comprehensive unit/integration testing, and mandatory code reviews within the data science team.

  • Develop modular and extensible software libraries for DNA analysis, separating algorithmic logic from infrastructure code.

  • Implement and oversee continuous integration and deployment pipelines to automate testing and streamline research code release cycles.

  • Optimize performance of Python/PyTorch codebases, reimplementing critical bottlenecks in C++ and CUDA for GPU cluster efficiency.

  • Convert theoretical bioinformatics concepts into highly efficient production-ready code.

  • Design and implement solutions for effective memory management and I/O operations, tailored for large-scale genomic datasets.

  • Build infrastructure for managing model versioning, registries, and monitoring for streamlined machine learning workflows.

  • Design low-latency inference serving architectures for deploying deep learning models in production environments.

  • Promote and implement containerization tools like Docker and Singularity for consistent execution environments across research and production.

  • Architect distributed computing workflows and pipelines using tools like Nextflow and Airflow, ensuring production-grade performance and reliability in computational workflows.

  • Develop dynamic workload managers and submission scripts to optimize resource use on SLURM-managed HPC clusters.

Who you are

  • Ph.D. or Master's in Computer Science, Software Engineering, Bioinformatics, or related technical field.

  • 7+ years (with PhD) or 5+ years (with MS) of industrial experience related to productionizing ML models or building scientific software.

  • Expert-level proficiency in Python (OOP, design patterns) and strong proficiency in a compiled language C/C++. Deep understanding of data structures and algorithmic complexity.

  • Proven experience deploying Deep Learning models (PyTorch/TensorFlow) into production. Familiarity with ONNX, TensorRT, or model quantization is a plus.

  • Advanced knowledge of Linux internals, shell scripting, and container orchestration. Experience managing workloads on HPC (SLURM) or Cloud (AWS/GCP) environments.

  • Production experience with Nextflow, Airflow

Preferred Qualifications:

  • Experience writing CUDA kernels or using GPU-accelerated libraries (CuPy, RAPIDS) for signal processing.

  • Background in processing time-series data or electrical signal data.

Relocation benefits are not available for this posting.

The expected salary range for this position based on the primary location of Mississauga is 136,936.00 and 179,728.50 of hiring range. Actual pay will be determined based on experience, qualifications, and other job-related factors as determined by the company.

We use artificial intelligence to screen, assess or select applicants for this role.

This posting is for an existing vacancy at Hoffmann-La Roche Ltd.

Who we are

A healthier future drives us to innovate. Together, more than 100'000 employees across the globe are dedicated to advance science, ensuring everyone has access to healthcare today and for generations to come. Our efforts result in more than 26 million people treated with our medicines and over 30 billion tests conducted using our Diagnostics products. We empower each other to explore new possibilities, foster creativity, and keep our ambitions high, so we can deliver life-changing healthcare solutions that make a global impact.


Let's build a healthier future, together.

Roche is an Equal Opportunity Employer.


What Roche employees say

Pay

Benefits

Hours and flexibility

Workplace

Get the full story on Breakroom




Frequently asked questions

Q: What skills or qualities help someone succeed as a Principal Software Engineer?

A: To succeed as a Principal Software Engineer, key technical skills include expertise in programming languages such as Java, Python, or C++, as well as proficiency in software development methodologies like Agile and DevOps. Additionally, strong problem-solving skills, experience with cloud computing platforms, and knowledge of database management systems are highly valued. Soft skills such as effective communication, leadership, and collaboration, along with traits like adaptability, creativity, and a growth mindset, are also essential for success in this role.\n\nThese strengths support career growth and effectiveness by enabling Principal Software Engineers to lead technical teams, drive innovation, and make strategic decisions that impact the organization's software development and delivery. They also foster a culture of collaboration, continuous learning, and improvement, ultimately driving business success and career advancement. By combining technical expertise with strong soft skills, Principal Software Engineers can excel in their roles and make significant contributions to their organizations.

Q: What is the career path for a Principal Software Engineer?

A: A Principal Software Engineer typically follows a career progression from entry-level roles such as Software Engineer or Junior Developer, to mid-level positions like Senior Software Engineer or Technical Lead, and eventually to senior leadership roles like Principal Software Engineer or Engineering Manager. Key opportunities for skill development and professional growth in this role include mastering advanced programming languages, architectures, and methodologies, as well as developing leadership, communication, and project management skills. Long-term career prospects for a Principal Software Engineer may include transitioning into technical leadership roles, such as CTO or VP of Engineering, or pursuing entrepreneurial ventures, like founding a startup or consulting firm.



Roche job posting for a Principal Software Engineer II in Mississauga, ON with a map of Mississauga location.