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