Embedded Engineer
Hi! We are looking for a Senior/Lead Embedded Software Engineer (Ukraine-based) to join Ralabs and work on technically challenging projects involving embedded systems, edge computing, and AI-powered solutions.
The role combines hands-on software development, hardware integration, and performance optimization. You will work with resource-constrained devices, adapt existing software to new hardware platforms, and help develop reliable, production-ready solutions.
Beyond individual projects, you will contribute to our broader engineering capabilities in embedded systems and edge AI.
📍 Location: Ukraine-based
🕒 Engagement: Part-time (approximately 10–20 hours per week during the first 1–3 months), with the potential to transition to full-time.
Requirements
Experience
- 6+ years of commercial software engineering experience.
- Proven experience developing software for embedded Linux environments.
- Hands-on experience with ARM-based computing platforms.
- Proven experience integrating software with hardware components and external devices.
- Proven experience optimizing software for performance, memory, and hardware constraints.
- Ability to independently investigate technical challenges and deliver working solutions.
- English proficiency: Upper-Intermediate.
Technical Expertise
- Strong proficiency in C/C++ and/or Python.
- Solid knowledge of Linux internals, system-level programming, and debugging.
- Experience with embedded platforms such as NVIDIA Jetson, Raspberry Pi, or similar.
- Experience with YOLO-NAS, YOLOX, and DarkYOLO in ONNX.
- Understanding of hardware interfaces and communication protocols (UART, GPIO, SPI, I2C, etc.).
- Experience with computer vision, image processing, or real-time data processing.
- Understanding of ML model deployment and optimization on edge devices.
- Familiarity with software security, encryption, and secure deployment practices.
- Strong understanding of performance optimization, testing, and troubleshooting.
Leadership & Collaboration
- Ability to take technical ownership of assigned tasks and solutions.
- Strong analytical and problem-solving skills.
- Ability to evaluate technical approaches and make practical engineering decisions.
- Comfortable working with incomplete requirements and exploring alternative solutions.
- Ability to collaborate with cross-functional engineering teams and technical stakeholders.
Responsibilities
Embedded Software Development
- Design, develop, and maintain software for embedded computing platforms.
- Adapt existing software solutions to different hardware architectures.
- Integrate software with hardware components, peripherals, and external systems.
- Troubleshoot system-level issues and improve overall reliability.
- Ensure software operates efficiently within hardware limitations.
Edge AI & Computer Vision
- Support the integration and deployment of AI/ML models on edge devices.
- Optimize inference performance, resource usage, and processing efficiency.
- Work with computer vision and real-time data processing pipelines.
- Evaluate technical approaches for improving system performance.
Engineering Excellence
- Write clean, maintainable, and well-tested code.
- Establish reliable development, testing, and deployment practices.
- Identify performance bottlenecks and propose improvements.
- Ensure appropriate security and reliability standards.
- Maintain technical documentation.
Collaboration & Delivery Support
- Work closely with engineering teams, technical leads, and project stakeholders.
- Participate in technical discovery and solution design.
- Support technical estimations and feasibility assessments.
- Communicate technical challenges, risks, and dependencies.
- Take ownership of delivering working, production-ready solutions.
Pre-Sales & Solution Design (Optional Involvement)
- Support technical discovery for new embedded and edge AI opportunities.
- Evaluate technical feasibility and potential implementation approaches.
- Contribute to solution design and effort estimation.
- Participate in technical discussions with prospective clients.
Technology Office Contribution
- Help develop Ralabs’ expertise in embedded software and edge AI.
- Research and evaluate relevant hardware platforms, frameworks, and technologies.
- Share technical knowledge and engineering best practices.
- Contribute to reusable solutions and internal engineering standards.
Would be a plus
- Experience with CUDA, TensorRT, or other NVIDIA technologies.
- Experience with OpenCV, GStreamer, or similar frameworks.
- Practical experience deploying and optimizing ML/CV models on embedded hardware.
- Experience with real-time systems and video processing.
- Experience with secure boot, firmware protection, or embedded security.
- Experience in hardware prototyping and working directly with electronic components.
- Experience with hardware migration or embedded platform modernization.