Sigasi internship proposal 2020-2021
- Skills: Java
- Target audience: master computer science, master informatics
The perceived smoothness of the UI of an IDE is a critical feature. The IDE must never noticeably block the user while editing. The feedback, in the form of errors, warnings, coloring and many more must be provided quickly. To achieve this Sigasi Studio hides a lot of slowness of its compiler by performing small incremental updates and minimizing its interaction with the UI thread. This is great for the user but also makes it more complex to measure the responsiveness of the product.
In this internship it will be your job to write a performance monitoring framework for the Sigasi product. This framework must measure the responsiveness of the editor in various ways: the duration from a single edit or file save to various forms of feedback (coloring update, error/warnings update), length of UI hiccups and the time it takes to perform various operations like applying a ‘quick fix’ or renaming a symbol. These measurements will be dumped into a file or database for future processing. You’ll develop a tool that analyses and summarizes the measurement logs and visualizes the results.
The goal of this framework is twofold, first we want to enable this framework for clients who are experiencing performance issues. This should make it easier to identify the underlying issue that these clients are experiencing. The second goal is to perform continuous performance monitoring as part of our continuous integration to be able to compare the history of the performance of various components and identify regressions.
You will join the core engineering team of Sigasi and participate in the day-to-day development. You’ll join the scrum team, your code will go through the standard review cycle and will eventually have a real impact on our product.
This internship takes place in 2021, at the Sigasi office, close to the city center of Ghent. For more information about this internship proposal, contact firstname.lastname@example.org.