1. Приходится постоянно учиться. Учиться нужно всегда и везде, но в программировании слово "постоянно" приобретает более масштабное значение. Нужно учиться каждый день, каждый час. Потому что достаточно шустро разрабатывают новые библиотеки/фремворки/технологии и их модификации, и неизвестно, что будет востребовано завтра. Поэтому нужно учить ВСЁ. Повторюсь, учиться нужно везде, но не везде нужно учиться в таком темпе. Когда обучение отнимает у тебя всё твоё личное время, - это уже дурдом. 2. Сидячая работа. Будут проблемы со здоровьем. 3. Придётся учить английский язык, т. к. вся документация выходит именно на английском, 4. Лютейшая конкуренция. Кто бы что ни говорил, но программирование, по сути, вполне комфортная работа (если не брать во внимание недостатки). Поэтому туда прётся много людей. Новички никому не нужны. В лучшем случае, вам предложат гроши в виде 10-20 тысяч. К слову, в других сферах даже новички могут зарабатывать в 2-3 раза больше. 5. Приходится постоянно сидеть за комьютером. Такова специфика работы. Также это вытекает из первого пункта. После работы придётся вновь сидеть за компом, чтобы поддерживать актуальность знаний. В общем, это ад. Угробить свою жизнь на чёртову железяку (комп) - ну дико сомнительное удовольствие. Мир вокруг так прекрасен, не представляю, как можно зависать в виртуальной реальности. 6. Тяжёлый умственный труд, который по достоинству оплачивается только тем, кто уже смог заявить о себе, то есть опытным специалистам.