На этот вопрос невозможно ответить в духе "Учитесь по 2 часа в день и через год станите программист" ли "за 21 час выучите Python". Нет такого понятия.
Я просто приведу в пример себя - в мае 2018 года я начал обучение PHP на Хекслете. Я работал на работе в офисе и тратил 1.5 часа на дорогу в одну сторону. Т.е. на уходило у меня на работу 12 часов. Обучение я начал проходить во время отпуска, учился часов 5-6, пока были силы. Т.е. в целом как обычный рабочий-учебный день. После отпуска времени стало меньше. Старался учиться по 0.5-1.5 часа, главное, чтобы было регулярно. В выходные больше, бывало, что весь день. В обеденное время тоже учился. Можно сказать, что часа 2 уходили на обучение. В начале февраля 2019 года я сменил работу и устроился программистом. Примерно 9 месяцев прошло между стартом обучения и трудоустройством. (В целом про мой путь обученяи можно почитать
здесь)
А еще я знаю ребят, которые за полгода обучались и находили работу. А кто-то уже на 3-4 месяцев, пройдя только часть профессии. И знаю тех, кто уже года 2 учится, но все еще учится. То есть весь срок и время, которое требуется - оно индивидуально.
Точно также, как в школе. колледже, универе, люди воспринимают информацию по-разному. Например я не воспринимаю её на слух, забываю, поэтому лекции для меня бесполезны.
Во время обучения я десятки раз возвращался к пройденному материалу. Перечитывал, решал заново задачи, улучшал свой код и мышление. Постепенно становился лучше и лучше. Например я свое первое тестовое задание делал 3 месяца, потому что опыта в создании приложений с нуля у меня не было.
А еще я несколько попыток обучения совершал. Несколько раз по книгам. Пару раз на каких-то бесплатных курсах, типа курсеры. А тот же Хекслет я осилил только со второй попытки.
Но как понять, что уже готов? Очень просто - ходить на собеседования. Есть +- похожие требования. В вакансиях они причем исчерпывающие часто и лишние. Могут перечислить множество вещей, с которыми не придется никогда работать, а вставлены они будут число для солидности. Просто ходите, общайтесь, Решайте тестовые задания, например
отсюда и практикуйтесь. Как сказал один великий ум "если вы прошли Введение в программирование, вы можете уже идти работать",