Job Title: Software Engineer III
Thermo Fisher Scientific Inc. is the world leader in serving science, with revenues of more than $20 billion and approximately 70,000 employees globally. We help our customers accelerate life sciences research, solve complex analytical challenges, improve patient diagnostics, deliver medicines to market and increase laboratory productivity.
'Digital Engineering' Team is engaged in cloud-based science platform engineering and development of rich scientific desktop/enterprise-hardened cloud-ready and cloud applications. The cloud applications are micro-services-based Java/JEE web apps deployed on AWS Infrastructure and distributed in a SaaS model. The design and development follows the industry-standard scrum-based agile development process.
Roles & Responsibilities:
The role is of a hands-on senior engineer (individual contributor) who could make a difference to the product in terms of the design and architecture, and actively contribute to the development of new features. This person will be member of a cross-functional scrum team building public cloud based SaaS delivery platform and associated application services.
- Active participation in various scrum ceremonies such as Story grooming, sprint planning sessions etc., and contribute towards identifying technical risks, alternate solutions to various problems etc.
- Responsible for ownership of multiple significant software modules
- Responsible for leading the integrity of technical work on significant concurrent projects.
- Plans, participates and performs the technical work of an assignment.
- Provides guidance regarding design activity to other programmers on technical aspects relating to the project.
- Leads the implementation, automated unit and integration testing, debugging and integration of code of extreme complexity across multiple concurrent projects.
- Establishes and maintains thorough and accurate documentation of all work.
- Proactively looks for ways and patterns to continuously automate feature testing with measurable and tangible goals
Required Skills and Experience:
- 5+ years hands on experience in Java application development frameworks and technologies: JPA/Hibernate, Spring, Core Java (collections, generics, multi-threading etc)
- Experience with Web Services: SOAP Request/Response handling, authentication, REST APIs
- Experience with databases, persistence frameworks and SQL
- Solid design and programming experience and very strong in programming disciplines like object oriented principles, design patterns, data structures and unit testing
- Significant experience using Agile Scrum development processes.
- Excellent analytical and technical skills.
- Excellent communication and interpersonal skills
- Ability to work effectively with dispersed, remote and global teams when needed.
- Having a wide range of experience and understanding of trends and technologies, uses technical knowledge to resolve complex issues in creative and effective ways
Preferred Skills and experience:
- Experience with Amazon Web Services or other leading cloud deployment platforms and services
- Experience in Configuration Management tools and concepts required
- Experience with design, development and automated testing of SaaS and PaaS products
- Experience in designing large-scale, highly available distributed software.
- Bachelors in Engineering/Computer Science or Master degree or equivalent