Есть несколько способов заработка на программировании. Для некоторых способов нужны ещё другие навыки кроме программирования.
1) Устроиться в компанию программистом. Этот способ потребует от вас только навык программирования. Для того, чтобы получать высокую зарплату нужно быть хорошим программистом. Чтобы иметь высокую квалификацию в программировании, нужно упорно поработать как минимум несколько лет. Невозможно стать программистом за 3 месяца, как обещают на некоторых курсах по программированию.
2) Работа на фрилансе. Для работы на фрилансе вам кроме знания программирования нужно ещё знать основы маркетинга. Потому что на фрилансе вам нужно продвигать свои услуги. Если игнорировать важность маркетинга, у вас будет постоянная нехватка клиентов и вы будете работать за низкие цены. Нужно учитывать то, что вам не стоит работать на фрилансе, если вы не умеете самостоятельно решать задачи и вам постоянно нужна помощь более опытного программиста. На таком уровне для начала лучше устроиться в компанию, пока не приобретете самостоятельность.
На фрилансе вам не платят за потраченные часы или присутствие в офисе. Этим фриланс отличается от компании. На фрилансе платят за результат. Если вы потратили много часов, но так и не решили задачу, не стоит думать, что заказчики за это готовы платить.
3) Продажа готовых скриптов. Вы можете один раз разрабатывать какой-то скрипт, а продавать его многократно, получая этим пассивный доход. Для того, чтобы на ваш скрипт был спрос, он должен решать какие-то проблемы бизнеса.
Чтобы продвигать скрипты, вам потребуется знание маркетинга. Вы должны показать ценность вашего продукта потенциальным покупателям, чтобы они у вас покупали.
Вы можете разрабатывать готовые шаблоны сайтов, темы для движков, плагины для разных платформ и так далее.
Торговать скриптами можно с помощью собственных ресурсов (сайт, страницы на социальных сетях) или на специальных маркетплейсах.
4) Основать собственный стартап. Это, скорее всего, самый сложный и рискованный способ заработка на программировании. Для того, чтобы создать стартап, вам кроме программирования потребуется знания в маркетинге и менеджменте, лидерские навыки и, самое главное, стартовый капитал.
Вам будут нужны специалисты из смежных областей. Потому что программист может выполнять только часть работы для стартапа.
Чтобы ваш стартап был успешен, вы должны иметь хорошую идею. Но насколько ваша идея не была хорошей, есть вероятность, что она окажется ненужной для людей. В этом случае вы потеряете время и деньги, которые вложили в стартап. Поэтому всегда нужно учитывать риски, выбирая этот вариант заработка.
Я перечислил все виды заработка на программировании по мере их сложности, где вверху самый легкий способ, а внизу самый сложный.