Programming is an empowering ability. You become a tool maker to solve the unsolvable. This involving the conception of an idea, its design and its flaws, practice, correction, checking towards the true satisfaction of creation.
You learn how to read documentation and analyze code that you can understand more advance concepts.
Moreover, you become a part of a community that is always evolving and innovating. You cnovers with others to get in-depth knowledge. You share ideas, tips and tricks and different persepective and experiences.
Programming combines solving puzzles with learning a new language. On the puzzle side, you begin a problem, come up with an idea, break the idea into smaller pieces, and solve each piece bit by bit. (Brenden Brusberg Quora, 2016)