Software Engineer II
Thermo Fisher Scientific Inc. (NYSE: TMO) is the world leader in serving science, with revenues of $17 billion and approximately 50,000 employees in 50 countries. Our mission is to enable our customers to make the world healthier, cleaner and safer. We help our customers accelerate life sciences research, solve complex analytical challenges, improve patient diagnostics and increase laboratory productivity. Through our premier brands - Thermo Scientific, Applied Biosystems, Invitrogen, Fisher Scientific and Unity Lab Services - we offer an unmatched combination of innovative technologies, purchasing convenience and comprehensive support.
All of our employees share a common set of values - Integrity, Intensity, Innovation and Involvement. Our ability to grow year after year is driven by our ability to attract, develop and retain world-class people who will thrive in our environment and share in our desire to improve mankind by enabling our customers to make the world healthier, cleaner and safer.
If you share in our values and if you're looking for an employer who is strongly committed to developing talent and rewarding achievement, come grow with us at Thermo Fisher Scientific.
The software services team is tasked with applying industry best practices to the design, development, testing and deployment world-class software products. We are looking to hire individuals with experience with software development and integration in clinical and research settings, and who can help us solve the next wave of technical challenges using the latest cloud-based, big-data, and rich analytics tool sets.
You should be versed and comfortable spanning the full development lifecycle, from requirements identification and prototyping, through design and implementation, to customer acceptance and delivery. You are especially passionate about crafting excellent software designs and participating in an Agile/SCRUM setting to meet and exceed customer expectations. You like the idea of partnering with scientists, analytical chemists and bioinformaticians to create outstanding clinical and research solutions. You welcome the challenge of working in a fast-paced, discovery-oriented environment and will be genuinely excited about the prospect of creatively exercising your problem solving skills on a continuous basis with an eye to ultimately improving the human condition.
- Design, develop, test, deploy, administrate, and maintain database, data transformation, data visualization, reporting, and medical information systems and platforms.
- Responsible for initial design and development of new software and/or extensive software revisions.
- Define technical requirements and create high-level architectural specifications, ensuring feasibility, functionality, and integration with existing systems/platforms.
- Represent the team in cross-organizational development forums as well as customer requirements gathering and software validation and training sessions.
- Rely on extensive experience and judgment to understand complex problems and resolve them efficiently.
- Use prior knowledge and experience to provide functional and technical support and leadership to colleagues.
- Participate in training and orienting new software engineers as they join the team.
- BS/MS in Computer Science, Physics, Mathematics or equivalently technical disciplines.
- Excited about building world-class software solutions that improve lives.
- Significant understanding of object oriented design and programming.
- 2+ years of solid hands experience with Java; other languages (C++, Ruby, Python, etc. will be considered).
- Hands-on knowledge of user interface frameworks such AngularJS and JQuery. Kendo UI, REST AP.
- Significant experience using Agile software development methodologies.
- Prior exposure to scripting languages (e.g. PowerShell, Perl, Bash) on Windows or Linux.
- Values simplicity in software architecture, design, and practices (TDD, DDD).
- Experience, instincts, and enthusiasm around testing and testability.
- Authentic, transparent and leads by example, holding self and others accountable. Inspires, motivates and collaborates with others.
- Anticipates needs and problems while creating solutions. Is willing to ask difficult questions and take risks. Greets challenge and change as opportunity.
- Experience working with geographically distributed team.
- Highly motivated fast learner who can self-start and "figure out what needs figuring out" .
- Excellent verbal and written communication skills.
- Ability to effectively document artifacts and processes then explain them to others.
- Expertise in OOAD principles and methodologies (e.g. UML).
- Web Service design experience: SOAP Request/Response handling, authentication, REST APIs .
- Experience with databases, persistence frameworks, and SQL.
- Expertise in Configuration Management tools and concepts required.
- Experience with Agile development methodologies (Scrum/XP).
- Cloud Experience
- Exposure to developing multi-tier, scalable, and browser based applications. Cloud-based applications leveraging AWS is highly preferred.
- Data modeling, design and database programming using a variety of relational (Oracle, MySQL, MSSQL, SQLLite) and No-SQL technologies (MongoDB, CouchDB, Cassandra, Neo4j). Data integration, data analysis, data mining, and ETL technologies knowledge is a plus.