Meewerkstage
Internship-/graduation assignment - HBO/WO - Gunstream
About us
In the Netherlands, where 3000 employees are based, we are located in four cities: Huizen, Delft, Eindhoven and Hengelo (HQ). Together with an extensive ecosystem of knowledge partners, customers and suppliers, we work on radars for naval vessels, cyber security solutions, transportation systems, communication equipment for land forces, cryogenic cooling solutions and research & development for radar tech (in collaboration with TU Delft).
Department
The software department of the Application Engineering cluster is responsible for the software development in Combat Management and Radar- and Optical sensors for worldwide navies- and defense systems. The work is performed in multi-disciplinary agile teams with specialists in software/system/test engineering and functional design.
The software department of the Application Engineering cluster is responsible for the software development in Combat Management and Radar- and Optical sensors for worldwide navies- and defense systems. The work is performed in multi-disciplinary agile teams with specialists in software/system/test engineering and functional design.
About the assignment
Background
At Thales, a project is currently ongoing to migrate away from the currently used Maven build system to Bazel for increased build performance, more granular caching, better parallelism and more deterministic artifacts. The current work for the Bazel migration project mainly consists of adopting or creating Bazel variants of the tools used within the different departments to build software components, systems and applications. One of these tools called Cucumber is used to run behavior driven integration tests. This is used to run containerized integration tests of software components using Podman containers in an environment similar to an actual deployment environment.
One of the advantages of Bazel is its highly efficient parallel execution of so-called actions, which include tests. However, this is currently conflicting with the limits of our integration test setup, mainly due to the limitations of Podman being single-threaded and non-reentrant which is at best unreliable when run in parallel, or will simply fail. This requires that parallel execution is disabled for these tests, significantly increasing build time and reducing part of the advantage that Bazel provides.
Assignment
It needs to be investigated what options are available within the closed Thales environment to fully parallelize containerized integration tests when using Bazel as the build system, Podman as the container orchestrator and Cucumber as the integration testing framework.
The goal for this assignment is to create a proof-of-concept of an improved testing infrastructure capable of running containerized integration tests in parallel. The PoC needs to adhere to the following:
- Support Bazel as the build system (working with Maven is a nice to have)
- Uses Podman as the container orchestrator
- Uses the current testing infrastructure as a base
- Uses Cucumber as the integration testing framework
- No tests shall require the ‘exclusive’ flag, which forces given tests to run sequentially.
- Ideally, no test shall require the ‘flaky’ flag, which executes a test ‘n’ number of times, where the test is considered as passed so long as one of the attempts passes. Since this is also highly dependent on the tests themselves, this is not a hard requirement.
Affinity
Linux, Open Source, Java/C++, OCI containers, Bazel, DevOps
Thales offers…
- An interesting internship or graduation assignment in an international high tech environment
- An open and flexible working environment
- An excellent internship allowance
- Its own student association where you can participate in educational and fun activities.
Veelgestelde vragen over Thales
Ontdek wat je kunt verwachten als starter bij Thales
Het sollicitatieproces bij Thales begint met het insturen van je sollicitatie via de website. Na een positieve beoordeling volgt een kennismakingsgesprek. Thales streeft naar een divers personeelsbestand en biedt gelijke kansen voor iedereen.
Als starter bij Thales werk je aan uitdagende projecten binnen de technologie- en defensiesector. Je week bestaat uit projectwerk, persoonlijke coaching en trainingen gericht op professionele ontwikkeling. Daarnaast maak je deel uit van een team, waarin je samenwerkt met collega's uit verschillende disciplines.
Thales biedt diverse doorgroeimogelijkheden, afhankelijk van prestaties en ambities. Na het afronden van het traineeship kun je doorgroeien naar specialistische of leidinggevende functies binnen de organisatie. Daarnaast zijn er mogelijkheden om je verder te specialiseren in verschillende vakgebieden.
Thales investeert in jouw ontwikkeling door middel van persoonlijke coaching, begeleiding en training. Er is ruimte voor persoonlijke en professionele groei, met aandacht voor zowel technische als soft skills.
Als starter bij Thales ontvang je een bruto maandsalaris van ongeveer €3.888, afhankelijk van de functie en ervaring. Salarisgroei is gebaseerd op prestaties, ervaring en marktconformiteit. Daarnaast biedt Thales uitstekende secundaire arbeidsvoorwaarden, waaronder 8% vakantiegeld, een dertiende maand, een pensioenregeling en opleidingsmogelijkheden.
Thales hecht waarde aan een goede werk-privébalans. Flexibele werktijden en thuiswerkmogelijkheden zijn bespreekbaar, afhankelijk van de functie. Daarnaast zijn er mogelijkheden voor extra vakantiedagen via het individueel keuzebudget.
Thales is actief in meerdere landen, waardoor er mogelijkheden zijn voor internationale ervaring. Afhankelijk van je functie en interesses kun je deelnemen aan projecten in het buitenland of samenwerken met internationale teams.
Gerelateerde vacatures
Vacatures die je misschien ook interresant vind.