Вышка не обязательна, но базовые знания основ обязательны (оч часто понимание этих основ и парадигм ставит в тупик - тут только практика: что такое переменная, где храниться, как и почему так называется, что такое массив переменных, цикл по массиву, какие бывают циклы и почему). Если есть предрасположенность к техническому - будет легче, хотя не факт.
Если интересно почему дизайн такой, а не такой как вам бы хотелось - это скорее про психологию, эмпатию и основы дизайна (тут тоже море чтива). Дизайн бывает разный. Делать красиво (ui) и делать удобно (ux) это совершенно разные профессии. Иногда они пересекаются в одной голове.
По опыту привода знакомых в it скажу что все индивидуально: можно через пол года начать фрилансить за копейки (или норм деньги, как попрет), а можно найти удаленку за нормальные деньги в соответствии со своими скилами и запросами. Удачи.