Netflix: Python programming language is behind every film you stream

If you want a job at Netflix, it's probably a good idea to learn programming language Python and all its libraries.

Python's rise asks questions of JavaScript's dominance

The next time you're streaming on Netflix, you can thank popular programming language Python and the developers who use it for much of the experience. 

According to Python developers at Netflix, the language is used through the "full content lifecycle", from security tools, to its recommendation algorithms, and its proprietary content distribution network (CDN) Open Connect, which ensures that content is streamed from network devices that are as close as possible to end users. 

Ahead of the Python Software Foundation's PyCon conference next week in Cleveland, the streaming giant has been detailing how it uses the open-source language.  

SEE: Python is eating the world: How one developer's side project became the hottest programming language on the planet (cover story PDF) (TechRepublic)

Python is one of the most popular languages these days and is widely used for data analysis, machine learning, DevOps, and web development. 

At Netflix, many of the network devices that make up its CDN are "mostly managed by Python applications", which do tasks like tracking the inventory of network devices, their health and location.     

"Python has long been a popular programming language in the networking space because it's an intuitive language that allows engineers to quickly solve networking problems," notes Netflix senior software engineer, Amjith Ramanujam. 

The momentum behind the language is driven by useful libraries that get developed, he adds. These include the NumPy and SciPy libraries for Python, which Netflix uses to perform numerical analysis for its failover services. It's also a heavy user of Redis Queue and Jupyter Notebooks tools for Python.  

Netflix also uses the Boto 3 AWS SDK for Python to configure its AWS infrastructure. Netflix runs on mostly on AWS infrastructure and last year spent $1.3bn on technology and development.

And of course Python is used extensively within Netflix's machine-learning algorithms for things like content recommendations, artwork personalization, and marketing. 

The company also uses a tool called Metaflow, which Ramanujam says "pushes the limit of Python". 

"We leverage well parallelized and optimized Python code to fetch data at 10Gbps, handle hundreds of millions of data points in memory, and orchestrate computation over tens of thousands of CPU cores," he writes. 

On the information security front, Netflix uses Python for security automation, risk classification, auto-remediation, and vulnerability identification. And Python was behind Netflix's Security Monkey tool, as well as a project called Prism, which helps identify vulnerabilities in source code.   

More on Netflix, Python, and programming languages