Senior Build & Server Engineer - Personal Media
Plex, Inc.You'll be redirected to the original listing.
Description
As a Senior Build & Server Engineer on the Personal Media team, you’ll work across the two things that keep Plex Media Server running: the C++ codebase at the heart of the product, and the build and release pipeline that gets it out to millions of users on dozens of platforms. You’ll be part of a product team that owns both sides, working alongside not just other server and build engineers but our client engineers too, and pitching in wherever you’re needed. Some days you’ll be in the PMS or FFmpeg code, other days you’ll be improving how we build, package, and ship it.
Plex Media Server runs almost everywhere: Windows, macOS, Linux, Android, NAS devices, and more. That reach is only possible because we have a build system, toolchain, and CI pipeline that can target all of them. You’ll help keep that running and modernize it over time (Conan, CMake, GitHub Actions, cross-compilation toolchains), and you’ll also write server code that leans on it, so the two stay in sync instead of blocking each other.
This is an engineering role, but it sits on a product team. The engineers here have a voice in product decisions, so you won’t just be handed a spec to build. We want someone who cares about the product itself, has opinions about where it should go, and isn’t shy about sharing them.
You will be part of a lean team distributed across the globe, working across many timezones. We believe in promoting work/life balance and as such, we try to keep recurring meetings short and sparse, prioritizing asynchronous communication as much as possible.
What you’ll do
- Work in the Plex Media Server C++ codebase alongside our server engineers, building features, fixing bugs, and chipping away at tech debt.
- Keep our build system and toolchain in good shape and help push it forward (Conan, CMake, Clang/MSVC/NDK, cross-compilation), so PMS builds reliably on every platform we support.
- Own our CI/CD pipeline in GitHub Actions, from building and packaging through to artifact management and release automation.
- Improve how we handle builds, releases, and artifacts. That includes build tracking, release notes, and getting our build, test, and release tooling to work better together.
- Work closely with other engineers across the team (build, server, client & QA) so there’s as little friction as possible between writing code and getting a build out.
- Help out with release engineering: cutting and packaging alpha, beta, and public builds, plus the signing and distribution around them (including Apple codesigning and notarization for the macOS builds).
What you bring to the table
- Solid C++ experience in a large, long-lived codebase, plus comfort with SQL/databases and the scripting (Python, shell) to automate the stuff around it.
- Hands-on experience with build systems and dependency management, especially CMake and Conan. You like making complicated builds simpler, not cleverer.
- You’re comfortable owning a CI/CD pipeline from end to end. Experience with GitHub Actions is a plus.
- Familiarity with cross-compilation and platform toolchains (Clang/LLVM, MSVC, Android NDK, musl, or similar). Some exposure to containers or infrastructure-as-code (Docker, Kubernetes, AWS) is a bonus.
- You like working across different areas and with different people, and you’re happy being the person who connects the application code with the infrastructure that ships it.
- You are detail-oriented and focus on delivering seamless, high quality work across platforms.
- You are kind, humble, helpful and enjoy getting stuff done.
- You are intrinsically motivated, able to manage your time, and enjoy working with a distributed team across the globe.
- You believe in asking for help and helping others when they ask, in jumping in wherever you’re useful even when it’s no…