Arbeitsort dieser Stelle 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.

What we offer

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).

Wenn Sie auf dieser Website weitersurfen, akzeptieren Sie die Nutzung von Cookies oder ähnlichen Technologien, welche die Erstellung von Zugriffstatistiken für unsere Website bezwecken (Tests und Messungen von Zielgruppen, Besuchen, Surfverhalten und Performance), die Ihnen aber auch gezielt auf Ihre Interessen abgestimmte Inhalte und Inserate anbieten.

Wir haben unsere Cookies aktualisiert. Zögern Sie nicht, Ihre Präferenzen ebenfalls zu aktualisieren.


Ihre Cookie-Präferenzen setzen

Ihre Cookie-Präferenzen aktualisieren

Sie können sich über die Art der hinterlegten Cookies informieren, sie akzeptieren oder ablehnen, sei es für die gesamte Website und alle Services oder einzeln für jeden Service.

OK, alles annehmen


Diese cookies verschaffen uns Einblick in Traffic-Quellen und ermöglichen uns ein besseres, anonymisiertes Verständnis unserer Besucher.

(Google Analytics und CrazyEgg).



Cookies von sozialen Medien erlauben ein Teilen von Inhalten in Ihren bevorzugten Netzen.



Verständnis der Besucher

Diese cookies werden verwendet, um Besucher über verschiedene Websites hinaus zu verfolgen.

Dadurch wollen wir relevantere, zielgerichtete Inhalte für bestehende Kontakte anbieten (ClickDimensions) und Inserate anzeigen können, die für die Benutzer nützlich und ansprechend sind (Facebook Pixels).


Weitere Angaben zu diesen Cookies und unserer Cookie-Richtlinie finden Sie hier.