C/C++ Software Engineer
Compensation estimateAI
See base, equity, bonus, and total comp estimates for this role — free, no credit card.
Sign up to see compensation estimateWe are seeking an experienced Senior Software Developer with 0-2 years of strong expertise in C/C++ programming to join our team. The ideal candidate will have a proven track record in developing real-time applications, particularly in video streaming and hardware interface development.
Responsibilities
- Design, develop, and maintain real-time applications on Linux platforms using C/C++.
- Work with video streaming libraries like G-Streamer to develop robust streaming solutions.
- Integrate and manage USB and GMSL interfaces for camera systems.
- Apply Object-Oriented Programming (OOP) principles and follow SOLID principles for scalable software development.
- Design system architectures and implement efficient software design patterns.
- Develop and manage build systems using CMake for modular and efficient code compilation.
- Debug and resolve complex software issues in a real-time system environment.
- Use version control tools (e.g., Git) for collaborative development, branching, and version management.
- Participate in peer code reviews to ensure code quality, consistency, and adherence to best practices.
- Collaborate with cross-functional teams to understand project requirements and deliver high-quality software solutions.
Required Skills and Qualifications
- Programming Skills:
Proficiency in C and C++ with a strong understanding of OOP concepts.
- Video Streaming Expertise:
Hands-on experience with G-Streamer or similar video streaming libraries and codecs.
- Hardware Interfaces:
Knowledge of USB and GMSL interfaces for camera integration.
- Real-Time Applications:
Experience in developing applications with stringent performance and latency requirements.
- Version Control:
Proficiency in using Git or similar tools for code versioning and collaboration.
- Code Review:
Experience in conducting and participating in peer code reviews.
- Debugging:
Excellent debugging and problem-solving skills in a Linux environment.
- Build Systems:
Experience with CMake for managing build processes.
- Design Principles:
Understanding of SOLID principles, system design, and software design patterns.
Drop your resumes: mekhala@rayvector.com