How did I start learning programming online?

Programming was something that I was really passionate about but I didn’t really have time and resource to pull it off. I had learned QBASIC when I was in 10th grade but it was really not enough to do things that I wanted. The last 2 years of my high school after grade 10 were also really tough. Our country’s course is not properly managed and the difference on efforts that we had to put on grade 11 was so higher than on grade 10 and similarly when I was on grade 12 the efforts that I had to give increased as I had to attend classes from 6 AM in the morning to 5:30 PM in the evening. That gave me no time to learn anything other than the course. After I graduated from my high school I got myself exposed to various online learning materials and I have been able to create some attractive looking websites till now.
Now, I would like to dive deeper into how I started doing it. When I was still in high school, I had downloaded some tutorials for the C programming language. As I mentioned earlier that I had got no time then, it was just stored on my computer. After I completed high school I started learning it from those tutorials which were very clear and they were really presented in an amazing way. I was able to understand basic concepts of programming like loops, conditions, functions, variables etc. Then I started switching and learning C++ from youtube channels like thenewboston. As I had already learnt C, it wasn’t difficult for me to grab the basics of C++ but later when things got complicated and when I had no one to guide me in spite of giving so much dedication and hard work to learn those left me frustrated. I needed a mentor which I didn’t have so I tried switching languages and platforms thinking that one would suit me. The same thing repeated again and again until a year back today.
On 24th of November 2016, I joint and I had watched an interview with Quincy Larson who is the co-founder and the instructor at freecodecamp the other day. The interviewer claimed freecodecamp to be the best learning source and he had already tried some others so to check it out I tried both of them. Both of them were amazing platforms and I was really excited to know about those websites. I started learning according to the freecodecamp’s learning curve and when things seemed incomplete, I’d sneak around codeacademy on the same topic and knew more about the same thing. That way I was able to learn things. Free code camp was really amazing to me because of its large community which had a growth rate of 250 to 300 thousand members per month. The teaching style was very systematic and there would always be people to back you up if you get stuck anywhere while you were learning. It was exactly like I had wanted. I needed a mentor and that was it. I had got what I wanted.

At free code camp, I was able to learn HTML, CSS, Bootstrap, JavaScript and jQuery. I also was able to create some projects of my own. Code Academy was definitely an amazing source as well and it also offers more variety of courses but free code camp was my primary source as it is completely free and the community is large. After knowledge of these languages, I was then able to get an internship at a company as a front-end web developer. I am not just sticking with free code camp. I will try out new things. Actually, I have already learnt PHP, MySQL and few more. These two websites are definitely the best sources to learn programming online.
So if you are a beginner and you want to learn programming, what should you do? Just start. Don’t wait, just start doing it now. I highly recommend everyone to start learning front-end web development from free code camp and codeacademy. You could try out other languages like Java, C, C++ etc but the thing that matters most is learning. Whatever you are learning doesn’t matter. You have to know the basics. Knowledge of javascript will give knowledge about basic programming concepts and then according to your interest, you could try something new. The languages that I mentioned earlier will generate text-based output primarily so it might get boring sometimes but if you learn front-end you might be able to create some amazing looking websites. 
I tried to share as much as I could here. I wrote this to show my excitement about completing a year anniversary of freecodecamp and codeacademy. I will get better with every bit of code that I write and in the future when I reflect myself, I will mark this glorious date when I started learning it. I have no regrets as I am doing the thing that I love to do.