Computer Science Intern (Graph based data extraction algorithm)

  • Intern

Company Description

Join a Fintech Pioneer ! Digital technology is deeply rooted in our DNA. Since our Company’s creation in 1996 by two EPFL engineers, we have used it to democratise banking and allow our clients to make independent decisions on our web platforms. We rely on more than 200 engineers (software engineers, front-end developers, software architects, DevOps engineers and data architects) to improve our solutions. Cryptocurrencies, Artificial Intelligence, Robo-advisory, Virtual Reality...There is no limit to what we can do to revolutionise the financial world !

We are currently looking for our new Computer Science Trainee (6 months) who is enrolled in a Master in Computer Science/Communication Systems and looking for a Master Project. 

Job Description

Background:

The project’s goal is to improve the performance of the crawling engine and save time by visualizing and predicting the final result of cascading effects when tuning the data extraction process.

At Swissquote we investigate on client issues every day and sharing restricted data with offshore teams is challenging. Because of data security policies, we cannot give access to all the bank data to offshore. Therefore we have built a crawling engine to extract a subset of data for offshore development environment. However it is slow, time consuming and error-prone. When investigating for a particular client issue, we need to extract new data for this client. It requires to re-run the full data extraction process, which delays the incident response performed by offshore.

Moreover, data quality and consistency can only be assessed at the end of data extraction, necessitating several tuning iterations due to the complexity of the architecture, which cannot be changed easily. For example, one final web application can have up to 100 dependencies. Updating the data extraction script of one dependency can lead to cascading effects that make the final data set unusable.

Your role:

  • Understand the current data extraction process and analyze its complexity
  • Understand the workings of the current compiler of the crawling engine
  • Design an algorithm to improve the data extraction speed and flexibility
  • Design and implement a UI application to visualize the dependency architecture, and predict the final result of cascading effects when tuning the data extraction process
  • Improve pre-processing, lexical analysis, parsing, semantic analysis of the existing compiler
  • Design algorithm that works on a dependency graph

Qualifications

  • Currently enrolled in a Master in Computer Science/Communication Systems
  • Good knowledge of Java, Oracle, SQL
  • Compiler basic knowledge (for lexical analysis and syntax analysis)
  • Graph algorithm and graph visualization library knowledge 

Nice to have:

  • Experience with a source code management tool (GitHub)
  • Experience with containerization technology (Docker, K8S)

 

Additional Information

SQ1

Privacy Policy