Как научиться программировать?
Вышка тут точно не поможет
Начать писать программы. Раз были сисадмином, возможно заинтересует perl.

Странно, вот в универе мы много всего проходили по алгоритмам. И сортировки, и стеки, и много чего. В качестве курсовой я писал программу по алгоритму Ершова (это про раскраску произвольного графа 4-мя красками). Но значительная часть всего этого сейчас лежит больше мёртвым грузом в мозгу. Тогда же, во время учёбы изучал HTML — просто купил учебник по HTML 4.0 и стал делать странички. Затем захотелось динамики, нашёл книжку по PHP, стал делать простенькие сайтики на заказ. Это были первые доходы. Причём бывало так, что не всегда я знал, как решать задачу. Садился и гуглил-гуглил-гуглил. Затем появился Flash и он заворожил своими возможностями. Купил книжку по Actionscript и сел изучать. Но на флеше я практически очень мало чего делал — не умею рисовать. Потом Python. Изучал аналогично. Нашёл хорошую литературу и делал программки.

В общем, мой путь сформировался таким образом: 
1. Ставится цель изучить язык или технологию. 
2. Ищется литература (по форумам смотрю, что люди рекомендуют для новичков), скачиваю или покупаю книгу, изучаю, пишу примеры.
3. Когда становится ясно, что я могу сделать из этой технологии/языка, придумываю какое-то приложение, которое я мог бы реализовать на ней.
4. Ну и пытаюсь его реализовать.