SHOTOVER Systems
Senior Software Engineer - C++
SHOTOVER SystemsUnited States1 day ago
Full-timeEngineering, Information Technology
Who We Are

SHOTOVER Systems is located in beautiful Boulder, CO and designs and builds high-end gyro-stabilized airborne camera systems and augmented reality software used by airborne law enforcement agencies, firefighters, military, television stations, and cinematographers around the world.

As an established private company with additional locations in New Zealand, Canada, Switzerland and the UK, we offer a seamless end-to-end solution of software and hardware solutions while delivering an unprecedented level of control, versatility and ease-of-use in a compact package backed by world-class service and support.

Job Overview

We’re capturing multiple channels of UHD video simultaneously and rendering 3D graphics in the scene in real time, along with generating a “Google Earth”- like virtual world that can be mixed and matched with video from the real world on an iPad. You will be part of the team working on our next-generation camera systems and AR software which will be focused on increasing support for higher definition video (8K), a larger variety of sensors, new hardware, integration with our flowgraph programming solution, and better scripting support (Python). Everything we do has to be done before the next vertical refresh rolls around, so speed is King -- but it also has to look good. If you like to wear lots of hats, work with a variety of experts, get out from behind a desk and do work that makes a difference, then this is for you.

Responsibilities

  • Design, develop, and maintain a C++ application that runs on Windows, Linux, and iOS
  • Make application architecture decisions based on input from multiple stakeholders
  • Work on continuous integration/automation/packaging
  • Conduct code reviews and provide useful feedback for team members
  • Maintain a CMake and Visual Studio build system

Required Skills

  • Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field, or equivalent experience
  • 5+ years experience in C++ programming language
  • Knowledge of networking protocols (e.g. UDP/TCP/IP/Multicast)
  • Experience with digital video (transmission, pixel formats, codecs, containers)
  • Knowledge of version control systems (e.g., Git) and build tools (e.g., Make, CMake)
  • Experience with C++17 or newer
  • Experience developing latency-critical, interactive software
  • Experience with non-blocking, threaded programming
  • Strong debugging/profiling/diagnostics skills
  • Excellent problem-solving skills and attention to detail

Desirable Skills

  • Experience with Linux, GNU & LLVM Tools
  • Experience with C++20, Rust, Python
  • Experience with Vulkan, CUDA
  • Familiarity with systemd
  • Familiarity with the .deb packaging format and Ubuntu
  • Familiarity with ARM architecture and ARM-based SoCs, particularly Nvidia Jetson
  • Proficiency with writing Linux device drivers and device trees, as well as building and configuring the kernel
  • Experience with linear algebra, coordinate frames, and rotations
  • Good people skills

Schedule

  • Flexible, but generally Monday - Friday 8:30 - 5ish

Work Authorization: U. S. Citizenship, Permanent Residency, or other protected status under 8 U. S. C. 1324b(a)(3) is required for this position.

  • A background check is required as part of our hiring process.

Key Skills

Ranked by relevance