Junior Embedded Engineer (C++)
About us:
Data Science UA is a service company with strong data science and AI expertise. Our journey began in 2016 with the organization of the first Data Science UA conference, setting the foundation for our growth. Over the past 7 years, we have diligently fostered the largest Data Science Community in Eastern Europe, boasting a network of over 30,000 AI top engineers.
About the role:
We are looking for a Junior Embedded C++ Engineer to become a helping hand for our internal R&D team. You’ll develop a unique platform, which can be used in UAVs and their simulators.
Requirements:
- 0,5-1 year of experience as a C/C++ Engineer;
- Good proficiency in C/C++;
- Basic knowledge of Python;
- Solid understanding of OOP principles;
- Solid CS expertise (algorithms, data structures, design patterns, etc.);
- Experience with embedded systems development;
- Understanding of embedded protocols (UART, SPI, I2C, etc.) including both hardware connection and software communication;
- Student/graduate in the field of Computer Science;
- Location: only Kyiv or Kyiv region. Office attendance is required (at least 2-3 days per week).
Will be a plus:
- Proficiency in Python;
- Experience in writing C/C++ code for Arduino, Raspberry Pi, and/or some other embedded platforms;
- Experience in programming flight controllers and/or piloting UAVs;
- Soldering skills and PCB design experience;
- Effective use of AI tools (GitHub Copilot, ChatGPT, etc.);
- Experience working in a team with other embedded engineers;
- Intermediate English or higher;
- Your own pet projects;
- Experience with microservices in embedded systems, including ZeroMQ;
- Experience with shared memory (RAM) operations;
- Experience with multiprocessor code in C/C++;
- Experience creating and using shared DLLs between C/C++ and Python on Linux and Windows;
- Knowledge of encryption algorithms and embedded security;
- Experience with low-latency C/C++ systems (e.g., fast SDL rendering on devices);
- Experience with analog-to-digital converters;
- Basic understanding of image processing and computer vision principles;
- Experience in task-tracking systems like Jira/Asana.
Soft skills:
- Independent work, without careful supervision, willingness to take responsibility;
- Timely and high-quality delivery of results;
- Ability to learn quickly;
- Flexibility regarding occasional overtime or weekend work when required (with compensatory time off).
Responsibilities:
- Development and testing of C++ software for embedded systems and microcontrollers;
- Working with embedded communication protocols;
- Additional responsibilities as needed for project completion.
We offer:
- Competitive social package (medical insurance, English classes, etc.);
- Development of professional skills and support in acquiring new knowledge (by attending our conferences and events, exchange of experience, etc.);
- Friendly team;
- Interesting and challenging tasks.