Position Overview: Experienced software developers C/C++ are sought to work on their own projects and support junior developers in their work.
Responsibilities:
1. Lead development of software applications from concept design, requirements definition, detailed design, and coding.
2. Work with Mechanical/Electrical and Electronics engineers as part of a team to ensure project success.
Required Skills:
1. Software development in C/C++.
2. Software development in Python/MATLAB.
3. Experience of embedded software design and appreciation of associated hardware.
4. Strong mathematics background.
5. Experience of leading technical software projects.
6. Strong understanding of software engineering principles.
7. Experience of writing C/C++ for embedded applications.
8. Experience in designing and developing control systems, preferably of motor control principles and theory and interfaces.
Desirable Skills:
1. Experience of using STM32 processors and Keil uVision development environment and tools.
2. Familiarity with communications such as Ethernet, RS422/UART, CAN, SPI, etc.
3. Hardware interfacing, GPIO, ADC, DACs, etc.
4. Understanding of developing desktop applications and user-centric interface design.
5. Experience with QT and QT Creator for multiplatform development in C++.
6. Proficiency in Visual Studio C++ and C#.
7. Knowledge of low latency programming techniques.
8. Networking (TCP/UDP).
9. Use of source control, particularly SVN and GIT.
10. Experience with Jira and Confluence for software requirements and task capture.
11. Experience with unit testing tools and technologies.
12. Static code analysis.
#J-18808-Ljbffr