Научиться писать код на каком-то языке - можно. Научиться программировать - нельзя.
Написание кода - это всего лишь запись найденного тобой способа решения задачи (aka алгоритма) в понятной компьютеру. Язык программирования - не цель обучения, а всего лишь алфавит. И никакое знание языков программирования не научит программировать - т.е. уметь находить эффективные решения программистских задач.
Всё, чему тебя "научат" на курсах - это бездумно собирать типовой код, решающий типовые рутинные задачи в границах заданной курсами песочницы. Без малейшего понимания того, насколько качественно то, что ты пишешь.
— Сколько времени займет, чтобы стать программистом уровня джуниор?
— Вам назовут срок (скажем, N лет), а потом вы будете растягивать азы на этот срок. Это не выход. Учитесь так интенсивно, как только можете, обязательно получайте удовольствие от процесса, и тогда, возможно, вы сможете программировать.
Приложения, курсы и языки - дело вкуса.
Если хотите работу программиста, то присмотритесь к требованиям в вакансиях.