Стать программистом может быть непростой задачей. Прочитав Ваш первый год в коде, вы можете задаться вопросом, что вас ждет в долгосрочной перспективе. Моя книга Что такое программирование охватывает больше навыков, которые вам понадобятся, но здесь я хочу поделиться личными проблемами.

Я программирую уже более 30 лет. Это долгое время, чтобы быть в этой отрасли. Я знаю многих людей, которые не зашли так далеко или слишком растерялись. Шли годы, и я столкнулся с некоторыми серьезными проблемами, с которыми сталкиваются другие.

Застой

Технологии меняются быстрее, чем может уследить любой человек. Природа программирования такова, что инструменты, изученные в этом году, вряд ли будут актуальны через пять или десять лет. Если вы еще не заметили, обучение — это самый необходимый навык для программиста. Каждый год, каждый месяц, каждый день приносит с собой что-то новое.

Я сменил множество мест работы: сотрудник в стартапах, подрядчик в крупных компаниях и в собственных побочных проектах. Постоянное знакомство с новыми вещами помогло мне избежать стагнации. Без этой смены работы может быть трудно научиться чему-то новому. Тем не менее, вы должны это сделать, иначе вы окажетесь все более далеким от современного программирования. Списки вакансий будут становиться все более иностранными, а лучшие практики, которые вы видите в Интернете, все более запутанными.

К счастью, подходы к программированию меняются намного медленнее. Это основные темы, например, как управлять проектом и лучшие практики кодирования. В отличие от конкретных инструментов, эти знания переносятся на новые проекты. Тем не менее, он меняется, и важно не отставать. Многие люди сидят над одним проектом десять лет и дольше. Этот продолжительный период может привести к полной потере представления о том, во что превратилось программирование.

Нет необходимости бесконечно изучать все блестящие новые вещи, но вы должны следить за общими тенденциями. Потратив время на изучение концепций, лежащих в основе инструментов, вы обнаружите, что ваши знания легко переносятся в новые инструменты. Проявляя даже мимолетный интерес к отрасли в целом, вы должны быть в курсе основных изменений.

Усталость

Цикл обучения сказывается на нас. Он требует постоянного притока энергии. У нас не будет такой возможности долго ездить на наших текущих знаниях. Я не могу сказать, как часто я был бы признателен за работу, где я мог бы применить свои текущие знания. Во фриланс-контрактах я иногда делаю ставки на проекты не потому, что они интересны, а исключительно потому, что мне не придется учиться чему-то новому. Это экономит энергию.

Вдобавок к обучению есть стресс от смены работы. Смена компании — это серьезное изменение в вашей повседневной жизни. Даже перевод внутри компании может быть значительным изменением. Период адаптации добавляет стресса. Это отличный способ избежать стагнации, но он требует личных затрат.

Наша жизнь меняется с возрастом. Врожденный драйв двадцатилетнего человека угасает, когда вам исполняется 30–40 лет. Вы найдете другие способы провести время. Возможно, вашим ночным хобби больше не будет возиться с кодом. Жизнь не будет состоять только из программирования. Это означает меньше времени для всего обучения, которое вам нужно сделать.

С другой стороны, часто именно эти непрограммирующие действия возвращают энергию. Я не думаю, что смог бы так долго поддерживать свою энергию без них. Я делал письмо, музыку, массаж и еще. Необходимо достичь баланса, и я склонен к переутомлению, а это бездонный поглотитель энергии.

Физическое благополучие играет важную роль, и нередко приходится поддаваться плохому образу жизни. По моему опыту, стереотипы о негодных программистах, к сожалению, распространены. Я не осуждаю, но недостаток физического здоровья вас подводит. Обучение утомительно и требует здорового ума, который требует здорового тела. И когда вы теряете энергию, вы теряете время. Вы теряете время на упражнения и правильное питание, что еще больше снижает вашу энергию, бросая вас в нисходящую спираль.

Я посвящаю много своего времени здоровью и хорошему самочувствию, хотя, возможно, мне этого недостаточно. Легко снова погрузиться в проекты. И, несмотря на то, что я стремлюсь иметь проект, в котором я ничему не научусь экономить энергию, в конечном итоге это те проекты, которые истощают еще больше энергии. Как только мотивация уходит, моя энергия истощается.

Честно говоря, я все еще пытаюсь понять это. У меня был хороший пробег в 30 лет, когда я не думаю, что моя мотивация угасла, но энергии определенно стало меньше. Я столкнулся с небольшой проблемой сейчас. Но, к счастью, я пишу о первых 30 годах и могу игнорировать последующие.

Цинизм

А что происходит, когда вы устаете? Когда моя мотивация падает и у меня нет интересного проекта, ну, мне становится все это надоело. Цикнизм — проблема не новая, но определенно большая.

