Roche Company Logo Roche

Principal Software Engineer II

At Roche Sequencing Solutions, we are a fast-moving, highly technical team of people with the ambitious goal of disrupting next generation DNA Sequencing. Developing our unique platform requires expertise across a range of fields: software engineering, data science, biology, chemistry, protein engineering, circuit design, and electrochemistry, just to name a few. We're pushing the boundaries in DNA sequencing technology. We're looking for a top-notch software engineer to help create “best in class” applications for the management of sequencing instruments and workflows.

As a Principal Software Engineer II, you will take the lead in designing and developing software solutions. The successful candidate will have a deep understanding of software, and be able to build high-quality, innovative, reliable, extensible software products that are a pleasure to use.

Responsibilities include:
Execute full lifecycle software development and serve as a subject matter expert in software design and development.

Propose and detail new designs in collaboration with the architects and senior technical staff.

Do rapid prototyping, write technical requirements and determine operational feasibility.

Write clean, well designed, testable, efficient and maintainable code.

Unit tests covering required functionality must accompany the code.

Design and implementation decisions must be documented.

Implementation must follow best engineering practices such as design patterns, BDD, peer review, CI, automated testing, etc.

Lead and participate in design and code reviews.

Proactively collaborate with SQA team, review and contribute to integration testing, software verification plans, and quality assurance procedures.

Qualifications:
Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering or related technical discipline plus a minimum of 10 years of industrial experience designing/coding mission-critical and high throughput applications/servers using Java. Or, equivalent combination of education and experience to perform at this level.

Hands-on experience with test/behavior-driven development and mastery in software engineering tools.

Solid understanding of design patterns, object-oriented design, high performance distributed computing, microservices and cloud architectures.

Ability to synthesize user, technical and design requirements into coherent implementations.

Ability to clearly and concisely document requirements, specifications, designs, and implementations in clear technical English.

Familiarity with software development methodologies, DevOps, release, maintenance and support processes.

Knowledge and experience with Agile development process are desirable.

Experience with Spring framework including Spring Boot and its core features such as configuration, dependency injection, resource handling, validation, mocking, JMS.

Knowledge of component- and message-based architecture and experience with message brokers such as RabbitMQ.

Experience with common data interchange formats, protocols, and techniques such as JSON, XML, REST, AJAX.

Excellent attention to detail; strong analytical, diagnostic, problem-solving, debugging and optimization skills.

Ability to diplomatically communicate with team members, various internal departments, and management.

Ability to work and deliver under deadline pressures.

Roche is an equal opportunity employer.

Research & Development, Research & Development > Devices, Systems and Solutions
Please mention that you come from TestForThem when applying for this job.

Posted 2 months ago

Apply for this job