Software Engineer – Algorithm Development
Key Skills for This Role
Full Job Posting
Work Schedule
Standard (Mon-Fri)
Environmental Conditions
Office
Job Description
Role Overview
We are looking for an experienced Software Engineer with strong skills in Python, algorithm development, scientific computing, and data-driven solution development.
The ideal candidate will contribute to the design, implementation, validation, and productization of algorithms that transform complex diagnostics and operational data into actionable insights. The role will work closely with senior engineers, domain experts, data engineers and platform teams to develop solutions for data analysis, signal and image processing, predictive analytics, and machine learning.
As our data platform evolves from the current AWS-based environment toward Databricks, the candidate will also contribute to migrating and modernizing algorithmic and analytical workloads. This includes adapting Python-based computational workflows for distributed processing, developing reusable features for analytics and machine learning, and applying modern ML development practices on Databricks.
This role does not own core data ingestion or ETL pipelines. It focuses on the analytical and algorithmic layer that consumes curated data provided by the data exploration/engineering platform.
Key Responsibilities
- Develop and maintain algorithms for processing, analyzing, and modeling machine diagnostics and operational data.
- Build Python-based computational workflows using appropriate scientific computing and data analysis.
- Analyze complex datasets to identify patterns, derive useful features, and support predictive or diagnostic insights.
- Develop and improve algorithms in areas such as signal processing, image analysis, anomaly detection, predictive analytics, and other data-driven applications.
- Perform algorithm testing, validation, benchmarking, and performance evaluation against defined criteria.
- Collaborate with domain experts and data scientists to translate technical and scientific problems into practical analytical solutions.
- Work with data engineers to understand data structures, data quality, and curated datasets required by algorithms.
- Develop reusable, modular, testable, and maintainable Python components.
- Improve the performance and scalability of analytical workloads under the guidance of senior engineers and platform specialists.
- Contribute to the migration of existing algorithmic and analytical workloads from the current AWS-based data platform to Databricks.
- Adapt existing Python and analytical workloads to work with Databricks, Spark/PySpark, Delta-based datasets, and distributed compute where appropriate.
- Develop and maintain reusable feature-generation logic for model development and analytical applications.
- Apply structured ML lifecycle practices such as experiment tracking, reproducibility, model evaluation, versioning, and deployment.
- Support the productionization of algorithms and machine learning models through repeatable and automated workflows.
- Participate in code reviews, technical design discussions, estimation, testing, and implementation planning.
- Follow software engineering practices including source control, automated testing, CI/CD, documentation, and observability.
- Continuously build knowledge of Databricks, distributed processing, and modern ML engineering practices.
Required Technical Skills
- 5–8 years of professional experience in software engineering, algorithm development, scientific computing, data science, machine learning, or related technical disciplines.
- Strong programming skills in Python with experience developing reliable and maintainable software.
- Good experience with scientific computing and data analysis libraries such as NumPy, pandas, SciPy, or equivalent technologies.
- Experience implementing data-processing, analytical, mathematical, or predictive algorithms.
- Experience working with complex datasets and developing data-driven models, features, or analytical workflows.
- Experience in one or more areas such as machine learning, predictive analytics, signal processing, image processing, time-series analysis, optimization, or statistical modeling.
- Good understanding of machine learning fundamentals including feature engineering, model training, validation, evaluation, and inference.
- Experience converting exploratory or prototype code into structured, testable, and maintainable implementations.
- Good understanding of software engineering fundamentals including modular design, object-oriented programming, testing, maintainability, and performance considerations.
- Experience working with cloud-based compute or data environments, preferably AWS.
- Working knowledge of SQL and experience accessing and analyzing structured datasets.
- Basic understanding of scalable or distributed data-processing concepts.
- Experience with source control systems such as Git.
- Familiarity with automated testing, CI/CD, Agile, DevOps, or modern software development practices.
- Ability to work effectively with software engineers, data engineers, data scientists, domain experts, and platform teams.
Preferred Skills
- Exposure to Apache Spark or PySpark.
- Experience with Databricks or another cloud-based data and machine learning platform.
- Experience working with notebooks, managed compute environments, or cloud-based analytical workflows.
- Familiarity with Delta Lake or lakehouse-based data architectures.
- Exposure to MLflow or similar tools for experiment tracking and model management.
- Experience developing reusable features for machine learning or analytical models.
- Familiarity with feature stores, model registries, or similar ML lifecycle concepts.
- Exposure to Unity Catalog or similar data and model governance approaches.
- Experience supporting batch or real-time model inference.
- Understanding of MLOps concepts such as model versioning, reproducibility, automated testing, deployment, and monitoring.
- Experience optimizing Python-based data or analytical workloads.
- Exposure to containerization technologies such as Docker.
- Experience integrating algorithms or analytical models into APIs, applications, or digital services.
- Experience working with scientific instrumentation, engineering data, image data, sensor data, or other complex technical datasets.
- Experience in industrial R&D, scientific, engineering, or product-oriented environments.
Behavioral Competencies
- Strong analytical and problem-solving skills.
- Ability to work effectively on technically complex problems with guidance from senior engineers and domain specialists.
- Willingness and ability to learn new technologies as the data platform evolves.
- Strong ownership of assigned technical deliverables.
- Ability to apply appropriate engineering judgment when choosing between different analytical or computational approaches.
- Good communication skills and ability to explain technical approaches, assumptions, and results clearly.
- Ability to collaborate effectively across software engineering, data engineering, data science, platform engineering, and domain teams.
- Ability to work independently on defined technical problems while contributing effectively within a team.
- Strong focus on software quality, reproducibility, performance, and maintainability.
- Curiosity and willingness to develop deeper skills in Databricks, distributed processing, and ML engineering.
Education
Bachelor’s or Master’s degree in Computer Science, Data Science, Mathematics, Physics, Electronics, Engineering, or a related technical discipline.
About Thermo Fisher Scientific
Thermo Fisher Scientific supplies instruments, laboratory products, life sciences solutions and pharmaceutical services to customers in research, healthcare, industry and applied markets. The company was formed in 2006 through the merger of Thermo Electron and Fisher Scientific.
Visit company websiteJobs and hiring trendsApply for this job in 1 click
Skip the repetitive application forms
Install the Base Career Chrome Extension and autofill job applications across major job boards with your profile.
Trusted by over 500,000 job seekers on Base Career
More from this employer
More jobs at Thermo Fisher Scientific
Senior Software Engineer – Algorithm & ML Development
Bengaluru, IND
Senior Systems Analyst – HR Technology Services (HRTS)
, GBR
Work Schedule Standard (Mon-Fri)Environmental Conditions OfficeJob Description About the Role Join Thermo Fisher Scientific's Human Resources Technology Services (HRTS) team as a Senior Systems Analyst supporting the del
Programmer Analyst II
Bengaluru, IND
Senior Software Engineer – Algorithm & ML Development
Bengaluru, IND
Engineer II QC
Bengaluru, IND
Software Engineer – Algorithm Development
Bengaluru, IND
Regulatory FSP Director CMC Lead - EMEA
, GBR
Senior Systems Analyst – HR Technology Services (HRTS)
, GBR
Inside Sales Representative
, GBR
