Team/ Department:
The Reference Data Management 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).
During the internship, the intern will be part of the team and integrated in the agile methodology. He/she will share his/her progress on a daily basis with the team and interact with other team members to learn and get information.
Missions:
For the last few years, the number of modules and code lines owned by the Reference Data Management team have considerably increase. However, we need to ensure that all modules match our expectations in terms of code quality, test coverage, security, operability, performances and documentation. A code quality view is a way to get a visual representation of the global state of the code.
But manually building and maintaining such a view can be costly and lack of accuracy. The aim of this internship is to build an internal tool or automated process to build a quality view for the Reference Data Management modules and to keep it up to date. The tool/process will extract data from various sources (code, continuous integration servers, other tools) and publish the resulting view in a web page showing at any time the current state of the code (refreshed every week).
The intern will have a certain freedom in the choice of the language used for this development. Some existing tools that could be used in this project are developed in java, groovy, javascript/html but the final solution could include python, jsnode, web ui frameworks or other languages.
The internship should cover the following aspects:
- Identify the needed information and the way to measure them
- Propose a clear way to visualize this information on the final view (colors, shapes, etc.)
- Put in place the tool/process allowing to build the view
- (Optionally) make it possible to filter/select the information displayed on the view at the same time
During the development of the tools and the production of intermediary/partial quality metrics, the intern will have the opportunity to propose and fix the detected issue, following the standard delivery process as any other developer of the team.
Profile:
Student in last year of an Engineering/Computer Science degree.
« Mandatory » skills:
- Good knowledge of various languages (java, groovy, javascript, python) and operating systems (linux + shell scripting, windows)
- Good knowledge and coding experience on Object Oriented Programming (especially 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:
- Web ui development experience
Duration: 6 months