Cette opportunité est basée à Lausanne

Optimizing Data Access with Machine Learning ( Internship / Master Thesis)



For business applications, fast access to data is crucial. At the same time, they typically contain complicated business rules and logic, built on top of frameworks such as Hibernate to access data. To satisfy performance requirements, developers will often spend time adjusting or rewriting data queries and various parameters, or adapting the logic itself, until it is fast enough. This causes many problems:

  • The code becomes more complex, and harder to maintain
  • It is short-lived: optimal code is a delicate balance, and small changes by future maintainers may cancel the performance gain
  • It mixes technical details and business logic, so the meaning is obscured
  • It wastes the developer’s time
  • Furthermore, optimisation happens at the wrong time and place:
  • developers tend to optimise performance where it’s easiest to make changes: in their development environment, which won’t match production setup.
  • optimisation obviously happens before deployment to production. But data and usage patterns change over time, and so should data access strategies if we want to keep them performant.

This optimisation task therefore must be automated; however, the tricky point is that we typically know after loading and processing is complete what data was  required, and what would have been the best way to obtain it.

In this role


During your internship, you will develop a transparent layer on top of a database access framework such as Hibernate, that must learn how to correlate environment parameters (such as web request parameters, the current time and date, or the user’s role) with data access patterns, and then modify application requests to match expected requirements. It must be able to monitor performance in real-time and adjust query parameters accordingly, to minimise execution times.

The purpose is then to “cleanse” manually-written optimisations out of a typical business application and let your optimisation layer re-discover those optimisations (or better ones!) independently.

We suggest the code be written in Java or in another JVM language such as Kotlin.

Ce que nous proposons

INTERNSHIP in Lausanne. Join our team as intern and you will find a young, dynamic and culturally diverse working environment.

About your profile

  • Software development
  • Interest in machine learning

If you are INTERESTED in applying for this position, please send us your complete application (CV, cover letter, letter of reference, diplomas and certificates).

En continuant votre navigation sur ce site, vous acceptez l'utilisation de cookies ou technologies similaires ayant pour finalité la réalisation de statistiques de visites sur notre site (tests et mesures d'audience, de fréquentation, de navigation, de performance), mais également de vous proposer des contenus et annonces ciblés et adaptés à vos centres d'intérêt.

Nos cookies ont été mis à jour. N'hésitez pas à mettre à jour vos préférences.


Gérer vos préférences cookies

Mettre à jour vos préférences cookies

Vous pouvez vous informer sur la nature des cookies déposés, les accepter ou les refuser soit globalement pour l'ensemble du site et l'ensemble des services, soit service par service.

OK, tout accepter

Flux de visiteur

Ces cookies nous offrent un aperçu des sources de trafic et nous permettent de mieux comprendre nos visiteurs, tout en garantissant leur anonymat.

(Google Analytics et CrazyEgg)


Outils de partage

Les cookies de médias sociaux permettent de partager des contenus sur vos réseaux préférés.



Connaissance du visiteur

Ces cookies sont utilisés pour suivre les visiteurs sur les sites Internet.

Ils doivent nous permettre d’offrir à nos visiteurs identifiés davantage de contenus pertinents et ciblés (ClickDimensions) et d’afficher des publicités susceptibles d’intéresser les utilisateurs (Facebook Pixels).


Pour plus d'informations relatives à la protection de données, cliquez ici.