Продаем себя сами

в 14:48, , рубрики: job, programming, software engineering, Программирование, метки: , , ,

От переводчика

Недавно на хабре появились две первых части истории о создании Warcraft: Orcs & Humans, написанные Патриком Вайатом. Блог Патрика содержит не только воспоминания о былых днях, и сейчас вашему вниманию предлагается его статься о том, что нужно делать, чтобы всегда иметь возможность найти работу в сфере разработки ПО. Хоть Патрик говорит о рынке США, практически все применимо и к нашим современным реалиям.

Многие читатели задают вопросы о карьере программиста, о том, как попасть в game-dev, и о том, как оставаться востребованным на рынке разработки в целом. Я начал с ответа читателю JM о возрастной дискриминации, но это вылилось в полноценный пост о том, как устроиться на хорошую работу.
Вот вопрос JM:
Как вам удается оставаться в этом бизнесе на протяжении 22 лет? Я программирую уже 30 лет и, когда я пытаюсь найти новую интересную работу, мне или говорят, что я черезчур квалифицирован или наоборот, не владею основными навыками в Java и Hibernate.
Возрастная дискриминация — насущная проблема технических работников. Некоторые работодатели предпочитают выбирать молодых кандидатов, которых можно заполучить за меньшие деньги, несмотря на то, что они могут работать менее продуктивно, чем их более опытные (а, значит, старшие) коллеги. Не беря во внимание правовые аспекты возрастной дискриминации, одной из причин подобного поведения является неумение нанимающей стороны оценить то, является ли кандидат хорошим программистом, вследствие чего в ход идет другой критерий — “дешевизна”.

Вы нужны хорошим компаниям

В следствие демографической недостачи кадров достаточному количеству компаний очень нужны программисты. Преподаватели Стэнфордского университета поделились информацией о том, что количество абитуриентов, поступающих на специальность Computer Science, резко упало после краха доткомов в 2000-м, и только недавно это количество начало снова расти, притом очень резко. Получается, что на протяжении 10 лет инженеров было не так уж и много, а общество продолжало становиться все более и более зависимым от их количества.
Добавьте сюда тенденцию свежих выпускников стремиться к работе “на себя” — тренд, ставший популярным благодаря стартап-инкубаторам YCombinator, Tech Stars и т.д. В результате самые амбициозные разработчики отсутствуют на рынке труда по определению.
Наконец, благодаря таким гигантам, как Google, Amazon, Microsoft, Facebook, пропылесосившим рынок, предлагая высокие зарплаты, у нас наблюдается “идеальный шторм” для компаний, пытающихся найти кадры.
На моей предыдущей работе было столь сложно найти веб-разработчика, что нам пришлось “украсть” человека из отдела по автоматизации (хотя и там мы нуждались в людях), плюс к нам переехало несколько человек из Флориды и восточной части штата Вашингтон.
Вы спросите, если все это действительно правда, почему я не могу найти работу, соответствующую моим навыкам и опыту?
Опираясь на личный опыт, я считаю, что есть несколько общих причин, по которым программисты (любого уровня подготовки) с трудом находят себе работу.

Вы не ищете работу в “правильных” компаниях

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

Вы не приобретаете новые навыки

Для компьютерной индустрии характерны изменения. Я обладаю огромным багажом знаний о DOS, DBase III+, Real Mode, EMS, XMS, 68000/65816/8086/80386 ассемблерах, FORTRAN, и еще о куче всякой всячины, которую, я, вероятно, никогда больше не буду использовать. Более 10 лет я был преимущественно Windows-программистом, но за последние несколько лет я узнал кое-что о Erlang, метапрограммировании в Ruby, Rails, Linux, vi, Racket, D и OCaml, а совсем недавно я завершил работу над своим первым C#-проектом: IPC с использованием именованых каналов. Все это позволяет оставаться конкурентноспособным в качестве программиста, хотя программирование — это всего лишь часть моих профессиональных навыков.
Когда я собеседую кандидатов, я часто вижу перед собой людей, прекративших самообучение и довольствующихся уже приобретенными навыками.
Как только вы перестаете учиться, вы сразу же теряете очки на рынке, продолжайте учиться новому.
Хочу уточнить, что это не означает, что вы должны сразу же броситься учить что-нибудь ужасно плохое. Потратьте время на знакомство с большим количеством технологий, выберите то, что вам понравилось и изучите настолько, что сможете использовать это профессионально.
Вот несколько отраслей, которые, по моему мнению, будут расти в обозримом будущем: сетевое и серверное программирование, web UI программирование, DevOps, business intelligence и security.

Вы не продаете себя

Стив Йегге, умнейший парень, вдохновляющий меня на ведение блога, поскольку он пишет длинные посты (вроде этого, только длиннее в 10 раз и намного остроумнее), говорит, что наиболее важный навык программиста — умения продавать себя. Спросите себя: “А что я делаю для этого?” Резюме — это важно, разумеется. Но есть ли у вас свой технический блог? Проекты на github? Профиль в LinkedIn? Делаете ли вы доклады на технических конференциях? Посещаете ли технические тусовки в вашем городе?
Вы сможете отлично трудоустроиться, но для этого вам придется выставить себя напоказ. Работа сама найдет вас.

Автор: gollum

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js