Hands-on, writing high-quality code that will perform at scale, be maintainable, and be extensible.Develop and help develop code for distributed systems, both backend (Java 8+) and UI (Angular 9).Ensure the software stack integrates with our existing CI pipelines and contribute to continuous improvements; independently design, plan and deliver high-quality, robust and fault-tolerant software.Participate in requirements, architecture, and design specification reviews as well as estimations and Product Increment plannings under a SAFe-based methodology.Conduct code reviews, not limited to products’ code but also for automation tasks (tests, infrastructure, etc.).Work with other developers and QA engineers to investigate issues and verify fixes.Use project management tools such as JIRA.Use Source Code Management (SCM) and CI/CD tools.Help mentor junior- and middle-level SW engineers on engineering best practices.Ensure we amplify our culture. Embody our value for technical excellence, integrity and support and compassion for individuals.
Skills and requirements
Fluent in both written and oral English.Bachelor’s degree B. Sc and/or M. Sc. in Computer Science, Software Engineering, Electrical Engineering with 5+ years experience or equivalent technical discipline with a minimum of 8 years of direct experience in Software Engineering; or equivalent combination of education and experience to perform at this level; PhD is a plus.Backend development expert using Java 8+.Experience with UI development using Angular 9.Proficient at designing and implementing REST interfaces, as well as working with third-party REST APIs..Working experience with relational databases (PostgreSQL, Oracle, etc.) and 2+ years with non-relational databases (Cassandra, Mongo, etc).Verifiable working experience using Spring Components such as Spring Boot, Spring JPA, etc.Verifiable experience in cloud environments AWS (preferred, and services such as EC2, Batch, SQS), Azure, or GCP.Good understanding of microservices architecture and containers (Docker). Extensive working experience using Linux distributions (Ubuntu, Debian, CentOS) , as well as bash scripting.Ability to work effectively in a dynamic environment with changing needs and requirements.Ability to work independently and in a team, take initiative, and communicate effectively and timely.Comfortable being part of a multidisciplinary team, and capable of working with fellow team members.
Experience working with:
Globally distributed teams.Teams using CI/CD, and automated testing.Product-oriented with a pragmatic approach.Commitment to Agile practice, and scalable architecture.
Roche is an equal opportunity employer.