На данный момент программирование является одним из самых перспективных способов заработка на дому. Практически у каждого дома есть интернет и компьютер, что, в принципе, только и нужно для того, чтобы изучить язык программирования.
Программирование требует умения логически мыслить и знания, для начала, школьной математики. Но каждый начинающий программист сталкивается с вопросами по типу: с чего начать? где изучать? какой язык выбрать?

С чего начать?

Звучит абсурдно, но начать лучше с изучения английского. Во-первых, не все языки программирования имеют хороший русификатор. Во-вторых, в коде программы часто используются английские слова-команды. Третье, многие обучающие сайты именно на английском, так что для полноценного обучения следует знать его хотя бы на разговорном уровне.
Начать можно с простых логических задачек. Все их решали в начальной школе, но там был лёгкий уровень, программисту же нужно уметь решать что-то более глобальное, где нужно учитывать сразу несколько факторов.
Также можно попытаться писать основы HTML и CSS. Они не являются языками программирования, но для тех, кто вообще не видел, что такое кодинг, — это хороший, наглядный вариант.
Второе, что нужно решить — определить язык программирования. Для этого нужно понять, зачем вообще нужно программировать, то есть какая цель у изучения.

Создание красивых веб-приложений

Для этой цели понадобится JavaScript (ЯваСкрипт, ДжаваСкрипт). Этот язык программирования позволяет кодить веб-сайты. JavaScript — один из самых популярных языков программирования. Он является сиподобным языком (похожим на язык C). В общем, если нужно программировать что-то веб, то лучше всего подойдёт JavaScript.

Android-приложения

Это можно осуществить в Java. Не стоит путать JavaScript и Java — это два языка. Тестировать приложения можно со своего смартфона, что заметно облегчает обучение.

Разработка ПО и подобное

Для этого требуется знание C#, C++, python, assembler и подобных. Языки довольно сложные для начинания, потому лучше начать с чего-то более простого.

Где и как изучать программирование?

Существует множество бесплатных и не очень сайтов для изучения программирования. Сайты для опытных или для тех, кто впервые видит код:

  • HTML Academy (https://htmlacademy.ru). На сайте подобраны практические задания по HTML и CSS.
  • Hexlet (https://hexlet.io). Сайт предоставляет сотни уроков и практикумов для изучающих программирование.
  • Codecacademy (http://www.codecademy.com). Сайт обучает всем языкам программирования. Интерактивные занятия, базовые принципы и многое другое.
  • Code Avengers (http://www.codeavengers.com). Интересный сайт для практического изучения с помощью мини-игр.
  • CodeSchool (http://www.codeschool.com). Сайт для углубленного изучения программирования. Долгосрочные платные курсы, которые сделают любого новичка в более-менее опытного эксперта.
  • Informatics (http://informatics.mccme.ru). Русскоязычный сайт для изучения теории программирования и знакомства со средой. Вся теория разбита по степени сложности, к каждой теме есть по несколько десятков олимпиадных задач, помогающих подкрепить теорию практикой.
  • Usaco (http://usaco.org). Сайт, где хранятся тысячи задач олимпиадного уровня. Все они разбиты по темам и сложности. После прохождения одного сектора открывается следующий. Требуется знание английского.
  • GeekBrains (https://geekbrains.ru). На сайте собраны сотни курсов, лекций и видео-советов. Некоторые бесплатны, за другие нужно платить, но один из лучший русскоязычных помощников для программистов любого уровня.
  • Foxford (https://foxford.ru). Платные курсы для тех, кто начинает свой путь кодинга. Лучшие преподаватели России, хорошие примеры и недорогое обучение, а также бесплатный теоретический материал.

Желательно нужно найти себе наставника или просто человека, который знает лучше. Гугл, конечно, хороший помощник, но реальный человек (пусть даже по интернету) не помешает. Так обучение будет идти быстрее, плюс к тому, ментор поможет указать на те детали, что сайты и поисковик упускает.
Также можно прочитать книги, которые помогут определить, что же лучше для каждой среды.
И главное — помнить, что дорога появляется под ногами идущего.