About the job
Scope
- We are seeking an Optimization Specialist with a profound background in both classical
- optimization and advanced heuristic and metaheuristic methods. The ideal candidate will excel in
- formulating and solving various optimization problems (LP, MILP, combinatorial optimization,
- scheduling, etc.) and will be adept in applying innovative algorithms, including genetic algorithms,
- simulated annealing, tabu search, and particle swarm optimization, to achieve optimal solutions.
- This role is pivotal in driving operational efficiency and strategic decision-making through the
- application of sophisticated mathematical and statistical techniques.
Our Current Technical Environment
- Software: Python 3.*
- Frameworks/Others: TensorFlow, PyTorch, BigQuery/Snowflake, Apache Beam, Apache Spark, Kubeflow, Dataflow, Databricks , Kubernetes, Kafka, Pub/Sub, and Flask.
- Application Architecture: Scalable, Resilient, Reactive, event driven, secure multi-tenant
- Microservices architecture.
- Cloud: Google Cloud and/or Azure
What You'll Do
- 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.