Cookies & analytics consent
We serve candidates globally, so we only activate Google Tag Manager and other analytics after you opt in. This keeps us aligned with GDPR/UK DPA, ePrivacy, LGPD, and similar rules. Essential features still run without analytics cookies.
Read how we use data in our Privacy Policy and Terms of Service.
🤖 15+ AI Agents working for you. Find jobs, score and update resumes, cover letter, interview questions, missing keywords, and lots more.
Thales • Hengelo, Overijssel, Netherlands
Role & seniority: Internship or graduation assignment (student must be enrolled for whole period)
Location & work type: Hengelo, Netherlands; international high-tech environment; flexible/open work environment
Stack/tools: Bazel (build system), Maven (nice-to-have), Podman (container orchestrator), Cucumber (integration testing), Java/C++, OCI containers, Linux, DevOps
Investigate options to fully parallelize containerized integration tests when using Bazel, Podman, and Cucumber within the Thales environment
Create a proof-of-concept improved testing infrastructure enabling parallel containerized tests
Ensure PoC supports Bazel as the build system (Maven optional), uses Podman, relies on the current testing infrastructure, and avoids exclusive or flaky test flags
Affinity with Linux, open source software
Proficiency in Java/C++ and containerized environments (OCI containers)
Experience or familiarity with Bazel, DevOps practices
Prior exposure to Bazel-based pipelines, Podman orchestration, and Cucumber-based integration tests
Experience in multi-disciplinary agile settings and test automation
Location: Hengelo, Netherlands 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. {OPEN} 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. {OPEN} 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. Interested? Direct solliciteren? Gebruik dan je eigen, persoonlijke profiel om jouw interesse aan ons kenbaar te maken en kies voor ‘Apply now’. Would you like to apply directly? Then click on the button ‘Apply now’ to show your interest. Please keep in mind that we can only consider students who are enrolled at a school or educational institution during the whole internship period for our internships and graduation assignments. Interested in finding out more about Thales and why you should join us? Say HI* to new career opportunities.