Обратная сторона программирования

Ещё один подался в программисты. Ещё один верит в светлое будущее, интересные задачи, карьерный рост и большую зарплату. Ха! Он ещё не знает, во что вляпался.

Всё это движение “каждый может и должен программировать” - полная ерунда, никто не должен программировать, чтобы жить в 21 веке. Более того, чтобы пользоваться всеми плюсами технологий сейчас, нужно всё меньше знать про внутреннее устройство компьютера / телефона / приставки и так далее. Потому что мало кто чинит сломанный телефон, его просто меняют на новый. Самое важное сейчас - не сохранить железку, а не потерять пароль от почты, к которой привязаны все аккаунты. Не нужно всем подряд программировать.

Ещё в 2014 году Питер Вельш написал хороший пост “Программирование - не тяжелый труд, но всё равно отстой”,и он чертовски прав. Прочитай его, если ещё не читал.

Со стороны кажется: сидишь себе в офисе, нажимаешь на кнопки и получаешь большую зарплату, что может пойти не так? Хаха! Чтобы сесть и просто нажимать на кнопки, сначала нужно научиться нажимать на кнопки 10 пальцами, потом изучить язык программирования, а потом окунуться в бездну современных инструментов для него. И знаешь, зачем? Один язык программирования, будь то Ruby, Python, C, Haskell, Java или какой-либо другой, абсолютно бесполезен без библиотек и инструментов, которые позволяют автоматизировать, компилировать, хранить историю изменений, деплоить, проверять синтаксис, устранять ошибки, собирать тестовые билды и ещё много чего. Эти инструменты каждый год обновляются или меняются. Добро пожаловать в дивный новый мир постоянного изучения всего нового.

“Так это же классно! Каждый год что-то новое,” - скажешь ты, и будешь прав. Классно, когда времени на это нет, потому что нужно писать приложение / сервис, которые зарабатывают деньги, а не играться с новыми технологиями, потенциально улучшающими (или нет) жизнь. Код в твоем проекте стареет с каждым днем и каждым новым программистом, который пишет код. И новые технологии ты будешь изучать на выходных или после работы. Да, на работе тоже можно попробовать новые технологии, только с небольшим опозданием, потому что никому не нужен сломанный проект из-за твоей библиотеки, не вышедшей из стадии 0.1 версии.

“Интересные задачи, челенджи” - вот это всё обещает хитрый HR, но ничего подобного. 90% времени современного программиста занято тем, что он собирает полурабочие библиотеки в один проект и молится, чтобы всё это не развалилось после релиза.

А помнишь, когда всем рассказывали, что “программисты - это такие люди, которые закрываются в комнате и ни с кем не разговаривают"? Ха, это уже не так. Одно из главных умений для программиста сейчас - коммуникация, та самая странная штука, которая по идее и не должна требоваться от тех, кто сидит по 8 часов за компьютером. Но, кроме написания кода, нужно общаться с другими программистами, QA инженерами, администраторами, менеджерами разных звеньев и даже иногда с человеком, который тебе платит за код.

Ну ладно, с этим можно жизнь, думаешь ты. Конечно, за маленьким исключением: кучи профессиональных болезней программистов и разных психологических расстройств. Никто тебе не расскажет, что у него село зрение, начались боли в кисти, спине, шее, глазах или/и он получил разные отклонения в психике и прочие “профессиональные заболевания”. Об этом даже не рассказывают на конференциях, потому что боятся, наверное? Но Грег не боялся и рассказал. Зачем далеко ходить: у меня самого синдром “сухого глаза” и постоянные проблемы со сном. У моих друзей и знакомых проблемы со спиной и также со сном. Спроси у знакомого программиста, когда в последний раз он “выгорал”? Я даже не ставлю под сомнение факт, что он выгорал, все мы выгораем, кто-то чаще, кто-то реже. Простой поиск по ключевым фразам “выгорание программиста” покажет, что это реальная проблема. Вот такое не редко встречается.

У всех профессий бывают профессиональные заболевания, и в принципе с этим можно бороться: ходить в спортзал, отдыхать, ездить на море … Да, всё так и есть, только вот один момент: когда 8 часов в офисе заканчиваются, ты забираешь работу с собой. Твой мозг постоянно ищет решение проблем и придумывает варианты решений получше тех, которые есть сейчас. Ты приходишь домой и садишься за компьютер, чтобы прочитать что-то новое, что поможет тебе в работе … понимаешь, к чему я?

Молчу про профессиональные деформации, когда ты не можешь смотреть на кривой сайт или раздражает анимация в приложении для телефона или медленный интернет и потери пакетов… назад дороги нет.

Программирование - не сказка, программирование - чертово проклятие. Если ты собираешься заняться этим дерьмом, лучше 7 раз подумать, а потом решать. Кроме программирования есть много других областей жизни, где можно применить свои знания некоторых скриптов, или тонкой настройки приложений, или “профессиональной” работы с компьютером. Писать код - сложно, поддерживать код - ещё сложнее, общаться с другими программистами - эээ, сложно?