Для написания программы нужны две вещи. 1. Абстрактное мышление. Развивается всё время в процессе занятия программированием, вы представляете себе решение задачи как последовательность действий на компьютерном языке. 2. Знание основных понятий. Это переменная, условие, цикл, функция, классы, процедуры, массивы и т. п. Вам нужно просто понять для чего что и нужно. 3. Знание языка программирования. Программист оперирует своим мышлением, чтобы представить задачу как последовательность действий, выраженную в понятиях, которые описываются языком программирования. Языки программирования бывают разной сложности, но в них есть много общего. Вам стоит хорошо выучить один, и другие уже вам будет легче учить. Конкретно для JavaScript: JS востребован при написании скриптов на сайте, которые выполняются на стороне клиента, обычно это нужно для разгрузки сервера от вспомогательных программ, которые нужны пользователю, например, для динамического оформления сайта, или рекламы, или перенаправления. Я не могу вам сказать, сколько зарабатывают JS-теры, но знаю, что они очень востребованы в различных веб-проектах, кроме того JS используется для написания расширений для браузеров, так что вы можете написать какое-нибудь расширение и продавать его. Удачи!