This document provides guidance on how to learn programming. It recommends finding a purpose or project to stay motivated. Choosing a language based on the chosen project and using existing code repositories to avoid reinventing the wheel. Key resources for learning include online references, books, blogs, videos and communities like StackOverflow where questions can be asked. Setting up the proper development environment with tools like editors, version control and virtual machines is also covered. The overall message is that learning to program requires commitment, but contributions back to open source projects can be very rewarding.