Sorry, this listing is no longer accepting applications. Don’t worry, we have more awesome opportunities and internships for you.

Principal Software Engineer

The Maven Group, LLC

Principal Software Engineer

National
Full Time
Paid
  • Responsibilities

    Job Description

    Our customer manages and distributes over a hundred million videos and adds hundreds of thousands to that catalog every day. That’s no surprise given the explosive growth of online video and video consumption in general. To sustain such growth our customer is investing in improvements in our media delivery platform, aiming to make it even more efficient, scalable, and reliable. To that end, we are seeking candidates to join our Zencoder team. The Zencoder team builds and maintains our mass-scale, cloud-based media transcoding system which serves as the heart of our customer’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 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 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 solutions-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 PhD in Electrical Engineering, Computer Science, or related fields

    Progressive experience in 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