Software Engineer - Imaging Systems

Verkada · Enterprise · Bayoffice · Cameras

Software Engineer role focused on the full camera imaging stack, including autofocus, auto-exposure, and image quality. The role involves designing and implementing camera software, building internal tools for tuning and diagnostics, and collaborating with hardware, firmware, and computer vision teams. It requires strong C++ and systems programming skills, with a focus on embedded systems and IoT environments.

What you'd actually do

  1. Design and implement camera software across the imaging stack (e.g., 3A algorithms, camera pipeline configuration, sensor drivers) primarily in C++ and C.
  2. Build and scale internal tools for image system tuning and automated diagnostics to enable precise image quality optimization and proactive detection of system-level imaging anomalies.
  3. Collaborate with hardware, firmware, and computer vision teams to integrate and validate end-to-end system stability and image performance.
  4. Collaborate with external vendors on IQ tuning and refine results to meet product performance targets
  5. Analyze system metrics and imaging data to deliver data-driven features and continuous performance improvements .

Skills

Required

  • BS/MS in Computer Science, Computer Engineering, Electrical Engineering or a related field.
  • 3+ years of software development experience, with a strong foundation in systems programming.
  • Proficiency in C++.
  • Strong problem-solving skills and a proven ability to learn quickly and work independently.
  • Excellent communication and documentation skills; comfortable collaborating across cross-functional teams.
  • Must be willing and able to work onsite five days per week

Nice to have

  • Working knowledge of optics, image sensors, ISP algorithms, and SDK integration for imaging components.
  • Deep understanding of digital camera systems, such as auto exposure, auto focus, auto white balance, WDR (Wide Dynamic Range), day/night transition and so on.
  • Ability to detect and triage imaging artifacts and system faults across the hardware-software boundary (e.g., sensor artifacts, mechanical malfunctions, or ISP stability).
  • Background in developing on-device software for IoT systems or embedded Linux environments.
  • Ability to evaluate image quality both objectively and subjectively, including noise, sharpness, color accuracy, and overall visual performance.