This document introduces network programmability and automation. It discusses the need for automation in modern networks and the benefits of network programmability. It provides an example use case of using simple Python scripts to automate tasks like device inventory, configuration backup, and setting common configurations. Centralized logging and dashboards are proposed to provide visibility. Finally, it outlines initial steps to get started with network automation and areas to explore further like additional libraries, Ansible, containerization, and cloud networking.