I wrote my first code in 2009 (just before joining engineering college). It was C/C++, but I didn't enjoy programming back then. In 2010, I learned a bit of PHP/JavaScript and used them to build something real. Almost immediately, I started enjoying programming and created a few simple websites which in turn gave me satisfaction. The process continued. I learned and used new languages/technologies in the subsequent years and everything fell into place. I graduated from college in 2013 and started my career as a software engineer in the same year. In 2014 I left the job to build things on my own and to work on interesting projects. But the important thing is that I never stopped learning.
I think some people learn programming and then get disappointed just because they aren't sure what they can achieve by learning to code. In most universities (at least in my country) students learn specific languages (C, C++ and Java) without knowing what they can build with them. The result is that most of the students know how to reverse a string, how to print "*" in various patterns, can tell you complexity of an algorithm by looking at the code, but they fail to build a simple real world app. That was the reason I initially didn't like to code and started developing an aversion towards it. I changed my perspective soon after I realized that anyone can build interesting things on the web if they learn to code.
Everyone starting their journey in programming should know how to utilize the knowledge they gain in the real world.