Нужно определиться, в какой сфере Вы жклаете быть программистом - от этого будут зависеть язык программирования и набор инструментов для разработки. Плюсом я бы порекомендовал решать олимпиадные задачки, т.к. они помогут Вам научиться мыслить алгоритмично и выучить основные подходы к решению проблем. И не бойтесь программировать. Смотрите код бллее опытных специалистов.
Конкретно по Android: язык Kotlin (Java уже не то), знание основных компонентов ОС (в инете и рунете полно уроков), способность мыслить.