Thermo Fisher Scientific logo

Senior Software Engineer – Algorithm & ML Development

Thermo Fisher Scientific
NewPosted today

LOCATION

Bangalore · Hybrid

EXPERIENCE

8 - 12 Years

TYPE

FullTime

SKILLS REQUIRED

PythonMachine LearningData analysisScientific ComputingdockerAWS ServicesSQLCI/CDSparkDatabricks

Job description

Overview

Senior Software Engineer role focused on Python-based algorithm and machine learning development for scientific and operational data, including migration of analytical workloads from AWS to Databricks.

What you'll do

  • Design, develop, and maintain algorithms for processing, analyzing, and modeling scientific and operational data.
  • Develop robust Python-based computational workflows using appropriate scientific computing, data analysis, and machine learning libraries.
  • Analyze complex datasets to identify patterns, derive meaningful features, and develop predictive or diagnostic insights.
  • Develop and optimize algorithms for areas such as signal processing, image analysis, anomaly detection, predictive analytics, and other data-driven applications.
  • Evaluate algorithm performance through systematic testing, validation, benchmarking, and comparison against defined performance criteria.
  • Collaborate with domain experts and data scientists to translate scientific and business problems into practical analytical and algorithmic solutions.
  • Collaborate with data engineers to define data requirements and consume reliable, curated datasets without duplicating ingestion and ETL responsibilities.
  • Develop reusable, modular, testable, and maintainable Python components for algorithmic and analytical workloads.
  • Improve the performance and scalability of computational workloads, including the adoption of distributed processing where appropriate.
  • Support the migration of existing algorithmic and analytical workloads from the current AWS-based data platform to Databricks.
  • Refactor and adapt existing Python and analytical workloads to operate effectively with Databricks, Spark/PySpark, Delta-based datasets, and distributed compute where appropriate.
  • Develop reusable features and feature-generation logic for experimentation, model training, batch inference, and production applications.
  • Contribute to the adoption of structured ML lifecycle practices including experiment tracking, reproducibility, model validation, versioning, deployment, and monitoring.
  • Work with platform and ML engineering teams to productionize algorithms and machine learning models through repeatable and automated workflows.
  • Participate in technical design discussions, solution reviews, estimation, and implementation planning for algorithm and ML solutions.
  • Apply software engineering practices including source control, automated testing, code review, CI/CD, documentation, and observability to algorithm and ML development.
  • Mentor less experienced engineers and contribute to engineering standards and reusable development practices.

What you'll need

  • 8–12 years of professional experience in software engineering, algorithm development, scientific computing, data science, machine learning, or related technical disciplines.
  • Strong hands-on programming experience with Python and experience developing production-quality Python software.
  • Strong experience with scientific computing and data analysis libraries such as NumPy, pandas, SciPy, or equivalent technologies.
  • Experience designing and 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 translating exploratory or prototype algorithms into maintainable and production-ready implementations.
  • Good understanding of software engineering principles including modular design, object-oriented programming, testing, maintainability, and performance optimization.
  • Experience working with cloud-based data and compute environments, preferably AWS.
  • Working knowledge of SQL and experience accessing and analyzing structured datasets.
  • Understanding of scalable or distributed data-processing concepts and the considerations involved in processing large datasets.
  • Experience with source control systems such as Git.
  • Understanding of CI/CD, automated testing, DevOps practices, and modern software development workflows.
  • Ability to collaborate effectively with data engineers, data scientists, domain experts, platform engineers, and application-development teams.
  • Bachelor's or Master's degree in Computer Science, Data Science, Mathematics, Physics, Electronics, Engineering, or a related technical discipline.

Nice to have

  • Hands-on experience with Apache Spark or PySpark for distributed data processing.
  • Experience developing machine learning or analytical workloads using Databricks notebooks, jobs, or equivalent managed compute environments.
  • Familiarity with Delta Lake and lakehouse-based data architectures.
  • Experience with MLflow or equivalent tools for experiment tracking, model management, and ML lifecycle management.
  • Experience developing and managing reusable features for machine learning, including exposure to feature stores or feature engineering frameworks.
  • Familiarity with Unity Catalog or similar approaches to data, feature, and model governance.
  • Experience productionizing machine learning models for batch or real-time inference.
  • Understanding of MLOps practices including model versioning, reproducibility, automated testing, deployment, monitoring, and retraining workflows.
  • Experience optimizing Python or Spark workloads for performance and scalability.
  • Experience with containerization technologies such as Docker and deployment into cloud-based environments.
  • Experience integrating analytical algorithms or ML models into APIs, digital services, applications, or embedded systems.
  • Experience working with scientific instrumentation, engineering data, image data, sensor data, or other complex technical datasets.
  • Experience working in industrial R&D, scientific, engineering, or product-oriented development environments.

Details

  • Work schedule: standard Monday to Friday.
  • Environmental conditions: office.
  • Does not own core data ingestion or ETL pipelines; focuses on the analytical and algorithmic layer consuming curated data.

Read the full description and apply on the company’s own careers page.

Stay safe

Hiring on Abekus is free for applicants

We never charge a fee, and employers are prohibited from doing so. If a recruiter asks for payment, please report them right away.

Senior Software Engineer – Algorithm & ML Development