Software Engineer III

Thermo Fisher Scientific

Thermo Fisher Scientific

Software Engineering
Bengaluru, Karnataka, India
Posted on Tuesday, August 20, 2024

Work Schedule

Standard (Mon-Fri)

Environmental Conditions

Office

Job Description

About Team:

Digital Platforms & Engineering is Thermo Fisher’s “Software Engineering” center of excellence in Bengaluru, India. This center of excellence provides world-class software and cloud computing services that help scientists do their work more efficiently and with precision, enabling them to make our world healthier, cleaner, and safer.

Our world-class software products and solutions accelerate scientific discovery and lab productivity. These solutions,

- Provide rich content, selection tools, collaboration tools, and scientific apps that allow our customers to focus on innovation and the complexities of their science.

- Build a connected world for our customers where discoveries happen in a thoughtful way, where every device/product is connected, self-aware, and self-healing—thereby enabling efficient workflows and collaborative science.

We apply industry-standard methodologies to the design, development, and deployment of outstanding software products built to demonstrate the power and scalability of the cloud.

Roles & Responsibilities:

Purpose:

The role is of a hands-on developer who is motivated to combine the art of design with the art of programming thereby actively contributing to the development of new features. This person will be a member of a multi-functional scrum team delivering Connect Platform & Ecosystem, Customer tenancy, Authorization, and Digital product subscriptions and entitlements. The role is expected to make a difference to the product in terms of the design and contribute towards identifying technical risks and alternate solutions to various problems. In addition to that, the role also demands leading, motivating, mentoring, and providing ample guidance to the other team members concerning technical challenges.

Responsibilities:

Software Engineer III actively participates in various scrum ceremonies such as Story grooming, sprint planning sessions, etc. They are involved in identifying the risks and providing efficient workarounds or solutions. They take responsibility for end-to-end ownership of multiple significant software modules and ensure the integrity of technical work on concurrent projects.

Furthermore, they plan to actively participate and perform the technical work assigned to them. They guide design activity for other programmers, providing technical expertise related to the project. They own the implementation, automated unit and integration testing, code reviews, debugging, and integration of highly complex code across multiple concurrent projects.

They also proactively seek ways and patterns to continuously automate feature testing with measurable and tangible goals. They exhibit authenticity and inclusiveness, role model leadership behaviors, and hold both themselves and others accountable. They encourage, empower, and collaborate with the team to achieve shared goals. In addition, the candidate possesses the ability to anticipate needs and problems while creating innovative solutions. They are willing to ask difficult questions and approach tasks differently, accepting challenges and change as opportunities for growth. They are highly motivated, fast learners who can independently figure out what needs to be done.

The candidate takes an active role in the development community of practices, sharing, and learning standard methodologies. They take the lead on initiatives within the community and actively involve themselves in other organizational initiatives. They possess excellent verbal and written communication skills, efficiently documenting artifacts and processes and effectively explaining them to others.

Candidate Requirement:

Education: Bachelor's in engineering or master's in computer science with 7+ years of relevant experience

Mandatory Skills, Knowledge, and Experience:

  • Minimum 6 years experience in Web Application Development using Java/J2EE related technologies; Expertise in OOAD principles and methodologies
  • Extensive experience in Java application development frameworks and technologies: Apache tomcat, Jetty, Juice, Spring, and JSON/XML/Ajax
  • Minimum 2 years experience in developing Java/JEE-based web applications based on micro-services architecture (using Spring Boot, REST APIs)
  • Strong in programming subject areas like object-oriented principles, design patterns, data structures and unit testing (TDD using JUnit), Domain-driven Design (DDD)
  • Minimum 2 years experience in Cloud computing using AWS (Amazon Web Services) such as S3, DynamoDB, SNS, SES, EC2
  • Confirmed experience of 3 or more years with databases (Postgres/MySQL/Oracle/NoSQL DB), persistence frameworks, and SQL
  • Proficiency in developing multithreading applications.
  • Minimum 1-year experience with GitHub, Docker, Kubernetes, CI/CD frameworks (Jenkins)
  • 3 years or more of using Scrum-based software development methodologies
  • Experience, instincts, and enthusiasm around testing, testability and automation
  • Experience with defining and implementing Non-Functional Requirements (NFR – Security, Performance, Cost, etc.)

Nice to Have Skills, Knowledge, and Experience:

  • Experience in designing and architecting large-scale and highly available distributed software
  • Frontend development experience with JavaScript, Ajax, Bootstrap, HTML 5, CSS, AngularJS , and understanding of browser compatibility issues.
  • Experience with development on one or more mobile platforms is a plus.
  • Experience with quality, code analysis , and Configuration tools like SonarQube, Semmle, Veracode, NetSparker, Ansible, etc.