Work Schedule
Standard (Mon-Fri)
Environmental Conditions
Office
Job Description
Role Overview
We are looking for an experienced Senior Software Engineer with strong expertise in Python, algorithm development, scientific computing, and data-driven solution development.
The ideal candidate will design, implement, validate, and productionize algorithms that transform complex scientific and operational data into actionable insights. The role will work closely with domain experts, data scientists, data engineers, and platform teams to develop robust 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 play an important role in 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 helping establish scalable ML development and operational 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 engineering platform.
Key Responsibilities
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 that can be consistently used 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.
Required Technical Skills
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…