Никого не хочу убеждать, опровергать, ни с кем спорить или соглашаться, я просто хочу рассказать каково это - быть программистом. Может кого-то этот мотивирует или направит на путь истинный, буду только рад. Предупреждаю: в статье много нарциссизма и завышенного ЧСВ :) Прости за ошибки в тексте.    Тысячи строк кода, сотни файлов, десятки алгоритмов и паттернов и один готовый продукт. Насколько бы маленькой не была разработанная программа, библиотека или модуль, все равно вкладываешь в него частицу себя. Где-то используешь свой любимый и привычный способ работы с репозиторием или способ перебора коллекции, где-то придумываешь новую фичу и внутри себя этому радуешься. Работа программиста предполагает глубокое погружение, когда все вокруг тебя расплывается, есть только ты, компьютер и твой мозг. Начать всегда сложно. Сложно заставить себя работать с утра, сложно заставить переключится с одной задачи на другую. Но стоит внесни в код мелкую правку, опустить руки на клавиатуру и напечатать пару строк, тут же забываешь о всякой лени и прочих заботах.   Получаешь удовольстви даже не от предвкушения результата, а от самой работы.  Такое состояние профессор Чиксентмихайи назвал “потоком”.  “Цели оправдывают усилия, требующиеся для её достижения, но впоследствии именно затраченные усилия наполняют смыслом цели”. Безумный водоворот мыслей, идей, развернутой архитектуры твоей программы предстают как на ладони. Моделируешь в голове механизмы и пытаешься выразить из в коде. В такие моменты ощущаешь себя богом! Время летит не заметно и каждая минута наполнена глубочайшим смыслом. Можешь пропустить обед или сидеть до 6ти утра под влиянием “потока”, и только после того как “отпустит”, можешь отстраненно взглянуть на плод твоего труда: будь это тысяча строк кода или всего лишь десять, сам процесс уже окупает все затраченные усилия. Мгновенный фидбек от работы, кто еще может таким похвастаться? В какой то момент даже думаешь, что результат не так уж и важен, но после тысячи часов работы над большим с ложным проектом, в момент когда он закончен, эйфория охватывает все тело: ты сделал что то великое. Создал своими руками что-то, чем будут пользоваться люди. Может в коде не все так элегантно, и начни ты сейчас проект заново - сделал бы все по другому. В итоге видишь все недостатки, но все равно любишь своё детище. Со временем становишься перфекционистом и, сколько есть времени, пытаешь доработать и улучшить проект: переписать метод, который тебе не нравится, дописать новый уровень абстракции или вынести функционал в отдельный модуль.    В голове представляешь себя Тони Старком, Кевином Флинном, Дэйдом Мерфи, Биллом Гейтсом или Марком Цукербергом. Пускай со стороны это и не так, но внутри себя ты: хакер, гений с зеленым светом от монитора на лице. Запускаешь систему сборки в терминале одной строкой, запускаешь любимую IDE и в бой. Тебе платят за работу неплохие деньги, но ты занимаешься этим и в свободное время, бесплатно. Пишешь дома какой-нибудь веб сервис или разрабатываешь игру, участвуешь в open source проектах, пишешь библиотечку, паяешь в гараже, споришь на тематических форумах, с этого начинались многие проекты и компании. Может и твое хобби к чему-нибудь приведет? Ты сродни ученому, проводишь исследование и делаешь шаг по направлению к новому, неизведанному. Многие задачи типичны, но встречается и то, что до тебя никто не делал. Решение отнимет у тебя десятки, а может и сотни часов, но, в конце концов, ты выйдешь победителем и вздохнешь с облегчением. Может напишешь статью об этом, а может просто оставишь этот опыт себе.    Когда нечем заняться, нет задач и новых идей, чтобы мозг не простаивал ты идешь перепроходить диаблу, или бегаешь в четвертую батлу. Ты не считаешь это “пустой тратой времени”, как могут говорить окружающие. Таков твой мир. Пустой тратой времени ты считаешь жизнь этих самых “окружающих”. Они тебя не понимают, так же, как и ты их. Каждый при своем мнении.    Жизнь программиста это постоянная учеба, не ограничивающаяся базовыми знаниями, полученными в школе, универе и т.п.. Постоянно читаешь, изучаешь, смотришь. Твои сайты в избранном: habrahabr, codeschool, msdn, github… А из десятка открытых вкладок в хроме большинство это: страницы с документацией по различным API, несколько проектов Github, которые планируешь посмотреть в свободное время, да Google Play Music, в котором играет любимый Fall Out Boy.    Не все программисты одинаковые. Многие сидят на одной выбранной технологии уже несколько лет. Разрабатывают и поддерживают какую-нибудь CRM или программу отчетности. В понедельник нехотя тащатся на работу, в пятницу считают часы до вожделенных выходных. Я их не осуждаю, у каждого свой путь. Может они не привнесут ничего нового в этот мир, но ведь речь то не о них, а о тебе.
а ещё занялся спортом и хочу знать как накачать спину на турнике и брусьях и всё что связано с развитием спины