JOBSEARCHER

Software Engineer

Software EngineerSiLC is a silicon photonics and optical sensing company building next-generation coherent lidar solutions. We have an immediate opening for a full-time, on-site (in Monrovia, CA) Software Engineer. This is an individual contributor role responsible for designing the GUI and SDK for our coherent lidar systems on both Windows and Linux platforms, including high-performance point cloud visualization and analysis tools, data packet format definitions, and an SDK for customer and internal use. The candidate will work in a small company, small team environment with frequent cross-functional interaction with lidar, optics, and firmware engineers, and should be comfortable learning basic lidar operation and terminology.Responsibilities:·      Design a GUI capable of displaying and processing lidar point cloud data at rates exceeding 1 Mpts/sec while maintaining frame rates up to 20 fps, including interactive controls (rotation, translation, region/box selection).·      Design and implement an SDK for lidar data acquisition, processing, and integration into customer and third-party applications on Windows and Linux, including plug-ins/integrations for frameworks such as ROS and RViz.·      Specify data packet formats for point cloud and metadata transmission, and implement data smoothing, filtering, and image processing algorithms within the SDK.·      Develop analysis tools for point cloud data supporting internal engineering and customer use cases, applying real-time programming principles for high-throughput data sets.·      Maintain and modify legacy code as part of ongoing product support and feature development.·      Document software design and architecture and create customer-facing SDK/GUI documentation including API references.·      Collaborate with software, lidar, optics, and firmware engineers.Qualifications:·      B.S. in Computer Science, Software Engineering, or Electrical Engineering (M.S. preferred); 5+ years of relevant design experience·      Expert-level C++ proficiency·      Experience designing GUI applications on both Windows and Linux.·      Experience displaying and processing large, high-rate data sets in real time including GPU-accelerated rendering (OpenGL, Vulkan, DirectX, or CUDA) and multi-threaded/parallel programming·      Experience specifying data formats/protocols and network programming (TCP/UDP, multicast) for streaming sensor data.·      Basic knowledge of data smoothing, filtering, and/or image processing algorithms·      Experience designing interactive 3D visualization controls for spatial/point cloud data·      Experience developing SDKs/APIs for external customers and integrating with frameworks such as ROS and RViz.·      Strong documentation and release management skills (Jira)·      Strong cross-functional collaboration skills; comfortable in a small team environment Bonus Skills:·      Previous lidar experience·      Background in computer vision (feature detection, segmentation, registration, object detection/tracking) and point cloud processing libraries (e.g., PCL, Open3D).·      Familiarity with sensor fusion (lidar + camera/IMU/GPS) and SLAM algorithms/frameworks.Compensation:·      Base salary: $100,000 - $130,000 based on experience level and qualifications·      Stock options·      Other benefits include health/vision/dental insurance, 401(k), etc.SiLC Contact:Jim SchlossEmail: jim@silc.com