Senior Software Engineer
Description
Position Description
As a Senior Software Engineer you will be focused on enhancing and developing our core intercom and camera technologies using VOIP, SIP, RTSP, and WebRTC. The ideal candidate will bring a robust background in software engineering, particularly in optimizing and securing real-time communication protocols, while pushing the boundaries of what’s possible in video and voice technolgies.
Snap One is a leading manufacturer and distributer of control, A/V, surveillance, networking, power, and infrastructure equipment for residential and commercial professionals. We believe that life’s better when everything works together. And the same can be said about the collaborative work we do. Join our award-winning team in our continuous quest to deliver the most brilliant, personalized smart living and smart business experiences to people around the world.
Specific Responsibilities
- Design, devleop, and optimize high-performance software for real-time video and voice communications using C++.
- Deeply engage with VOIP, SIP, RTSP, and WebRTC protocols to ensure high-quality, low-latency communiication channels.
- Implement comprehensive unit tests and automated testing strategies to ensure code reliability.
- Participate in code reviews and contribute to our continuous integration and deployment practices.
- Contribute to architectural decisions, focusing on scalability, performance, and security.
- Work closely with cross-functional teams including project management, UX/UI designers, and other engineering teams to deliver integrated solutions.
Required Qualifications
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- At least 5+ years of professional experience in software engineering with a focus on C++.
- Proven expertise in working with real-time communication protocols like VOIP, SIP, RTSP, and especially WebRTC.
- Proficiency in C++ 11/14/17 standards, with an understanding of modern C++ practices.
- Strong knowledge of network programming, particularly with UDP and TCP/IP.
- Experience with unit testing and a track record of implementing automated testing frameworks.
Preferred Qualifications
- Strong familiarity with media codecs like H.264 and Opus
- Experience with Linux development environments.