Leadership for AI

Practical Software Engineering for Machine Learning Applications

Leading the next generation of AI-driven enterprises.

Discover how principled software engineering practices can drastically enhance development speed, code quality, and maintainability in machine learning applications.

  • Next Training: To be announced
  • Duration: To be announced
  • Price: To be announced
  • Languages: English (German available upon request)
  • Location: Online (Onsite available upon request)

Details

The software being developed in machine learning contexts often remains at fairly low levels of abstraction and fails to satisfy well-established standards in software design and software engineering. One could argue that development environments such as Jupyter even actively encourage unstructured design. This course takes that as a starting point to demonstrate the potential of overcoming the limitations of the typical procedural paradigms that are ubiquitous in machine learning applications.

We use a series of practical examples to highlight the immense value of good design. The goal is to show how a principled software design approach supports every aspect of a machine learning project, accelerating both development and experimentation. Contrary to the common misconception that good design slows down development, we demonstrate that the opposite is true.

Participants will see firsthand the limitations of (unstructured) procedural code and learn how principled design approaches can drastically increase development speed while simultaneously improving the quality of the code along multiple dimensions. The course advocates for object-oriented design principles, which naturally encourage modularity and map well to real-world concepts in the application domain, whether concrete or abstract.

Our overarching goal is to foster maintainability, efficiency, generality, and reproducibility.

Modules

The Importance of Good Design in Machine Learning Software

Understand why machine learning software often fails to meet professional software engineering standards and learn how structured design can bridge this gap.

Overcoming Low Abstraction in ML Development Environments

Explore why environments like Jupyter encourage unstructured design and discover strategies to avoid this trap.

Procedural vs. Principled Design: A Practical Comparison

Examine the limitations of unstructured, procedural code and compare it to principled design through practical examples.

Object-Oriented Design Principles for Machine Learning

Learn how to apply object-oriented design to create modular and maintainable code that supports every phase of a machine learning project.

Accelerating Development with Structured Code

Understand how structured software design approaches can increase development speed and productivity without sacrificing quality.

Fostering Maintainability, Efficiency, and Reproducibility

Implement best practices that promote maintainability, efficiency, generality, and reproducibility in machine learning software engineering.

Meet the trainers

Dr. Dominik Jain

Dominik is a computer scientist with a passion for algorithms, software design and automation in general. As a researcher at Technische Universität München, he gave courses on the topics of artificial intelligence, knowledge representation, statistical relational models and discrete probability theory. After receiving his PhD in artificial intelligence in 2012, he spent the next 11 years working on applied research and development, primarily in the automotive sector. His work leveraged machine learning, probabilistic modelling, combinatorial optimisation, search algorithms, and other methodologies to advance AI-based capabilities across a diverse array of problem domains. In 2023, he joined appliedAI’s TransferLab, working on applications of reinforcement learning and generative AI and developing trainings as well as open-source software for the wider community, before co-founding Oraios AI in September 2024.

Dr. Michael Panchenko

Michael is an AI researcher with a strong background in mathematics and theoretical physics. After completing his master’s degrees in mathematical and theoretical physics as well as mathematics and subsequently working as a researcher in theoretical physics at Ludwig Maximilian University, Michael transitioned into applied AI research. As a lead AI researcher at appliedAI since 2020, he has spearheaded numerous innovative projects, including the application of reinforcement learning for controlling electron microscopes and the development of large language model-based applications. Michael has always been dedicated to education and knowledge sharing. He has taught courses ranging from theoretical physics and mathematics at the university level to specialized industry trainings in ML engineering, reinforcement learning, anomaly detection, and Bayesian methods. His ability to convey complex concepts clearly and effectively has made him a valued educator in both academic and professional settings. He co-founded Oraios AI in 2024.

Dr. Dominik Jain

Dominik is a computer scientist with a passion for algorithms,
software design and automation in general. As a researcher at
Technische Universität München, he gave courses on the topics of artificial intelligence, knowledge representation, statistical relational models and discrete probability theory. After receiving
his PhD in artificial intelligence in 2012, he spent the next 11 years
working on applied research and development, primarily in the
automotive sector. His work leveraged machine learning,
probabilistic modelling, combinatorial optimisation, search
algorithms, and other methodologies to advance AI-based
capabilities across a diverse array of problem domains. In 2023,
he joined appliedAI’s TransferLab, working on applications of
reinforcement learning and generative AI and developing trainings as well as open-source software for the wider community, before co-founding Oraios AI in September 2024.

Dr. Michael Panchenko

Michael is an AI researcher with a strong background in mathematics and theoretical physics. After completing his master’s degrees in mathematical and theoretical physics as well as mathematics and subsequently working as a researcher in theoretical physics at Ludwig Maximilian University, Michael transitioned into applied AI research. As a lead AI researcher at appliedAI since 2020, he has spearheaded numerous innovative projects, including the application of reinforcement learning for controlling electron microscopes and the development of large language model-based applications. Michael has always been dedicated to education and knowledge sharing. He has taught courses ranging from theoretical physics and mathematics at the university level to specialized industry trainings in ML engineering, reinforcement learning, anomaly detection, and Bayesian methods. His ability to convey complex concepts clearly and effectively has made him a valued educator in both academic and professional settings. He co-founded Oraios AI in 2024.

Get your ticket now!

Coming Soon

Contact for inquiries