Senior C++ Software Engineer
Boston, Massachusetts
Full Time
$130k - $150k
Our client is a leader in cutting-edge image processing technology, providing innovative solutions for industries such as medical imaging, security, autonomous systems, and more. They focus on delivering high-performance, reliable, and scalable software for complex image processing tasks.
They are seeking an experienced Senior C++ Software Engineer to join their dynamic team. You will be responsible for developing, optimizing, and maintaining software solutions that power their advanced image processing systems. This role requires strong C++ programming skills, experience with algorithms, and a deep understanding of real-time processing in image-based applications.
Key Responsibilities:
- Design, develop, and optimize high-performance C++ software for image processing applications.
- Collaborate with cross-functional teams, including product management, hardware engineers, and image processing experts, to define software requirements.
- Implement algorithms for image analysis, computer vision, and pattern recognition.
- Optimize software performance for real-time processing on various platforms, including embedded systems and high-performance computing environments.
- Write and maintain unit tests and participate in code reviews to ensure code quality.
- Identify and resolve complex software defects and performance bottlenecks.
- Participate in the continuous improvement of development processes and practices.
Qualifications:
- Bachelor's or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- 5+ years of experience in software development with a strong focus on C++.
- Solid understanding of algorithms, data structures, and object-oriented design.
- Experience with multithreading, concurrency, and real-time software systems.
- Familiarity with image processing libraries such as OpenCV, or custom image processing algorithms.
- Experience with performance profiling, optimization techniques, and debugging complex systems.
- Knowledge of GPU programming (CUDA, OpenCL) is a plus.
- Excellent problem-solving and analytical skills.
- Strong communication and collaboration skills.
Preferred Skills:
- Experience working in a Linux environment.
- Familiarity with machine learning frameworks and techniques as they relate to image processing.
- Experience in software development for embedded systems or high-performance computing environments.