Цикл обучения и нехватка энергии приводят к разочарованию. Неизбежное ощущение, что ты делал это раньше. Почему мы продолжаем изучать новые инструменты, когда старые работают? Почему эти новые инструменты не делают того, что делали старые? Почему после стольких лет ничего не стало лучше?

Тяжело смотреть, как что-то приходит и уходит, смотреть, как твоя лучшая работа уходит в безвестность, а потом тебя просят сделать все это снова. Продолжайте программировать достаточно долго, и новизна исчезнет. Не может быть больше интересных проектов, областей, в которых вы еще не работали, или чего-то, чем вы хотя бы отдаленно интересовались.

Такое отношение часто может быть результатом застоя или угасания энергии. Чем больше человек закрывается от смены карьеры, тем больше он начинает презирать эту область. Быть в курсе новых вещей и вносить свой вклад в эту область может помочь предотвратить негатив.

Но я думаю, что это еще не все. Даже с моей разнообразной карьерой, а может быть, благодаря ей, я временами становлюсь чересчур циничным. Мне нужно напомнить себе, что проблемы, которые мы решаем сейчас, хоть и похожи, но не те, что были 20 лет назад. Я даже даю презентации на этот счет, о том, как много действительно изменилось в программном обеспечении.

Тролли и идиоты тут тоже не помогут — видите ли, это говорит моя кислая сторона. Я злюсь на людей, которые пишут плохой код в Интернете, дают советы по поводу плохого кода или стойко защищают глупые подходы. Хорошо, что у меня не было твиттера, когда я начинал, иначе я бы тоже разозлил какого-нибудь старого программиста.

Признание негативной тенденции в вашем отношении очень важно. Это первый шаг к тому, чтобы понять, что есть проблема, и найти способы ее решения. Найдите программу, которая сделает вас счастливым. Игнорируйте битвы, в которых вы не можете победить. Вспомните радость, которую вы испытали, когда начинали. Не позволяйте цинизму победить.

Эйджизм

Учитывая, что мы можем быть устаревшими, лишенными всякой энергии и ненавидящими отрасль, неудивительно, что многие команды не хотят работать с нами. Упрямые старые пердуны ужасны для команды. Они застряли в прошлом и считают себя лучшими. Это приводит к тому, что они принимают неверные решения и проявляют высокомерие по отношению к младшим членам команды.

Я не считаю себя частью этого стереотипа, и я знаю многих людей, которые таковыми не являются. Хотел бы я сказать, что никогда не встречал стереотипного старого программиста, но встречал, и часто. Как и мои коллеги, которые проводят собеседования или иным образом участвуют в найме. Я понятия не имею о процентном соотношении хорошего и плохого.

Это означает, что даже если вы стали отличным программистом, вы должны справиться с этим стереотипом. В отличие от других проблем, с этой мало что можно сделать. Помните об этом и знайте, что вы будете старым человеком, приходящим на интервью. Если вы следите за новостями и сохраняете позитивный настрой, я не считаю возраст серьезным препятствием…

…за исключением случаев, когда речь идет о контрактах или оплате. Часть проблемы эйджизма заключается в том, что молодые люди дешевле. Компании неохотно платят старшим программистам за их знания. Без объективного способа измерения людей я могу это понять. Я гарантирую, что в долгосрочной перспективе я буду дешевле, и что мой продукт будет лучше, но, конечно, все, кто борется за место, скажут то же самое. Только после того, как вы поработаете со мной, вы увидите разницу.

Молодежь также слишком охотно посвящает свое свободное время компании, которая слишком актуальна в сфере стартапов. Я готов работать долгие часы, какое-то время, и если вы мне за это заплатите. Моя лояльность к компании существует только до тех пор, пока она выгодна и мне. Я не терплю никаких корпоративных отношений. Все это является частью баланса моего здоровья, поддержания умственной и физической формы. Но пока вы не найдете убедительного способа показать компаниям, что это приводит к созданию более качественных продуктов, мы будем бороться с представлением о том, что опытные программисты работают не так много.

Видите, как легко мне позволить своему цинизму сиять! Эйджизм — это реальная проблема, и она обусловлена ​​как реальностью, так и стереотипами. Бороться с этим тяжело. Я думаю, что пока вы сохраняете позитивный настрой и избегаете застоя, проблему можно обойти.

Бродяги

Это проблемы, с которыми я столкнулся, с которыми вы в конечном итоге столкнетесь. На самом деле, в течение первых десяти лет вы, вероятно, сможете полностью игнорировать эти бессвязные фразы. Отложите их в затылок. Когда кажется, что что-то идет не так, помните, что это не вы. Застой, усталость и цинизм случится со всеми нами. Признайте это, а затем найдите способ преодолеть это.

Первоначально опубликовано на http://mortoray.com 2 августа 2019 г.