Stay in Touch



Senior Software Engineer, Backend - Video Team






San Francisco, CA, US


Udemy processes video uploads from over 35,000 instructors. We also deliver the processed videos to more than 24 million students across the world. As a backend engineer on the video team, you will build scalable services that process video uploaded by instructors to our platform. The video team focuses on (1) improving the instructor experience by reducing the end to end video processing time and (2) improving the student experience by encoding videos in efficient formats and delivering them across the entire globe. We are also responsible for work on anti-piracy methods, new codecs and formats, multiple language tracks, and live video. Success in this role will require the ability to effectively collaborate with engineers and the product teams that build the customer experience on web and mobile.

Key Responsibilities:

    • Collaborate with product management, design, and other engineering teams to define initiatives and features.
    • Develop, test, document, release services that support Udemy's core marketplace and business offerings.
    • Plan, organize, and get work done in 2-week sprints.
    • Participate in code reviews as well as post-deployment site monitoring.
    • Mentor team members in software development best practices and processes.
    • Lead by example and contribute to a team culture that values quality, robustness, and scalability while fostering innovation.
    • Research and evaluate new technologies that may improve our processes or code bases.
    • At times, function as a technical lead for various projects/tasks. This may involve some project, resource, and deployment planning in additional to software engineering responsibilities.

Minimum Qualifications:

    • 4+ years of experience as a software engineer working on backend services for web applications.
    • Object Oriented software design patterns and computer science fundamentals (e.g. data structures, algorithms).
    • Python or other scripting languages such as Ruby, PHP (minimum 2 years), etc.
    • Relational DB (e.g. MySQL) or NoSQL (e.g. Redis, MongoDB).
    • Real-time messaging (RabbitMQ, Celery).
    • Testing methods, including unit and integration tests.
    • Linux.
    • Networking knowledge.
    • AWS or competing cloud platform.

Preferred But Not Required:

    • Experience working with video technologies and standards (FFmpeg, HLS).
    • Docker.
    • Web Frameworks (e.g. Django, Rails, Zend, etc).

Apply for the job

Subscribe to our blog.


Blog & Newsletter Signup