Identify and model optimization problems across different business units, focusing on LP, MILP, combinatorial optimization, and scheduling.
Design and implement robust optimization algorithms, including both classical methods and advanced heuristic and metaheuristic techniques such as genetic algorithms, simulated annealing, tabu search, and particle swarm optimization.
Evaluate and select appropriate non-commercial (e.g., COIN-OR, SCIP) and commercial solvers (e.g., Gurobi, CPLEX) for specific problems, customizing and extending as necessary.
Collaborate with stakeholders to translate business challenges into quantitative models, offering innovative solutions that leverage optimization techniques.
Perform data analysis and statistical validation of models and solutions, ensuring accuracy
and efficacy.
Keep abreast of the latest developments in optimization and computational intelligence,
incorporating these advancements into problem-solving strategies.
Document and communicate methodologies, solutions, and impacts of optimization projects to a diverse audience, including technical reports and presentations.
Collaborate with stakeholders and cross functional teams to understand business needs and translate them into technical requirements and architectural designs.
Define the design, architectural and engineering patterns / standard for the team to follow.
Involve actively in architecture and code reviews and provids feedback to ensure software quality and its compliance to architectural patterns and guidelines.
Work closely with project managers, lead engineers, functional analysts, and other stakeholders to define project scope, priorities, estimates and timelines.
Drive the adoption of cloud-native architectures and microservices-based solutions.
Identify and mitigate technical risks and challenges throughout the software development
lifecycle.
Develop and/or contribute towards proof-of-concept work, as and when needed.
Create and maintain documentation related to architecture, design, and other technical artifacts.
Own the Non-functional requirements and outcomes like (but not limited to) Observability, Scalability, Reliability and Performance.
Push the team towards better quality software by constructively pointing out opportunities to reduce complexity and to write cleaner code and more effective tests.
Actively promote best practices
Help other team members to come up with simpler, more robust, and more efficient designs and code.
Identify root causes of issues and fixes those rather than their symptoms.
Actively share knowledge in their field of expertise, e.g., by contributing to open source software projects, offering training sessions, holding conference presentations, etc.
Empower, mentor, and grow less experienced team members, e.g., by sharing knowledge and providing hints so they come up with their own solutions.
Design services to be self-healing and to offer self-service capabilities from the ground up to achieve minimum manual intervention.
What We Are Looking For
5 to 8 years of experience in Operations Research.
Master's or Ph.D. in Operations Research, Applied Mathematics, Statistics, Computer Science, Data Science, or a related field.
Deep understanding of a wide range of optimization theories and methods, including LP, MILP, combinatorial optimization, scheduling, and especially heuristic and metaheuristic algorithms (genetic algorithms, simulated annealing, tabu search, particle swarmoptimization).
Proficient in optimization modeling languages and tools (e.g., AMPL, Python with PuLP or Pyomo, MATLAB).
Demonstrable experience with both non-commercial and commercial optimization solvers, with a keen ability to tailor solutions to complex problems.
Strong statistical analysis skills, with proficiency in tools such as Python.
Excellent problem-solving abilities, creativity in approach, and a track record of innovative solutions in optimization.
Effective communication skills for presenting complex concepts to technical and non[1]technical audiences.