1) Software development services, including :
- Capture of the requirements of the software component
- Proposal of the functionality of the software component
- Development, test and integration of the software component assigned
- Bug fixing
- Document and publish development work (in English)
Use of programming technologies necessary for firmware development, such as :
Programming languages : C, C++ 11 / 14, Python, TCL o Programming skills : Concurrent programming, multithreaded and multi process systems.UI development : Qt-QMLEmbedded systems tools : Assembly (when required), RTOS conceptsOperating Systems : Linux (embedded and development environment), Windows for tooling, MacOSVersion control systems : Git / GitHubDebugging tools : JTAG, GDB, logic analyzers, oscilloscopes, memory corruption / leakage toolsTesting tools : Unit testing (Gtest / Gmock)Build systems : Make, CMakeContinuous Integration tools : Jenkins or similar2) Software Support to Builds and Prototypes, including :
Detection, analysis, follow-up and resolution of the issues (or proposal for resolution) found in the prototype build lines
Analysis of the impact of the Software changes in the manufacturing lines and communication of these impacts to the Software teams
Coordination and communication with all the teams involved (Software Lab, NPI, MSE, etc.)