Principal Software Engineer

Location Any City in the U.S.
Discipline: Software Engineering
Job type: Permanent
Salary: $205000 to $210000
Contact email: rgarcia@brightmetro.com
Job ref: 786236
Published: 3 months ago
About the Company:
Our client is a public-traded company on the NASDAQ that delivers a video communications platform to customers in over 70 countries. 

About the Role:

Location: 100% remote
Base Salary: $205K-$215K plus bonus
Tech Stack: Ruby (Java or Elixir), AWS, PostgreSQL, Redis, Git, Datadog. 


Job Responsibilities:
  •  Work with Engineering Management and Product Management to plan development and deployment of new features for 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