- Provide software and systems architectural and design leadership to team of local and offshore engineers. Design and implement cloud service and software architecture for new products, and extensions to existing products. Be the group’s “go-to” person for architectural, design and implementation related questions and provide guidance.
- Develop cloud and instrument-embedded software standards and reusable components, including instrument integration to cloud based applications.
- Identify and define required system interfaces and map dependencies.
- Develop project non-functional requirements and provide infrastructure design oversight to support developed solutions
- Investigate new technologies for use on products; perform feasibility studies; design and implement prototypes for early / usability testing.
- Educate engineers on good design & implementation principles, and enforce design concepts throughout project lifecycle. Provide technical mentoring and advice to other engineers on the team.
- Participate throughout the software development life cycle, including the actual implementation phase as needed.
- Demonstrate understanding of companies internal and external customer needs and how they affect business unit products and services. Maintain a high level of expertise through literature, competitor products & seminars.
- Develop a network of experts throughout the organization, industry and suppliers. Bring company and industry knowledge as well as creative technical skills to product creation; be a content, sub-discipline specialist across the company.
- Provide accurate scheduling information for work.
- Actively work with multi-disciplinary team to help develop requirements and specifications.
- Work closely with software test teams to actively identify & resolve quality issues throughout development.
- Attend to the detail required in a validation compliant design and development environment, required for regulated market customers.
- Collaborate with other software groups within Thermo Fisher to more effectively integrate the application into the company's Java architecture. Gain cooperation of others.
- Contribute ideas and insights to develop new technologies, applications, techniques or procedures that are creative and practical.
- Work with general guidance and determines approach to work. Exercises judgment within broadly defined practices and policies. Makes decisions within high-level assignment scope independently.
- Identify and solve design problems of moderate to complex scope. Independently plan and design solutions, involving potentially conflicting design requirements.
- Strong architectural and OOD software design experience is a must.
- Either knowledge of Java/JEE/Eclipse or C#/.NET is a must.
- Experience in designing and implementing cloud based data analysis and/or imaging software is required. Experience with mobile and instrument embedded control or UI software is a strong plus.
- Oracle, MS SQL and/or MySQL is required. Experience with Amazon RDS, Redshift, DynamoDB or MongoDB is a strong plus.
- Experience with Hibernate, Spring (for Java experienced candidates), Service Oriented Architecture, RESTful web services, security architecture. A working experience or knowledge of OSGI and modularity is a strong plus for candidates that have a Java background.
- Experience with entity relationship data modeling as well as designing, optimization and troubleshooting databases is a strong plus.
- Must be proficient in multi-threading, client-server communications, data serialization, compression and encryption, GUI development. Experience with multi-core, signal processing, embedded and real-time software is a strong plus.
- Experience with algorithm development and statistical data analysis is a plus.
- Experience with cloud-based IaaS services and traditional infrastructure technologies including LAN/WAN, SAN/NAS, and server hardware technologies.
- Experience with a formal software development methodology such as the Rational Unified Process or Agile is required. Knowledge of DDD and TDD is highly desired.
- Systems experience (software/hardware/reagents) in biotech, medical device or life sciences industry a strong plus. Experience with architectures that satisfy regulated standards such as ISO 14385 or CFR Part II is also a strong plus.
- Experience working with geographically distributed teams is a strong plus.
- Experience with UML or similar object-oriented notation required. The candidate must possess strong analytical, troubleshooting, and communication skills, is comfortable working as part of a large cross-functional, geographically distributed team, and is prepared to work to aggressive timelines along iterative software development schedules.
- The candidate must be self starter, detail oriented, and highly motivated individual.
- Ability to convey very complex information in both written and oral form to both non-technical and deeply technical audiences
- A BS in Computer Science (or equivalent) together with 7+ years software development experience or MS with 5+ years experience.