Subject to: Susanne Heipcke
Summary
Susanna Hyp, Director of Software Engineering at FICO, leads the modeling and APIs team for FICO Express development, overseeing CI/CD, performance testing, and delivery infrastructure. With over 30 years of experience in applied optimization, she has contributed to the algebraic modeling and programming language Xpress Mosel, the book "Applications of Optimization with Xpress-MP," and numerous research papers. Hyp's early life in western Germany included interests in reading, music (flute and piano), and languages, leading her to excel in a national linguistics competition. She pursued mathematics and business studies at a small university in Bavaria, where she gained early programming experience in Pascal and published her first work on data processing for worker contentment in the hotel and DIY sectors. Her master's and PhD research, funded by BASF and conducted at Buckingham University and MIT, focused on combining mixed-integer programming and constraint programming to solve production planning and scheduling problems, a novel approach in the early 90s.
Key takeaway
For Machine Learning Engineers or Research Scientists developing optimization solutions, consider that integrating diverse skill sets, like linguistic clarity with mathematical rigor, can significantly enhance software design and user adoption. The evolution of Mosel demonstrates that long-term project success hinges on maintaining core development teams, prioritizing robust software engineering practices, and actively incorporating user feedback to refine features like sparse data handling. Focus on building extensible architectures and clear documentation to ensure your work remains impactful and maintainable over decades, even as underlying technologies shift.
Key insights
Combining diverse skills like languages and mathematics can lead to unique contributions in technical fields.
Principles
- Continuity in development teams fosters long-term software evolution.
- Effective software design and documentation are crucial for longevity and maintainability.
- Understanding data structures and complexity is vital for scalable optimization models.
Method
Mosel, an algebraic modeling and programming language, uses its own virtual machine to compile platform-independent models, supporting callbacks for solver interaction and extensibility via C libraries.
In practice
- Explore interdisciplinary paths to differentiate your career.
- Prioritize clear code and documentation for team collaboration.
- Engage with user feedback to evolve software features.
Topics
- Mosel Modeling Language
- Optimization Software Engineering
- Constraint Programming
- Mixed-Integer Programming
- Operations Research
Best for: Machine Learning Engineer, Software Engineer, Research Scientist
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by Subject to.