Senior Backend Engineer - Content Distribution Service
This role will be responsible for contributing to software development and engineering of company content distribution and distributed cloud system - intelligently distributing video content to millions of users, as well as supporting OTT Video and other applications as a serverless, distributed cloud system. The individual will be an experienced engineer in the areas of distributed compute, real time IP networking, and software infrastructure. Familiarity with video services, and interfacing wireless LTE / 5G networks, is helpful but not required.
We are looking for candidates with experience across:
- Software development and implementation of CDN architectures and protocol driven systems, including proxies, caches, edge compute, DNS, load balancing, and leading protocol development and construction.
- Software engineering of compute and storage clouds (ie. Amazon Web Services), devops services, containerization, and familiarity with highly distributed cloud workloads
- Real-time IP networking experience, including using Websockets, real-time messaging frameworks like Kafka and RabbitMQ, services like Firebase and Kinesis, and real-time interfaces with large scale of distributed devices
- Microservices architectures, concurrency patterns and memory management, databases (PostgreSQL, MySQL,...) and NoSQL (MongoDB, DynamoDB, Cassandra etc), and understanding of building flexible, scalable, high-performing, extensible, testable systems
- Statistics, algorithms, and complex optimization systems
- Performance focused back-end programming languages (Golang, Java, C++)
- Keen interest in machine learning and AI
- Video transcoding and the end-to-end video delivery chain, as well as wireless systems including Soft EPCs and 5G networks, are a plus
- Releasing commercial grade software services and applications
- Contributing to design and architecture of content distribution and distributed cloud systems
- Clean quality coding, clear documentation, and code management and release tools
- Agile software development and distributed team collaboration