Internship - Software Development

Purpose

Design and implementation of an embedded system control application

Key Missions

As an intern, you will participate in all stages of application development, under the supervision of our technical team. You will be required to :


- Help define the application's design and architecture, proposing technical choices adapted to the constraints of embedded systems.
- Develop and optimize s
oftware modules for an embedded environment (C/C++)
- Design and implement an ergonomic interface for the application (JavaScript, Node.js)
- Develop and integrate REST APIs enabling communication between the application and the embedded system
- Implement server-side modules to process requests and manage data exchanges
- Set up and run unit and functional tests to guarantee the application's robustness and performance.
- Participate in the continuous improvement of code by carrying out code reviews and following agile development principles
- Write detailed technical and functional documentation

Profile & Other Information

 Student in final year of engineering school or master's degree in computer science (Bac+5)

- Passionate about software development and new technologies

- Autonomous, rigorous and with a good analytical mind

 

Skills required:

- Good command of programming languages: C/C++ (for embedded applications), JavaScript, Node.js

- Experience in embedded software development and performance optimization

- Knowledge of embedded architectures and associated development constraints

- Experience in web interface development

- Good understanding of communication protocols and REST APIs

- Experience in implementing backend modules on embedded systems

- Familiarity with Agile development methodologies and version management tools (Git)

- Ability to work in a team, share knowledge and propose appropriate solutions

- Ability to solve complex problems and work independently

- Good communication skills and ability to document developments clearly and concisely