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