Konijn Jobs

Open role

Internship-/graduation assignment - HBO/WO - Gunstream

Thales Nederland

IND sponsorHengeloFull-timehybrid

About the role

Location: Hengelo, Nederland

About the company

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.

More open roles at Thales Nederland