Cette opportunité est basée à Bern et Zurich

Master Thesis: Implement a Language Server for Code Completion

Appliquer

 

Description  

Operating and maintaining data pipelines of advanced data lakes is a challenge. Our open-source product SmartDataLakeBuilder (smartdatalake.io) makes this much more efficient by a metadata driven approach. Data objects and transformations  are configured in HOCON notation (superset of json). With this information SmartDataLakeBuilder executes the data pipelines using state-of-the-art BigData technologies (Apache Spark). In order to write the HOCON configuration files more easily, we would like to develop a service providing code completion to IDE’s by implementing the language server protocol (LSP).

Challenge: The SmartDataLake configuration file needs to be parsed and the context at a given position understood. With that it is possible to look up possible configuration options from the Scala configuration structures. Then a list of code completion hints can be created. Welcome to the world of parsers and compilers with a not so complicated entry level challenge.

In this role

The goal of the master thesis is to:

  • develop a service implementing the language server protocol with LSP4J and Java/Scala, to provide SmartDataLake HOCON notation code completion for various IDE’s.
  • Create a plugin for Visual Studio Code to use your LSP implementation
  • Bonus: Create a plugin for IntelliJ to use your LSP implementation

Ce que nous proposons

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

About your profile

knowledge / skills required  

  • Knowledge in Java/Scala and basic knowhow about parsers and compilers.
  • Interest to deep dive into a concrete parser/compiler challenge.

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.

fermer
save

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)

Nouveau

Outils de partage

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

(ShareThis)

Nouveau

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

 

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