IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Stage 3a - dev Java - reinvent the caching mechanisms of reference data objects

Ile de France, Paris (75000) - Référence : JR_SF42457
Originellement mis en ligne le 7 décembre 2023 - Remontée le 29 janvier 2024 par Murex (+ d'offres)
Murex
Type de contrat :Stage
Métier :Développeur Java
Niveau d'étude requis :BAC+5 ou plus
Type d'entreprise :Editeur de logiciel
Localisation :Ile de France, Paris (75000)
Télétravail :Pas de télétravail
Compétences requises :C++, Intégration continue, Java, Optimisation mathématique, SQL, Unix
Envoyer une candidature

Poste à pourvoir

The team

The Reference Data team is in charge of developing and handling the evolutions of internal services providing various data objects to different other services and business solutions of the MX.3 platform. The development team is composed of 2 C++ developers and 5 java developers (2 of them located in Beirut).


Missions
The reference-data/settlement services are used by more and more MX solutions in more and more contexts. The challenge for these services is to distribute large numbers of objects to many other services as quickly as possible over long periods of time with constant reliability.

The caching of the data objects is a key factor in fulfilling these requirements. Data objects can be cached at the service level of course but also at the level of the client api also developed by the Reference Data team and used by some services to retrieve the data from the service.

The caching of the data involves various challenges related to:

- The cache invalidation: modifications of cached objects must be detected to keep the cache up-to-date at any time.
- The nature of the objects: some objects are versioned, some are not.
- The way data is retrieved by the clients: objects requested by unique keys are easy to cache and keep up-to-date but sets of objects requested through filters involving various criterions are more complex to manage (e.g. keep the cached filter results up-to-date after detecting object modifications)
- The way data objects are built server side: some objects have fields computed dynamically or retrieved from other objects.
- The required memory to properly manage the different types of caching for the different types of objects: risk of out of memory issues in production.

The objectives are to reinvent this caching mechanism to make it quicker and more robust in order to confidently face the important challenges to come:

- Re-design the existing caching mechanisms by analyzing and optimizing the existing algorithms OR develop an alternative relying on new algorithms, design patterns or third parties.
- Optimize memory usage by analyzing and tuning the memory footprint of cached objects, factorizing the storage of shared objects, designing mechanisms to delete unused or irrelevant objects.
- Build benchmarks allowing us to establish recommendations to our customer regarding the memory to allocate to our services depending on their business activity.

Profil recherché

Your profile
Student in last year of an Engineering/Computer Science degree.

« Mandatory » skills:
- Good knowledge and coding experience of object-oriented programming (preferably Java)
Interest in software engineering challenges (“clean code”, resilience, operability, continuous integration, optimization, etc.)
- Autonomy, curiosity, and capacity for innovation
- Good understanding and speaking of English or French


« Nice to have » skills:
- Used to unix environments.
- Knowledge on SQL

Duration : 6 months

Description de la société

Murex is a global fintech leader in trading, risk management and processing solutions for capital markets.

Operating from our 19 offices, 2700 Murexians from over 60 different nationalities ensure the development, implementation and support of our platform which is used by banks, asset managers, corporations and utilities, across the world.

Join Murex and work on the challenges of an industry at the forefront of innovation and thrive in a people-centric environment.

You’ll be part of one global team where you can learn fast and stay true to yourself.

Envoyer une candidature