Barco logo

Internship - RUST for embedded systems

Barco
3 hours ago
Internship
On-site
Kortrijk, Flemish Region, Belgium
Engineering

Overview

We are seeking a motivated ICT student for an internship focused on evaluating the feasibility and impact of transitioning from C/C++ to Rust in embedded systems development. This internship will explore safety, correctness, tooling, training needs, and the practical implications of adopting Rust in a professional embedded software environment.

Objectives

  • Compare Rust with C and C++ in terms of:
    • Memory safety
    • Concurrency safety
    • Compile-time correctness guarantees
    • Runtime performance
  • Evaluate the maturity and suitability of Rust for embedded systems:
    • Support for microcontrollers and real-time systems
    • Availability of crates and libraries
    • Community and vendor support
  • Assess the transition effort:
    • Required training for embedded software engineers
    • Migration strategies (partial vs. full rewrite)
    • Estimated time frame for adoption
  • Identify tooling requirements:
    • Open-source vs. vendor-supported tools
    • IDEs, debuggers, build systems, CI/CD integration
  • Highlight potential disadvantages or limitations:
    • Ecosystem maturity
    • Integration with existing C/C++ codebases
    • Long-term maintainability

Deliverables

  • A comparative report with benchmarks and case studies
  • A transition roadmap with training recommendations
  • A tooling overview and setup guide
  • Presentation of findings to the R&D team

Profile

  • ICT or Computer Science student with interest in embedded systems
  • Familiarity with C/C++ and basic knowledge of Rust
  • Analytical mindset and ability to work independently
  • Strong communication skills for presenting technical findings

Duration

  • 3 to 6 months (flexible based on academic schedule)

Benefits

  • Hands-on experience with cutting-edge technologies
  • Mentorship from experienced embedded software engineers
  • Opportunity to influence future technology choices in a professional R&D setting