Software Engineer (C++)

Overview

On Site
Depends on Experience
Contract - W2
Contract - Independent
Contract - 24 Month(s)
Able to Provide Sponsorship

Skills

Articulate
Behavior-driven Development
Boost
C++
CMake
Collaboration
C
Computer Networking
Computer Science
Cryptography
DRM
DevOps
Docker
Electronics
FFmpeg
File Systems
GStreamer
GitHub
HTML
IPC
JSON
JavaScript
Linux
Media
Message Queues
Middleware
Multithreading
OOAD
Product Requirements
Prototyping
Python
Rust
SDK
Scripting
Shell
Socket Programming
Software Development
Specification Gathering
Streaming
Systems Analysis/design
TCP
UDP
User Experience
WebSocket

Job Details

About the Team

Join a dynamic team responsible for developing middleware, media frameworks, and an application development kit for HTML and native applications. We collaborate closely with product teams, vendors, and app partners to deliver high-quality solutions that power immersive TV experiences.


Job Responsibilities

  • Review product requirements and contribute to the creation of detailed technical specifications.

  • Design and architect new software products and improve existing solutions.

  • Build prototypes, create design documents, define technical tasks, and suggest implementation plans.

  • Develop core middleware/media components and participate in peer code reviews to ensure high-quality implementation.

  • Develop automated tools for quality measurement and defect detection.

Career Progression:

  • Within 3 months: Triage bugs and contribute to feature implementation by collaborating with cross-functional teams.

  • Within 6 months: Gain deep knowledge of the media stack architecture and contribute to performance and UX improvements.

  • Within 1 year: Become a feature owner, driving end-to-end development of key components.


Required Qualifications

  • 8+ years of experience in architecture, design, prototyping, software development, and implementation for consumer electronic devices.

  • Bachelor's or higher degree in Computer Science, Electronics, or a related field.

  • Proficiency in C, C++ (C++11/14/17).

  • Strong understanding of:

    • Multi-threading, CMake build systems, cross-compilation

    • Linux internals: processes, filesystems, permissions, memory

    • Linux IPC, shared libraries, message queues, journald log parsing, core dump debugging

    • Object-Oriented Analysis and Design (OOAD)

    • Boost ASIO, socket programming, Linux services/daemons

  • Excellent communication and collaboration skills; able to articulate complex ideas clearly and concisely.


Preferred Skills

  • Media Technologies:
    Adaptive streaming (client-side), media playback, GStreamer, FFmpeg, Wayland, DirectFB, Apple AirPlay, PlayReady DRM 4.x

  • Web & DevOps:
    WebSockets, REST APIs, JavaScript, JSON, Docker, SnapCraft, Conan, GitHub Actions

  • Build & Test Tools:
    CMake, Make, Meson, Catch2, GoogleTest, BDD frameworks

  • Programming & Scripting:
    Rust, Python, Shell scripting

  • Other Technical Knowledge:
    Basic understanding of cryptography, TCP/UDP networking, packet filtering and analysis.

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.