The Role: Software Engineer (C/C++ and Rust) - Camera Capture Systems
This role will contribute to the design and development of the next revision of our video camera capture systems for our video capture systems for live sporting events, and improve existing designs to deliver data (video and metadata) from venues in a wide variety of environments. Second Spectrum expects and empowers engineers to stretch their skill sets, expand their scope and capabilities, and tackle ever-increasing ambitions around speed, accuracy, and cost of these systems.
Our Technology Stack:
● Programming languages: C/C++ and Rust
● Networking: routing, High MTU/Jumbo Frames, TCP, UDP, IGMP/multicast, fiber, ethernet, VPN
● Monitoring: Prometheus, Grafana
● Revision Control: Git with GitLab
● Cloud services: AWS EC2 and S3
● Productivity: Slack, Notion, Google Apps
What You Will Do:
● Find solutions to hardware and software challenges around low-latency and high-reliability video delivery
● Design and deploy solutions involving hardware, networking and software; develop embedded and/or real-time systems
● Implement and provide best-practices for maintainable software development, including deployment process, documentation, and adherence to and improvement of coding standards
● Support and monitor live systems, including on-call rotation for video capture during professional sports seasons
● Site reliability engineering: metrics, monitoring, incident response, post-mortem analysis
● Share your observations, learnings and questions with your colleagues
What You Have:
● BSc or MSc in computer science or a related degree, with strong low-level programming
● 3+ years of direct experience in systems software engineering: modern software development practices and tools, concurrent and distributed programming, operating systems, computer networks, database systems
● Experience with real-time systems
● Familiar with concurrency primitives: threads, locking and mutexes
● Experience building metrics and monitoring systems, including alerts and escalation practices
● Able to successfully work independently and as part of a team.
● Effective ability to straightforwardly communicate learnings and mentor colleagues
What Sets You Apart:
● Expertise in Rust
● Eager to discover and experiment with languages and technologies outside of your existing areas of expertise.
● Proficient with high performance & GPU computing.
● Familiar with cloud computing.
● Experienced with Linux systems: internals, kernel modules, kernel tuning, boot loaders.
● Experienced with embedded systems (note that this position does not involve SOC or FPGAs).
● Interested in and experienced with camera/video system technologies (PTP2, RTMP, RTSP, SDI, GigE Vision, CoaXPress, GenLock, IRIG-B), video compression (h.264, h.265, VP8, VP9).