Role: Principal C++ Developer
Location: Remote
Type: Contract
Job Description:
- Design and implement key architectural improvements to a C++ Computer Vision library
- Drive technical decisions related to modernization, scalability, and performance
- Define and enforce technical standards and best practices for C++ development
- Lead the implementation of critical algorithms and system optimizations
- Develop robust systems for error handling, testing, and verification
- Champion improvements to code quality, maintainability, and developer experience
Mentorship & Collaboration
- Mentor engineers at all levels on complex technical challenges
- Provide guidance on implementing modern C++ practices and modernization strategies
- Promote engineering excellence through technical knowledge sharing and design reviews
- Contribute expert insights to technical roadmap planning
- Foster a collaborative team environment through mentorship and support
Architecture & Innovation
- Design and implement high-performance, memory-efficient algorithms
- Lead major library refactoring and modernization initiatives
- Develop new Computer Vision algorithms for Intelligent Document Processing
- Ensure cross-platform compatibility (e.g., Windows, Linux, macOS)
- Apply advanced optimization techniques to improve performance
- Build robust, scalable library architecture for integration with internal product teams
- Ensure production reliability and system robustness
Required Qualifications
- Bachelor's or Master’s degree in Computer Science, Engineering, or a related field
- Experience in software engineering
- Proven experience in C++ development and cross-platform library design
- Cross-platform expertise on at least two major platforms: Windows, Linux, macOS
- Experience building and maintaining production-grade software systems
Technical Expertise
- Deep understanding of modern C++ (e.g., C++11 and beyond)
- Strong background in software architecture and design patterns
- Knowledge of Computer Vision and Machine Learning algorithms
- Experience with performance profiling and optimization
- Familiarity with low-level systems programming and memory management
- Commitment to building maintainable, well-tested software components
Leadership & Communication
- Demonstrated ability to lead technical initiatives and mentor engineering teams
- Track record of making impactful architectural and design decisions
- Strong written and verbal communication skills
- Ability to work cross-functionally and influence technical direction
- Proven problem-solving skills in complex, real-world engineering contexts