
Internship | Enhancing Code Quality through Automated Type Hint Upgrades
About this position
TNO-ESI is an open and diverse innovation research centre with strong partnerships with industry-leading high-tech companies, such as ASML, Canon, Philips, Thales, and Vanderlande. See our website at https://esi.nl/ for more info. TNO-ESI has a strong track record with tooling for analysis and transformation of industrial software. As the industry uses many programming languages, TNO ESI has started the development of a language-agnostic framework to effectively support a large number of programming languages.
What will be your role?
The goal of this internship is to help Python projects move from old-style to the preferred type hints. This process should be automated using TNO-ESI’s new language-agnostic framework that supports, among others, Python. For this process, a number of transformations are needed, such as
- Removing legacy imports, such as the typing module.
- Replacing old collection types (List, Dict) with built-in types (list, dict).
- Simplifying generics by removing TypeVar where possible.
Furthermore, this internship should provide pull requests to a number of open-source Python projects that move their code from using old-style to the preferred type hints, without changing the code’s behaviour. These pull requests should clearly communicate the changes and should probably consist of multiple commits – one for each specific, independent transformation. When time permits, we expect that the process, including its transformations, will be improved based on the feedback from these pull requests.
What we expect from you
This internship offers a unique opportunity to contribute to the modernization of Python codebases by leveraging TNO-ESI’s cutting-edge language-agnostic framework. The student will gain hands-on experience in software analysis and automated code transformation, collaborate with open-source communities, and learn best practices for managing large-scale code migrations.
What you'll get in return
You want an internship opportunity on the precursor of your career; an internship gives you an opportunity to take a good look at your prospective future employer. TNO goes a step further. It’s not just looking that interests us; you and your knowledge are essential to our innovation. That’s why we attach a great deal of value to your personal and professional development. You will, of course, be properly supervised during your work placement and be given the scope for you to get the best out of yourself. Furthermore, we provide:
- A highly professional, innovative internship environment, within a team of top experts.
- A suitable internship allowance (615 euro for wo-, hbo- and mbo-students, for a full-time internship).
- Possibility of eight hours of free leave per internship month (for a full-time internship).
- A free membership of Jong TNO, where you can meet other TNO professionals and join several activities, such as sports activities, (work-related) courses or the yearly ski-trip.
- Use of a laptop.
- An allowance for travel expenses in case you don’t receive an OV-card.
TNO as an employer
At TNO, we innovate for a healthier, safer and more sustainable life. And for a strong economy. Since 1932, we have been making knowledge and technology available for the common good. We find each other in wonder and ingenuity. We are driven to push boundaries. There is all the space and support for your talent and ambition. You work with people who will challenge you: who inspire you and want to learn from you. Our state-of-the-art facilities are there to realize your vision. What you do at TNO matters: impact makes the difference. Because with every innovation you contribute to tomorrow’s world. Read more about TNO as an employer.
At TNO we encourage an inclusive work environment, where you can be yourself. Whatever your story and whatever unique qualities you bring to the table. It is by combining our unique strengths and perspectives that we are able to develop innovations that make a real difference in society. Want to know more? Read what steps we are taking in the area of diversity, equity and inclusion.
The selection process
After the first CV selection, the application process will be conducted by the concerning department. TNO will provide a suitable internship agreement. If you have any questions about this vacancy, you can contact the contact person mentioned below.
Important to be aware of before applying:
- Before the start of the internship, the internship agreement from TNO needs to be signed. For students at a college or university based in the Netherlands, TNO uses the UNL-template (supplemented with a number of specific agreements from TNO). For students of foreign and MBO educational institutions, the TNO internship agreement applies. TNO does not sign any other internship agreements.
- Before the start of the internship, the educational institution will need to confirm in writing that:
- 1) you are enrolled at the educational institution during the internship, and;
- 2) the internship takes place as part of the programme of the study.
- The confirmation of educational institution takes place by signing the UNL template or forms prepared by TNO.
- Interns at TNO must be in possession of a Dutch residential address at the start of the internship. Performance of internship activities from abroad is not possible.
Has this job opening sparked your interest?
Then we’d like to hear from you! Please contact us for more information about the job or the selection process. To apply, please upload your CV and covering letter using the ‘apply now’ button.