Если нет проблем с усвоением информации и учёбой, то обучиться программированию и разработке ПО с полного нуля можно за 1-3 года.
После этого нужно будет искать какую-нибудь компанию, которая примет к себе в звании младшего разработчика.
В зависимости от того, как будет выстроено обучение в этой компании, и того, будет ли рядом хороший ментор - до Middle можно будет подняться за время, приблизительно, от 1 до 3 лет.
Теперь про возможные препятствия:
- Плохая обучаемость - важно уметь усваивать всю информацию, какую получится найти, структурировать её в голове, и иметь желание искать ещё больше информации. И всё это ещё закреплять практикой. На всё это ещё и время нужно выделять достаточно много.
- Невозможность найти работу - спрос на Junior-ов гораздо ниже, чем на Middle-ов и Senior-ов, но зато самих джуниоров очень много. И многие готовы работать буквально за еду. К этому нужно быть готовым.
- Отсутствие ментора - без него просто будешь сидеть в каком-нибудь простом проекте без особой активности и личного развития.
Проблем с наймом из-за возраста не должно возникнуть. Ибо команды есть самые разные и кому-то наоборот будет комфортнее работать с человеком постарше.