Overview
Required skills
C / strong Rust / good Networking / strong English / strong
We have a great opportunity for an experienced, responsible, and self-motivated C Developer to join our embedded software development team to work on a smart tracking device project.
Customer
Our customer is a major international company that develops smart sleep-tracking devices.
Project
By joining the project, you will work with a team of experienced engineers to enhance the capabilities and efficiency of a smart sleep-tracking device that connects to a phone and provides users with a wide range of analytical metrics.
Requirements
Requirements
1. Strong C code skills
2. Good Rust coding skills
3. Good understanding of WebRTC, WebSocket, and FFmpeg
4. Knowledge of ESP 32 MCU, interfaces and protocols (UART, I2C, SPI, I2S)
5. Experience with Linux OS
6. Expertise in Video Transcoding (codecs such as H264, H265, and MJPEG) and Streaming (concepts such as NALU, AVCC, SPS, and PPS, in the context of H.264)
7. Knowledge of Audio Transcoding (codecs such as AAC, OPUS, PCM, G.711, G.722) and Streaming (concepts such as DTX, and PLC, in the context of OPUS)
8. Experience with Networking and IoT device development
9. Experience in debugging and troubleshooting solutions for embedded systems. It should include software debugging on real HW and debugging of HW issues
10. At least an Upper-Intermediate level of English
WOULD BE A PLUS:
11. Experience with С++ 14 standard or higher
12. Practical experience with Bash and Python
13. Knowledge of Google Protobuf protocols
Responsibilities
Responsibilities
14. Develop software components using C and Rust
15. Contribute to the development of technical project documentation and user documentation
16. Participate in conference calls and face-to-face meetings with the Customer and the Customer’s partners
17. Comply with the best engineering practices, technical standards, and quality criteria set forth on the project
18. Report status and progress according to the project and company demands
19. Spot current deficiencies in the development process, adopted procedures, engineering practices, environment configurations, etc., and suggest improvements
20. Escalate technical issues to the Architect, Team Lead, and Project Manager
21. Improve your qualification within the areas of expertise at various training courses, seminars, and/or other educational organizations