Software Engineer (C++)

Telestream

Description

Telestream is hiring a Software Engineer (C++) for its engineering team in Beaverton, Oregon. This is a full-time hybrid role for a mid-level software engineer with 3–5 years of professional development experience. The position focuses on high-performance backend services used in broadcast, streaming, and digital media applications.

The main technical focus is modern C++ development, including systems that process and analyze live audio, video, captions, timecode, and other data in real time. You will work on performance-sensitive software where concurrency, timing, reliability, and memory management are important. There is also an opportunity to contribute to Go-based services.

This role could be a strong fit for a software engineer who enjoys systems programming rather than purely web or business application development. Experience with audio/video technology, real-time systems, embedded programming, networking, gRPC, RabbitMQ, Kubernetes, or CI/CD can strengthen an application, but these are listed as bonus qualifications rather than core requirements. The position requires working from the Beaverton office on Tuesdays and Thursdays, and candidates must already be legally authorized to work in the United States without employer sponsorship.

Job at a Glance

Job Title Software Engineer (C++)
Company Telestream
Location Beaverton, Oregon, United States
Job Type Full-Time
Experience 3–5 years of professional software development experience
Industry Digital Media, Broadcast and Streaming
Job Category Software Engineering
Main Focus C++, backend services, real-time audio/video processing
Salary $110,000–$130,000 per year

Detailed Role Requirements & Responsibilities

C++ Software Development

C++ is the primary programming language for this position.

The engineer will:

  • Design, develop, and maintain backend components primarily in C++
  • Work with modern C++ development practices
  • Write clean, maintainable, and well-tested code
  • Apply software design principles to production systems
  • Debug complex software issues
  • Contribute to ongoing product improvements

Strong C++ fundamentals are particularly important because the role involves performance-sensitive systems rather than simple application logic.

Real-Time Audio and Video Processing

A significant part of the work involves systems that process professional media streams in real time.

Responsibilities include:

  • Building and extending systems that process live audio and video
  • Working with data carried over networks
  • Processing related media data such as captions and timecode
  • Supporting applications that require accurate timing and reliable processing
  • Working with systems where performance and concurrency matter

This makes the position particularly relevant to engineers interested in media processing, streaming technology, or systems programming.

Performance and Concurrency

The role requires engineers who can reason about software beyond basic functionality.

You may work on problems involving:

  • Multithreading
  • Memory management
  • Concurrency
  • Timing-sensitive operations
  • Performance optimization
  • Reliability
  • Debugging complex systems

Candidates should be comfortable thinking about what happens when multiple operations run simultaneously and how software behaves under demanding workloads.

Go Development

C++ is the primary language, but the position also involves contributions to Go-based services.

The employer is looking for someone who has an interest in learning and contributing to Go. You do not necessarily need to be a senior Go developer, but showing that you are comfortable learning another backend language can strengthen your application.

Backend and Distributed Systems

The engineer will work on backend services that support Telestream’s media products.

Relevant areas include:

  • Backend service development
  • Real-time processing
  • Distributed architectures
  • Microservices
  • Network-based systems
  • APIs and service communication

Experience with microservices and gRPC is listed as a bonus qualification.

Team Collaboration

The position involves working with several groups throughout the software development process.

You will collaborate with:

  • Software engineers
  • Product managers
  • QA professionals
  • Other engineering stakeholders

The work includes technical design discussions, code reviews, Agile development activities, and implementing new product features.

Linux Development

The position is based in a Linux development environment.

Candidates should be comfortable developing, debugging, and testing software on Linux. Experience working close to the operating system or with systems-level programming can be especially useful for this role.

Required Skills and Experience

The core requirements include:

  • 3–5 years of professional software development experience: The employer is targeting a mid-level software engineer with professional experience.
  • Strong modern C++ skills: You should have solid experience with C++ and understand modern C++ development practices.
  • Multithreading knowledge: You should understand how concurrent operations work and how to develop reliable multithreaded software.
  • Memory management fundamentals: Strong understanding of memory management is important for the C++ work involved.
  • Performance and timing awareness: You should be comfortable working with software where performance and timing can directly affect correctness.
  • Software design knowledge: A solid understanding of software design principles is expected.
  • Debugging skills: You should be able to investigate and resolve complex software problems.
  • Linux experience: You should be comfortable working in a Linux environment.
  • Interest in Go: The role includes contributions to Go-based services, so willingness to learn Go is important.
  • U.S. work authorization: Candidates must be legally authorized to work in the United States. The position is not eligible for employer-sponsored work authorization or visa sponsorship.

Skills That Can Strengthen Your Application

The following are listed as bonus qualifications rather than core requirements:

  • Audio/video technology
  • Video encoding or playback
  • Video streaming
  • Closed captioning
  • Timecode
  • Real-time systems
  • Embedded systems programming
  • Low-level network protocols
  • Microservice architecture
  • gRPC
  • RabbitMQ
  • AMQP
  • Jenkins
  • Bitbucket
  • Kubernetes
  • k3s
  • REST APIs
  • React.js integration

