Job Detail

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

Inseriert am: 19.02.2020
This opportunity is based in Lausanne

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

PrintShareApply

Description 


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


Objectives  


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


INTERNSHIPin 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).ApplySee alsoTraining ( Apprenticeship/Interns/ Master Thesis)

Risk Management for Banking in a digital world (Master Thesis)

Read moreTraining ( Apprenticeship/Interns/ Master Thesis)

Autonomous 3D Model Simplification Pipeline (Internship / Diploma Thesis)

Read moreTraining ( Apprenticeship/Interns/ Master Thesis)

Event-Driven Architecture (Diploma Thesis/Internship)

Read moreRead moreCorporate

About ELCA


With 50+ year of history and over 1300 specialists, we offer a unique spectrum of experience, skills and technical innovations.

Read moreCorporate

Starting your career with us!


You want to leverage your educational background, apply your infinite curiosity and your out-of-the-box thinking.

Read moreJob opportunity

All Job opportunities


Your initiative is a chance ! We're constantly looking for talented individuals. Check our latest job opportunities !


By continuing to browse this site, you accept the use of cookies or similar technologies whose purpose is to produce statistics on visits to our site (tests and measurement of visitor numbers, visit frequency, page views and performance) and to offer you content and promotions which will be of interest to you.


Our cookie policy has been updated. Feel free to manage your preferences.

OK, accept allConfigureclosesave

Manage your cookie preferences


Update your cookie preferences


Find out about the type of cookies stored on your device, accept or block them for the entire site, all services or on a service-by-service basis.


OK, accept all


Visitor flow


These cookies provide us with insight into traffic sources and allow us to better understand our visitors anonymously.


(Google Analytics and CrazyEgg)

NewDisableAllow

Sharing tool


Social media cookies allow content sharing on your preferred networks.


(ShareThis)

NewDisableAllow

Visitor understanding


These cookies are used to track visitors across websites.


The intention is to enable us to offer more relevant, targeted content to existing contacts (ClickDimensions) and display ads that are relevant and engaging for users (Facebook Pixels).


 

NewDisableAllowFor more information about these cookies and our cookie policy, click here

Details