Description
At ELCA we frequently need to perform migrations or wide-ranging refactoring on large code bases, such as:
These tasks have this in common that they are very time-consuming, very repetitive, and yet difficult to automate. Just like translation of human languages, a migration from a technology to another should adopt the target language idioms to ensure the generated code is easy to understand, verify and maintain.
Translation of human languages based on LLMs (Large Language Models) outperforms programmed algorithms, thanks to the huge volume of text they have been trained on. Similarly, LLMs have in the recent years demonstrated increasing ability on processing and production of "idiomatic" source code. We believe they will play a key role in large-scale refactoring and migration tasks.
LLMs are notoriously prone to "hallucinations" and "creativity" which are unwanted when working with source code, so verification and enforcement of code produced by a migration tool is crucial. Detecting errors can be done with static analysis tools on the generated code, or by generating or migrating automated tests. When a test discovers that code was incorrectly migrated, there must be a way to iterate on the generation to fix failing tests and compilation errors. Such iterative code refinement has already been demonstrated with LLM-based code generators.
Objectives
Our offer
Skills required
Knowledge of at least one programming language (Java, TypeScript, Python) and strong analytical skills in general are required. Experience or general knowledge in working with LLMs is a plus.
We are ELCA, one of the largest Swiss IT tribe with over 2,300 experts. We are multicultural with offices in Switzerland, Spain, France, Vietnam and Mauritius. Since 1968, our team of engineers, business analysts, software architects, designers and consultants provide tailor-made and standardized solutions to support the digital transformation of major public administrations and private companies in Switzerland. Our activity spans across multiples fields of leading-edge technologies such as AI, Machine & Deep learning, BI/BD, RPA, Blockchain, IoT and CyberSecurity.