Level: Senior
Reports To: Senior Manager, Engineering
Travel Required: Travel Not Required
VISA Support: No VISA Sponsorships Supported
Will this hire need to report to a specific location? No, you can work from anywhere.
Must-Haves:
- Software engineering and architecture expertise
- Deep coding knowledge in Ruby, Java, or Elixir
- Deep knowledge of AWS and cloud-based systems in general (Lambda, Redis, etc.)
- Experience with cloud-based video transcoding or encoding systems
Nice-To-Haves:
- Experience with Content Delivery Networks (CDNs)
- Knowledge of system-level standards: HLS, MPEG DASH, CMAF, ISOBMFF, MP2TS, etc
- Understanding of new and evolving video and audio formats (HDR formats, spatial/object-based audio, immersive systems)
Job Description:
Seeking candidates to join the Zencoder team. The Zencoder team builds and maintains our mass-scale, cloud-based media transcoding system, which serves as the heart of the Company’s entire media delivery platform. As a Principal Software Engineer on the Zencoder team, you will help design and build new features, coach and mentor other developers, research innovative technologies, and contribute to enhancements to Zencoder’s multi-region and multi-cloud operations.
Job Responsibilities:
- Work with Engineering Management and Product Management to plan the development and deployment of new features for Zencoder.
- Contribute to the development of new features in Zencoder
- Investigate specific customer issues, such as resource contention in a multi-tenant environment, possible defects, and customer-side problems. Collaborate with other engineers and engineering management to resolve the issues
- Research, design, and implement innovative technologies for improving reliability, efficiency, and performance of the mass-scale cloud-based media transcoding system. Specific areas of focus may include new efficient architectures for cloud-based media processing and transcoding; segment-based, scene-based, rendition-based, and title-based job partitioning schemes; algorithms for efficient aggregation, allocation, and scheduling of transcoding jobs; load estimation and auto-scaling algorithms; optimal multi-region and multi-cloud operations; optimal job allocation considering heterogeneous nature of cloud resources such as on-demand and spot-type instances, CPU vs. GPU vs. FPGA instances; and optimized processing at each worker level including parallel transcoding and optimal pipelining of operations.
- Conduct validation studies for proposed technologies and improvements by staging limited scale deployments, collecting metrics, and analyzing results
- Stay abreast of the latest developments in cloud platforms, transcoding architectures, new CPU/GPU/FPGA transcoding technologies, new 3rd-party SDKs, open-source projects, etc.
- Document and present the results in various forms, such as internal design documents, technical publications, white papers, patent applications, etc.
- Help establish best practices and standards while mentoring other developers.
Minimum Qualifications/Experience:
- 8+ years of hands-on software engineering and architecture experience
- Deep practical knowledge of capabilities and limits of cloud platforms (AWS preferred), including APIs, regions, instance types, and managed services such as auto-scalers, load-balancers, storage systems, queues, caches, and lambda functions.
- Experience with relational databases (PostgreSQL/RDS preferred)
- Experience with distributed, in-memory caches (Redis preferred)
- Ability to coach, guide, and inspire other software engineers to innovate and collaborate with a solution-focused approach.
- Experience with Ruby and other programming languages. Experience with Elixir is a plus
- Understanding of the full software delivery lifecycle, from conceptualization through delivery
- Experience working with version control, continuous deployment, and performance monitoring tools. Zencoder uses Git, TeamCity, CircleCI, SumoLogic, DataDog, and CloudHealth.
- Excellent written and verbal communication skills, ability to work within a global team
- Experience with agile methodologies
- Understanding of building, delivering, and operating internet-scale, distributed, high availability systems
- Ability to adapt to changing priorities, market conditions, and fast-paced tech environment
Preferred Qualifications/Experience:
- MS or Ph.D. in Electrical Engineering, Computer Science, or related fields
- Progressive experience in the design and optimization of cloud-based, mass-scale media transcoding, processing, or delivery systems
- Experience with Content Delivery Networks (CDNs)
- Knowledge of system-level standards: HLS, MPEG DASH, CMAF, ISOBMFF, MP2TS, etc
- Knowledge of structures of payloads and elementary streams: H.264/AVC, HEVC, AAC, AC3, etc.
- Knowledge of means for carriage of subtitles, SCTE35, and other metadata in OTT systems
- Knowledge of deployment guidelines associated with media delivery systems (Apple HLS deployment guidelines, DASH-IF IOPs, DVB-DASH, HbbTV DASH, CMAF content spec)
- Experience using stream analyzers: Sencore CMA 1280, Tektronix MTS, Elecard StreamEye
- Experience working with DRM systems (PlayReady, Widevine, FairPlay)
- Understanding of new and evolving video and audio formats (HDR formats, spatial/object-based audio, immersive systems)
- Experience with forensic watermarking systems
- Experience in GPU or FPGA programming