OVERVIEW
As a Senior Software Engineer, you will be developing and testing Semio’s on-robot and on-desktop (native) software and infrastructure. As one of the first employees at the company, you will work directly with the Founders and C-level management of Semio.
RESPONSIBILITIES AND DUTIES
- Design, develop, document, and deploy Semio’s on-robot and on-desktop (native) software and infrastructure
- Create unit tests and manually test software’s compliance and robustness
- Communicate with senior management and peers
- Interface with customers on occasion to discover needs and correct issues
- Create and deliver technical presentations to both internal and external audiences
- Shape the culture of the company and the personal robotics industry as a whole
Required Qualifications
- 6 or more years of experience with C++
- Robust and deep understanding of data structures and algorithms
- Experience with robot-specific algorithms and methodologies (e.g., motor control, mapping, localization, path-planning, navigation, manipulation, etc.)
- Experience with image processing (e.g., OpenCV)
- Deep understanding of Linux (kernel and userspace)
- Deep understanding of networking
- Experience with development tools such as git and cmake
- Excellent communication skills
Additional Qualifications
- Experience developing compilers and runtime environments (i.e., parsers, virtual machines, JITs, etc.)
- Experience with 3D graphics programming, data structures, and algorithms
- Experience with audio and signal processing
- Experience with software testing tools and infrastructure
- Experience with ROS (Robot Operating System)
- Experience with GPGPU programming (OpenCL / CUDA)
- Experience with common encryption techniques and software security
- Experience with Windows and macOS software development