If you have experience in these areas, make it visible on your resume because they connect closely with the type of systems described in the position.

Industry Context & Career Advice

Software engineering in broadcast and digital media often requires a different mindset from traditional business application development. Live video and audio systems have strict requirements around timing, performance, reliability, and data processing. A small delay or processing problem can affect the quality of a live media workflow.

For this reason, C++ experience combined with systems programming knowledge can be particularly valuable. Skills such as multithreading, memory management, networking, Linux, and performance optimization can transfer well to other areas including embedded systems, real-time applications, infrastructure, networking, and high-performance computing.

The media industry is also becoming increasingly software-driven, with streaming, cloud services, distributed systems, and automated media workflows playing larger roles. Engineers who can combine low-level programming knowledge with backend and distributed-systems skills can build a broader career path.

When applying for this position, focus less on simply listing C++ and more on showing what you have built with it. If you have worked on software where performance, concurrency, memory usage, or timing mattered, explain that clearly.

What to Highlight on Your Resume

For this position, your resume should make your C++ and systems engineering experience easy to find.

Consider highlighting:

  • 3–5 years of professional software development
  • Modern C++ development
  • Multithreading and concurrency
  • Memory management
  • Performance optimization
  • Linux development
  • Backend service development
  • Real-time software
  • Audio/video processing
  • Streaming or broadcast technology
  • Network programming
  • Embedded systems
  • Microservices
  • gRPC
  • RabbitMQ or AMQP
  • Kubernetes or k3s
  • Jenkins or Bitbucket
  • Go experience or relevant Go projects
  • Agile development
  • Code reviews and technical design

If your experience is outside the media industry, focus on transferable technical skills. For example, a high-performance C++ application or real-time system can still demonstrate relevant experience even if it was not built for broadcasting.

A stronger resume bullet for this position could be:

Developed and optimized multithreaded C++ backend services in a Linux environment, improving real-time processing performance and reliability for high-throughput applications.

Only use this wording if it accurately represents your experience. Add specific performance improvements or scale metrics when you have documented results.

Interview Preparation

Prepare for a combination of C++ fundamentals, systems programming, software design, and practical problem-solving questions.

How comfortable are you with modern C++?

Review the C++ concepts you use in professional work, particularly memory management, smart pointers, object lifetime, templates, STL, move semantics, and modern language features.

How would you handle multithreading in C++?

Be prepared to discuss threads, synchronization, race conditions, locks, atomic operations, deadlocks, and how you would design concurrent code safely.

How do you debug a difficult C++ problem?

Prepare a real example. Explain how you reproduced the issue, investigated it, identified the root cause, fixed it, and verified that the solution worked.

How would you improve the performance of a real-time application?

Think about profiling before optimizing. You could discuss CPU usage, memory allocation, I/O, concurrency, latency, bottlenecks, and how you would measure whether an optimization actually helped.

Tell us about a performance-sensitive system you have worked on.

Choose an example where timing, latency, throughput, or resource usage mattered. Explain the technical challenge and what you personally contributed.

What experience do you have with Linux?

Be ready to explain your experience developing, debugging, testing, or deploying applications in Linux environments.

How would you approach processing a live audio or video stream?

Even if you have not worked directly with media, think through the problem from a systems perspective: data ingestion, buffering, timing, concurrency, processing, errors, performance, and reliability.

How do you work with product managers and QA?

Prepare an example that demonstrates communication, collaboration, handling feedback, debugging issues, and delivering a feature successfully.

Advice for Applicants

This role is particularly suitable for a mid-level C++ engineer who enjoys systems-level work and wants to work on real-time media technology. The strongest candidates will likely be those who can demonstrate not only C++ programming ability but also a good understanding of concurrency, memory management, performance, debugging, and Linux.

Do not be discouraged if you do not have direct broadcast or video experience. Audio/video experience is listed as a bonus, not as a core requirement. Strong C++ and systems experience can still give you a relevant foundation.

The same applies to Go and several of the other technologies listed as bonus skills. You should not present them as mandatory requirements if you have not used them. Instead, emphasize your strongest relevant experience and demonstrate that you are comfortable learning new technologies.

One important eligibility point is the work arrangement. This is not a fully remote position. The role is hybrid in Beaverton, Oregon, with an in-office requirement on Tuesdays and Thursdays. Candidates must also already be legally authorized to work in the United States because the position does not provide employer-sponsored visa support.

The best way to position yourself is to show evidence of solving technically difficult problems with C++. Highlight systems where performance, concurrency, timing, reliability, or resource management mattered.

Salary and Benefits

The listed salary range is $110,000–$130,000 per year. Benefits include medical, dental and vision coverage, company-paid life and disability insurance, a 401(k) with a company match of up to 8%, HSA and flexible spending options, paid time off or flexible time off depending on employment classification, paid holidays, pet insurance, and additional coverage options.

Work Schedule and Location

The position is hybrid in Beaverton, Oregon, with employees expected to work from the office every Tuesday and Thursday. It is a full-time role.

To apply for this job email your details to jobsinator.official@gmail.com

Scroll to Top