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

Principal Software Engineer - Remote

FOCUS Employment Solutions, LLC

Principal Software Engineer - Remote

National
Full Time
Paid
  • Responsibilities

    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