Серия «Кодовый хаос»

4

"Соискательский гатлинг" - как джун с улицы одолел конкурентный барьер

Прошел год с моего предыдущего поста про обучение и поиск работы, и вот уже набежал мой первый, так желанный работодателями, год подтверждаемого коммерческого опыта =)
С того момента накопилось немало занимательных историй, тем и наблюдений, которыми мне хотелось бы поделиться с точки зрения молодого инженера, большая часть этих тем будет посвящена непосредственно работе нового разработчика в компании - к чему готовиться, что удивит и с чем придется смириться. Но не будем забегать вперед. В рамках этого поста я затрону темы посвященные процессу поиска работы и взаимодействию с нанимателями. В перечень таких тем входит: "Чего хотят боты: Составление резюме, если вы никто и звать вас никак", "Бесконечность не предел: Правильно взаимодействуем с работодателями", "Расчехляем пулемет: эффективно взаимодействуем с работодателями" и ряд других, не менее забавных артикулов =)
Как обычно, напоминаю, версии для лл нет, а все написанное ниже плод моего воображения мое, весьма, субъективное мнение, основанное на ограниченном опыте взаимодействия с российским рынком it найма в прошлом году.

"Пора искать работу: Как понять, что ты готов?"

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

В предыдущем посте давал субъективную оценку рынка it найма в 2022 году с точки зрения неофита с улицы. Если кратко - вайтюны не нужны, к людям с "быстрым" опытом относятся с понятным скептицизмом. Кроме того, в срезе стартовых позиций, рынок найма перегрет соискателями разной степени подготовленности. И когда я говорю "перегрет", я имею ввиду джуниорские вакансии, на которые приходит по 500+ откликов в неделю. В сети можно найти тонны занимательных статей/видео иллюстрирующих данную проблему.

"Соискательский гатлинг" - как джун с улицы одолел конкурентный барьер IT, Разработка, Трудоустройство, Личный опыт, Карьера, Поиск работы, Python, Текст, Длиннопост

Соответственно я, как соискатель столкнулся с двумя нюансами вызванными огромным количеством соискателей на позицию:
1) Разброс уровня подготовки среди сотен кандидатов на вакансию достаточно большой. Чтобы заинтересовать работодателя, нужно действительно что-то из себя представлять.
2) Трехзначное количество кандидатов приводит к тому, что уделить должное внимание каждому соискателю (даже просмотреть резюме) физически невозможно - не хватит человеко-часов. Адекватные работодатели используют фильтры hiring-платформы или самописных ботов, для фильтрации откликов по параметрам, например - автоматически отсеивают кандидатов без указанного опыта.

Учитывая эти наблюдения, найм джуна состоит из следующих пунктов:
1) Собес с ботом Грубый отсев кандидатов: Работодатель отсеивает резюме по ключевым словам. Вы готовы к этому этапу, если осознаете свою реальную позицию крайне невостребованного на рынке найма специалиста, а следовательно составляете резюме с упором на соответствие фильтрам нанимателя.
2) Первичный контакт с нанимателем. Это может быть звонок HR или сообщение в мессенджер. В некоторых случаях на этом этапе проводится технический скрининг, но я с таким не столкнулся. На этом этапе роляют софт скилы и вы к нему, скорее всего, готовы, если погуглили пару-тройку статей про процесс прохождения собесов или для вас это не первый собес.
3) Собсна то, за чем вы сюда пришли - техническое собеседование. Вы не готовы к этому этапу, если способны вести последовательную (пусть и не очень глубокую) дискуссию в контексте своего стека, с позиции понимания проблематики. Тут важнее всего именно последнее, не достаточно зазубрить ответы на вопросы, нужно понимание того, о чем вы беседуете, причем желательно, чтобы понимание опиралось на практический опыт.

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

"Чего хотят боты: Составление резюме, если вы никто и звать вас никак"

Советы по правильному составлению it резюме из интернета - говно, не подходят для джунов. Именно с этих слов я хочу начать данный раздел и считаю, что имею на это полное право, как человек, отправивший более 2к откликов. Резюме должно быть максимально кратким, информативным и содержать следующие блоки:

1) Ваш стек - максимально развернутое описание стека. Для джуна без опыта - добавляем сюда все, с чем когда-либо работали или сможете разобраться в течении недели. В начало выносим основные скилы, по которым есть хорошая теоретическая/практическая база, в конец выносим все остальное. Например для меня "основным" был питон с его либами, докер, умение в cli, всякие теоретические штуки, навроде ООП и сетевых протоколов, по которым мог развернуто дискутировать. Второстепенным был Golang, который тогда только начал учить, питонячий numpy, по которому небыло хорошей практики и некоторые другие вещи, которые были четко отмечены как "представляю что это, но с ходу не заведу". Указывать второстепенные скилы, но отмечать их "второстепенность" важно, чтобы обмануть автоматические фильтры, но не обмануть живого нанимателя. Сюда же пихаем инфу об образовании. Если это кулинарный техникум или что-то максимально не релевантное, лучше опустить. (оставьте эту информацию в специальном поле). Курсы в шапке указывать не стоит.
2) Ваш опыт - раздел поделен на два подраздела: коммерческий опыт и портфолио. Если есть сколь угодно релевантный опыт - обязательно указываем (сисадминил в универе, прокладывал сеть, фрилансил курсовые проекты для студентов и т.д.) если релевантного опыта нет - указывать его не нужно. Это же относится к специальным полям на платформах рекрутинга (например hh): если релевантного опыта нет - не указываем ничего. Нерелевантный опыт портит впечатление и закрепляет образ войтюна. В портфолио добавляем развернутое описание проектов со ссылками на гитхаб. Под это можно расписать целую статью, но если кратко - количество проектов не решает, важна оригинальность, сложность а самое главное - вовлеченность автора. Ваши проекты в целом мало кому интересны, а про типичный набор: "бложек", "магазинчик", "калькулятор", нанимателю скучно в сотый раз распрашивать на собесе. Лучше если проект будет один, максимум два - но интересных лично вам, о которых вы можете долго рассказывать с горящими глазами. Не готов утверждать, но мне кажется, что если есть стажировка в компании солиднее чем "ИП Михал-Палыч", можно обойтись и без проектов, но в целом ожидается, что у разработчика не пустой гитхаб.
3) О себе - в этот раздел пихаем все, что не подошло для двух предыдущих. Например, необычные хобби, странные навыки, какая-нибудь не релевантная для работы, но интересная информация =) А вот чего в этом разделе точно не стоит указывать, так это своей личностной характеристики, все эти: "исполнительный", "ответственный", "самостоятельный" и прочие эпитеты, которые и так ожидаются от кандидата. Распространенной ошибкой, является добавление информации о том, что вы "готовы работать за еду, опыт, вообще бесплатно, умоляю возьмите", это воспринимается негативно, будто кандидат не уверен в своем потенциале. В общем-то, наниматель и сам пока не уверен, стоит ли вас нанимать, а неуверенность кандидата в этом вопросе, прошу прощения за тафтологию, не добавляет уверенности нанимателю =)
4) Контакты - в этот блок без лишних комментариев добавляем ссылки на гитхаб, телегу, мыло, твиттер, кодварс. Иными словами, на все, для чего нет специальных полей на площадке (а если есть, всеравно дублируем). Можно указать контакты на социальные сети. Не поленитесь привести в порядок аккаунты, на которые ссылаетесь.

Отдельно, отмечу спорный момент с фотографией - добавлять или не добавлять? На одном из HR-ских стримов услышал позицию выступающего: "Лучше не добавляйте, т.к. фотография способствует субъективной оценке соискателя". Моя позиция - "Добавляйте, т.к. в нашей истории с сотнями кандидатов на позицию, резюме с фотографией лучше цепляет взгляд". Позаботьтесь о том, чтобы в резюме была фотография надлежащего качества.

Нужно ли добавлять объемное сопроводительное письмо? Нет, если вы не персонифицируете резюме под конкретную компанию. Читать опус о том, как вы мечтаете работать в этой компании де-факто никому не интересно. Хорошей практикой является добавление в поле сопроводительного письма, ссылки на pdf с красиво оформленным резюме, который hr сможет распечатать и положить на стол ЛПР.

"Эффективность откликов. Немного о собеседованиях"

Пару лет назад назад в аналогичной статье на хабре читал, что для получения оффера, джуну с улицы нужно отправить 200-300 откликов. Текущая ситуация на рынке it найма, как показал мой личный опыт и опыт моих знакомых, требует от 500 откликов для получения первого оффера. Мне потребовалось 2000 (не пугайтесь этой цифры, ниже расскажу, откуда она взялась). Первое реальное собеседование произошло на ~250м отклике, второе на ~400м. В целом, реальное приглашение на собес прилетает каждый ~150-й отклик. Основная проблема, как мне видится, в конкуренции. На ютубе можно найти забавные исследования, где автор открывает фейковую факансию для джуна в Санкт-Петербурге и на нее откликается 500+ кандидатов за неделю. Делаем выводы.
Сокращу этот раздел до нескольких советов, которые вывел для себя:

1) Если собираетесь отправлять отклики вручную - отправляйте на все, что более-менее релевантно по отношению к вашему стеку. Первое время я отправлял отклики лишь на те вакансии, где соответствие скилам было 9-10/10. Через месяц я начал откликаться буквально на все, чему хоть как-то соответствовал и появились первые приглашения. Причина простая - вас отсеивают не из-за наличия/отсутствия скилов, а просто потому, что перед вами подались 200+ человек.
2) В 2024 нет (почти) ни одной причины не проводить первичное собеседование удаленно. После двух неудачных собеседований в очном формате, я начал отказываться от собеса, если это первое собеседование и для его проведения требовалось ехать в другой город. Вероятность отказа на первичном этапе наиболее высока, а на поездку зачастую тратится целый день. Субъективное мнение, но может быть релевантно для жителей небольших городов.
3) Заморочки и странности. Если на любом из этапов общения с компанией происходят "странные вещи", лучше продолжить поиски. Из особо неожиданного, на одном из (очных) собесов, меня ждал "тест на логику" от hr, включающий вопросы уровня "У Саши было четыре яблока, 50% яблок он отдал...", у товарища на собесе был опрос по астрологии, а у знакомой - "генг-бенг собеседование", в котором одновременно участвовало пять кандидатов. Сюда же отнесу некомфортное поведение со стороны собеседующего. На одном из (очных) собесов меня встретил "скучающий дядя", который с первых секунд дал понять, что он не заинтересован в моем найме, ведя себя максимально высокомерно и постоянно фамильярничая, но я уже потратил пару часов на дорогу к ним и уходить было нелепо. Стоит ли говорить, что ни одна из этих историй не закончилась наймом? Ценность данного совета замечаешь лишь на контрасте с нормально выстроенными собеседованиями.

"Автоматизируем поиск: Джуниорский гатлинг"

В целом, готов утверждать, что 70% проблем вида "Я отправляю отклики, но меня никто не зовет даже на собесы!", вызваны адовым перенасыщением предложения на позициях начального уровня. Решение одно:

"Соискательский гатлинг" - как джун с улицы одолел конкурентный барьер IT, Разработка, Трудоустройство, Личный опыт, Карьера, Поиск работы, Python, Текст, Длиннопост

Нужно отправлять много откликов. Каждый день. И под "много", я подразумеваю "МНОГО". В идеале - выжимать весь дневной лимит на площадке. В период моего поиска, HH позволял отсылать до 200 откликов в сутки. Вручную, отправлять такое количество откликов ежедневно, безумие, даже если вы будете лишь бегло просматривать требования по вакансии.

"Соискательский гатлинг" - как джун с улицы одолел конкурентный барьер IT, Разработка, Трудоустройство, Личный опыт, Карьера, Поиск работы, Python, Текст, Длиннопост

Реальные показатели при ручной отправке откликов. Часть "приглашений" на деле - завуалированные отказы.

Уже через неделю ручного закликивания поисковой выдачи хедхантера, встал вопрос автоматизации процесса отправки откликов. За выходные я состряпал скрипт, который парсит ссылки на вакансии по заданному поисковому фильтру и подвязал его работу к фронту в виде телеграм бота. Скрипт каждый день по таймеру собирал ссылки и "прокликивал" (простыми HTTP запросами) кнопку "откликнуться" по каждой ссылке. Параллельно на все успешные отклики отправлялось заранее подготовленное сопроводительное, содержащее ссылку на pdf версию резюме:

"Соискательский гатлинг" - как джун с улицы одолел конкурентный барьер IT, Разработка, Трудоустройство, Личный опыт, Карьера, Поиск работы, Python, Текст, Длиннопост

Процесс работы бота был максимально жабофицирован, для большей эффективности

В результате, "выжимая" по 200 доступных откликов в день, к концу недели набиралось чуть менее 1000 откликов (по выходным новые вакансии публикуются редко). Количество приглашений выросло в разы, мне буквально заспамили личку на hh. Разумеется, большая часть откликов была проигнорирована или отклонена работодателями. Около 30% откликов делались на нерелевантные вакансии, ввиду того, что таковые иногда попадались в поисковой выдаче, даже при учете весьма жестких фильтров. Но так или иначе, я стабильно получал по 1-2 приглашения на собес каждый день. К сожалению, скрина с пруфами не сохранилось, но уже на вторую неделю у меня было собеседование, которое в конечном итоге, привело к офферу. Признаю, что это не самый этичный подход, вероятно, отнявший небольшое количество времени у сотрудников компаний, отклики на резюме которых, были сделаны по ошибке, но я старался честно приносить извинения каждому, чье сообщение не было похоже на автоответ.

Через ~пол года, этот же подход был применен моим товарищем, который пошел немного дальше: его скрипт учитывал локацию потенциального места работы и отправлял отклик с резюме, из того же города (было написано несколько резюме). Помимо этого, он автоматизировал использование нескольких аккаунтов, чтобы обойти количественное ограничение на отклики. Результат был тот-же: оффер через 2к откликов.

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

Заключение

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

Показать полностью 4
35

Ответ на пост «Войти в ай-ти. Достало»1

Автор в своем посте поднимает очень важный вопрос проблемы современных it курсов и образования в целом. Я сам, своего рода "вайтюн" с годовым стажем, поэтому мне есть что сказать в дополнение, с точки зрения того самого "чела с курсов". В статье будет много бэкграунда, субъективных рассуждений, моего личного опыта и опыта моих друзей, поэтому некоторые тезисы могут показаться вам излишне затянутыми или противоречивыми. В любом случае, мой опыт, возможно, будет полезен тем, кто принял решение сменить сферу деятельности и смотрит в сторону IT, не зная с чего начать. Я расскажу о своем бэкграунде, о выбранном пути обучения, покажу на своем примере, чему реально научиться за год относительно расслабленного самообразования и какова ваша ценность на рынке труда с учетом полученных знаний. Повествование будет без лишних купюр, я не буду скрывать ни деталей своего бекграунда, важных для повествования, ни каких то проблем, с которыми я столкнулся, чтобы у вас сложилась максимально адекватная картина, поэтому попрошу отнестись к повествованию с долей терпения и избежать личной критики, если это возможно. В заключении я попробую порассуждать на тему дальнейшего пути и подвести итоги "а нужно ли оно вообще?". Версии для лл не будет, но я постараюсь уложиться в формат 25 минут.


Бэкграунд или "Почему я решил стать разработчиком".


Окей, на данный момент мне 25 лет. На руках у меня диплом специалиста, выданный мне пол года назад Российской Академией Народного Хозяйства и Государственной Службы (РАНХиГС), по направлению "Таможенные платежи и валютный контроль". Можно долго спорить о ценности тех или иных дипломов, но в данном конкретном случае, охарактеризовать ее можно этим мемом:
Ответ на пост «Войти в ай-ти. Достало» Зарплата, IT, Карьера, Маркетинг, Текст, Длиннопост, Python, Поиск работы, Разработка, Образование, Курсы программирования, Курсы, Мат, Ответ на пост

В сознании обывателя не редко укореняются определенные предрассудки, касательно некоторых профессий. Вспомните все эти истории про сына маминой подруги, который "отучился на нефтянника". Те же предрассудки были и в моей 18-ти летней голове, когда я поступал на таможенное направление. "Учись на таможенника, говорили они, это престижная работа, говорили они!". Правда в том, что привлекательность той или иной профессии - субъективна. Она зависит от ваших ценностей, взглядов на жизнь и окружения, в котором вы выросли. Еще одна правда, заключается в том, что я выбрал эту специальность во многом потому, что среди вступительных экзаменов не было профильной математики. О том, что у меня с ней нет никаких проблем я узнал только на первом курсе, в школе же, мне на протяжении семи лет внушали, что "в математике я ничтожество". Это в первый раз подчеркивает тот факт, что для достижения любой цели (изучения любого материала), чаще всего, нам не достает лишь упорства.

"Но постой! Какие 18 лет?", спросит внимательный читатель "25 - 18 = 7. Ты учился семь лет?". Да, я потратил семь лет своей жизни на профессию, которой я не собираюсь ее посвещать. Хотя не все так однозначно, но об этом далее. Три года я "отмотал" на очном, после чего, по семейным обстоятельствам, пришлось перевестись на заочное отделение. Нюансы перехода и специфика заочки съели два дополнительных года.


С переходом на заочку, началась так называемая, "взрослая жизнь", я переехал от родителей и устроился на роботу в один из лучших мини-отелей Санкт-Петербурга на должность круглосуточного администратора. По началу, было весело - у меня появился постоянный источник дохода, съемная, но такая "своя" квартира на окраине Питера и достаточно свободного времени, чтобы тратить его на учебу и развлечения. Примерно в этот период моей жизни мое мировосприятие начало меняться. Кратко описать это врятли получится, а демагогии о взрослении тут не место, просто в какой то момент я спросил себя:

Ответ на пост «Войти в ай-ти. Достало» Зарплата, IT, Карьера, Маркетинг, Текст, Длиннопост, Python, Поиск работы, Разработка, Образование, Курсы программирования, Курсы, Мат, Ответ на пост

И оказалось, что я хотел того же, что и остальные. В первую очередь, заниматься действительно важными делами, приносящими удовольствие, а не продавать свое время на развес по графику 1\3 за 250 р.\час. Во вторых, просто быть счастливым. Не экономить на еде. Не бояться просрочить аренду за следующий месяц. Съездить уже, наконец за границу. (Серьезно, я живу в 40 минутах от этих ваших Европ уже более 19 лет и еще не разу там не побывал.) Купить своему бате плойку, чтобы он вечерами гонял со мной в каловдьютию. Наконец, сделать так, чтобы мама ушла на пенсию не за черту бедности, а на заслуженный отдых. Какие то фискальные желания получились, не находите? Ахах. Я уже упоминал о том, что ценности формируются окружением, в котором ты растешь.


Так продолжалось три года. К концу этого периода, мой лучший друг  поступил на "эти ваши it курсы". Я первое время немного подшучивал над ним, ведь это был тот самый человек, который в десятом классе чуть не подрался со мной, пытаясь доказать, что "Беспроводной геймпад на то и беспроводной, что в компьютер ничего вставлять не нужно! Какой еще адаптер? Не понимаю почему оно не работает!". А ведь это именно я "писал" свою первую игру на GM в восьмом классе. Это я, в "додвухфакторную" эпоху воровал аккаунты одноклассников в контакте чрез подменную страницу (да, товарищ майор, в то время, я был глупым, но не подлежащим уголовной ответственности, мои извинения). Это я в соло довел нашу участницу до финала, написав макрос автоголосования на конкурсе красоты в своем городе, когда заметил, что конкуренты из другого университета накручивают голоса. Одним словом, я рос маленьким ламером в окружении компьютеров, и даже пытался что то делать, но никогда не относился к этому серьезно.


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


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


Процесс обучения. О курсах. Что важно иметь в запасе. Без чего будет сложновато.


"Лиха беда - начало" или если вам угодно: "Начало - половина любого дела", цитатка из интернетика, приписываемая то одному то другому мыслителю. Лично я, приписываю ее Йоде из ЗВ, вроде он в каком то из эпизодов ее произнес.

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


Курсы хороши тем, что на них присутствует преподавательский состав, который, по хорошему, будет отвечать на ваши вопросы, неинтересно вести лекции и давать\проверять домашку. Плохая новость в том, что не все курсы одинаково хороши. Какие то курсы, дают слишком общую информацию. Какие то - слишком сильно ведут за ручку. Другие - предлагают людям с улицы заниматься откровенной чепухой, мой фаворит на данный момент реклама: "Создай 9 нейросетей за 3 дня!". Я не представляю, чему вы научитесь за три дня (ничему). Если обобщать - опасайтесь курсов, которые сулят золотые горы за короткий срок. Триггер фразами для вас должны стать такие выражения как "Без опыта", "Без обазования", "За один\два\три месяца" и особенно "Гарантия трудоустройства". Вас, конечно, поводят за ручку какое-то время. Вы что-нибудь напишите на питоне\js, возможно, перепишите у ментора какогони-будь телеграм бота. На этом все. Фундаментальных знаний (или хотябы их подобия), вы не получите. Вы не сможете самостоятельно решить поставленную задачу. Неофит должен осознавать, что разработка это не про написание кода, это про образ мышления, про поиск решений. Это нельзя освоить "в кородкие сроки, с гарантией". Еще одна проблема курсов - хреновое менторство. Может так статься, что вашим "наставником" на курсе, окажусь я. Тоесть человек с опытом разработки около года. Почему? Потому что заработная плата преподавателя на курсах не конкурентна, относительно зп разработчика. Количество желающих "зарабатывать 400 тысяч в месяц, сидя на пляже на ГОА", растет с каждым днем, а преподавателей больше не становится. По этой причине, некоторые организации, набирают в преподавательский состав абсолютных рандомов или даже выпускников этих же курсов. На мой взгляд, существует обратная зависимость между размером онлайн школы и качетсвом преподавания в ней. Я не смогу прямо назвать онлайн школы, которые вам лучше обходить стороной, потому что есть риск, что моя телега\гитхаб подвергнется анальной травле, но намекну - это крупный образовательный конгламерат, состоящий из нескольких школ, рекламу которых, вы чаще всего видите в интернете.


Про ДПО мне сказать нечего, но логика подсказывает, что качество преподавания там должно быть на уровне, ибо вам преподают те же университетские препода. К слову, фундаментальные знания проще всего получать именно в таком формате. Условный вышмат, достаточно сложно изучать самостоятельно или нетрадиционными академическими методиками.


Самостоятельное обучение - то, что выбрал я. Важно понимать, что it индустрия постоянно развивается. Несмотря на то, что существуют програмы повышения квалификации, наемные менторы и прочие образовательные услуги для практикующих специалистов, деятельность разработчика сопряжена с постоянным, самостоятельным изучением нового материала. Тоесть профессионалы обучаются самостоятельно. Помимо этого, абсолютное большинство знаменитых разработчиков, о которых вы слышали, являются it энтузиастами, они просто любят кодить и учиться новым штукам. Абсолютно все достижения в этой сфере, были созданы глубоко мотивированными людьми, которые получали удовольствие от того, чем они занимаются. Поэтому так или иначе, вам придется заниматься самостоятельным обучением. Это очень крутой метод начала своего пути в разработку. Преимуществ масса - можно держать удобный темп, занимаясь в удобное время. Можно отвлечься на сторонний проект по интересной теме. Формируются необходимые навыки поиска информации. И еще куча всего. К недостаткам можно отнести зависимость качества обучения, от используемых источников информации, а так-же необходимость бороться с прокрастинацией.


Как уже не раз говорилось выше, для себя я выбрал именно последний вариант. Потому что, откровенно говоря, возможности отдать от 80 до 120 к, учитывая все вышеназванные риски курсов, у меня нет. Но это ведь не значит, что мы не можем проходить эти самые курсы самостоятельно, правда ведь? Правда. Я решил двигаться в сторону бэкенд разработки, возможно потому, что мне всегда нравились дискуссии на тему телекомуникаций, чего стоит забытый богом телетекст -  "дальний родственник" интернета. А возможно потому, что мне не хотелось конкурировать с легионами выпускников курсов фронтенда. (Спойлер: позже оказалось, что и на бэкенде, среди джунов конкуренция значительная)

Ответ на пост «Войти в ай-ти. Достало» Зарплата, IT, Карьера, Маркетинг, Текст, Длиннопост, Python, Поиск работы, Разработка, Образование, Курсы программирования, Курсы, Мат, Ответ на пост

В первую очередь, мне был интересны бэкендерский стек технологий. В качестве первого языка, я, как и многие, выбрал Python. В качестве учебного пособия, которое направит меня по нужному вектору, я выбрал слитый курс Хекслета "Python разработчик 2020". И честное слово, если бы я заплатил за него деньги, я не пожалел бы ни рубля. Если ребята с Хекслета сейчас меня читают, пожалуйста не расстраивайтесь, в качестве оплаты я агитирую всех и каждого изучать пайтон именно у вас. Отвлекся. У некоторых крупных площадок, таких как Яндекс и Хекслет, есть бесплатные вводные курсы, на которых можно +\- познакомиться с подачей информации ну и в целом понять, интересно вам это или нет. После прохождения вводного курса, можно купить доступ к полному или поискать его "бесплатную" версию в интернете. Конкретно мой курс, был рассчитан на восемь месяцев, прошел я его за шесть. Помимо, непосредственно, языка, курс подтолкнул к изучению огромного количества тем: настройка окружения, контроль версий, базовые алгоритмы, сетевое взаимодействие, настройка серверов, бд и много чего еще.


Еще перед стартом, друг говорил, что "Сначала бужет очень хорошо получаться, поймаешь эйфорию от того, какой ты умный. Потом кривая сложности резко пойдет вверх. На этом этапе большинство забивает и отсеивается, но ты продолжай еба#ить". Так оно и произошло. Когда подача материала грамотная, основы ухватываешь очень быстро, но когда переходишь на чуть более advanced level, сталкиваешься с первыми серьезными затыками, где материалов курса уже не достаточно. Например, при изучении Python, таким местом для меня стали аккумуляторы. В такие моменты я советую переключиться на какой то другой источник информации - посмотреть видео на ютубе по теме, пошарить что-нибудь на хабре и т.д. Иными словами: "Продолжай еб#шить". Например сейчас я перешел на Golang и там, таким моментом для меня стали интерфейсы. Очевидно, что при самостоятельном изучении, нет ничего важнее упорства. Я мог бы раскрыть эту тему подробнее, но круче цитаты, сказанной в этой статье: https://habr.com/ru/company/domclick/blog/569062/ , я уже ничего не приведу:

Ответ на пост «Войти в ай-ти. Достало» Зарплата, IT, Карьера, Маркетинг, Текст, Длиннопост, Python, Поиск работы, Разработка, Образование, Курсы программирования, Курсы, Мат, Ответ на пост

Исключительные слова. Естественно, одного курса не достаточно не только для входа в профессию, но даже для освоения одного языка. Важна самостоятельная регулярная постоянная практика. В перерывах между проектами, я натаскиваю себя задачами на Codewars. LeetCode пока не пробовал, но знакомые говорят, что особых отличий нет. В любом случае, решение задачек на таких сервисах необходимо, для нарабатывания нужных навыков.


Говоря о важных скилах, которые потребуется притащить с собой из внеайтишного прошлого, можно отметить следующее:


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

Ответ на пост «Войти в ай-ти. Достало» Зарплата, IT, Карьера, Маркетинг, Текст, Длиннопост, Python, Поиск работы, Разработка, Образование, Курсы программирования, Курсы, Мат, Ответ на пост

на английском. Если английский на околонулевом уровне, синтаксис придется учить наизусть, как эти проклятые диалоги в школе. Второй пример - документация. Документация, есть суть, инструкции по использованию тех или иных конструкций языка\утилит и прочего. Не имея возможности читать документацию в оригинале, придется пользоваться ограниченным набором переведеных доков на русском или что то городить в переводчиках. В эту же копилку добавляем проблемы, которые будут возникать при написании программ. Большинство этих проблем уже решено, например, на stackoverflow. Разбираться в этом с переводчиками будет достаточно злобно, т.к. они не точно переводят техническую информацию.


Компьютерная грамотность -  я думаю тут, комментарии излишни. Важно умение быстро разбираться в приложениях, ориентироваться в разных операционках. Для меня, например, стало сюрпризом то, насколько на самом деле удобно пользоваться командным интерфейсом linux в повседневной жизни.


Умение гуглить - как по мне, один из самых важных навыков. "Даже если ты чего то не знаешь, самое важное знать, как это узнать." Мои извинения за тафтологию. Навык стоит тренировать, только если вы в последние пару лет гуглили что то вроде: "Скачать бесплатно без смс и регистрации" =)


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


Результаты через 10 месяцев самостоятельного обучения.


Заголовок звучит слишком пафосно, не правда ли? Итак, прошло 10 месяцев с начала моего пути в разработку. Есть ли мне чем похвастаться? Ну, я попал в 5% лучших, на "отборочнике" контеста, проводимого Ozon Tech в сентябре. Участников было, что-то в районе 2к. Я считаю, это неплохой результат для рандома с улицы. Я никогда не забуду эту задачу про временные интервалы. Видимо, теперь я умею кодить на Python. Контест был достаточно злобным, но это тема для отдельной истории. Как выглядит мой текущий стек? Как то так:

Ответ на пост «Войти в ай-ти. Достало» Зарплата, IT, Карьера, Маркетинг, Текст, Длиннопост, Python, Поиск работы, Разработка, Образование, Курсы программирования, Курсы, Мат, Ответ на пост

Разумеется, тут перечислены не все скилы, но это именно те вещи, о которых я могу уверенно поддержать разговор с нанимателем. В ближайшее время планирую добавить сюда Golang и его веб фреймворки, как только потыкаю их палкой. Обязательно нужно поработать с каким-нибудь популярным веб сервером, по типу nginx. К слову, интересная штука - парадигмы программирования нескольких языков могут пересекаться, соответственно, если вы умеете уверенно решать задачи на одном языке, решать их на другом, будет уже проще. Написал пару проектов, за которые мне не стыдно, с одним из них можно даже познакомиться в одном из моих постов =) Да, я думаю, стоит избегать дженерик проектов, которые предлагают писать на курсах (все эти клоны телеграма и бложики), а заняться чем-то, что интересно именно вам. Пусть это будет система распознавания лиц с веб интерфейсом, или генератор имен драконов - не важно, главное, чтобы вам было это интересно. Без увлеченности пет проектом, работа над ним быстро превратится в рутину. Ах да, а еще я стал контрибьютором своей любимой игры "Cataclysm Dark Days Ahead". В список моих пулл реквестов входят такие важные багфиксы, как исправление бага с БДСМ костюмом, перемещение кастета профессии "босс мафии", в карман пиджака, а так-же еще не смердженый "mountable hatchet mod" для дробовиков. Отвлекся. "Ну а что там с трудоустройством? Звали ли тебя на собеседования?". Звали. Я решил несколько тестовых, некоторые из них даже проверили. И внезапно, было даже настоящее оффлайн собеседование в компании. Но в целом, о ситуации на рынке труда, с точки зрения джуна (меня), поговорим в следующем разделе.


Востребованы ли джуны?


Имхо, как джун, отвтетственно заявляю, что они востребованы на рынке. Из ~100откликов за 2.5 месяца, мне прислали тестовое около 5 раз. Дважды приглашали на собеседование. На одно я съездил. Звучит как шутка, не правда ли? Вот только я откликался на вакансии, немного выше моего уровня. Тоесть некоторые компании, реально готовы дать возможность проявить себя. Это здорово. А вот войтюны не нужны. Об этом тоже можно сделать вывод из приведенной мной статистики. Мой стек, на данный момент, +\- соответствует стеку любого трейни-выпускника курсов. На мой взгляд, компании намеренно завышают требования отбора из-за всплеска курсов, ибо никто не хочет брать на себя риск, нанимая вчерашних слесарей с таможенниками - даже если они неплохо владеют заявленными компетенциями, это всеравно риск, а риск=расходы. Иными словами, не ждите, что пройдя какой-то курс, или отзанимавшись самостоятельно на протяжении некоторго времени, ваша личка будет ломиться от предложений. Стоит рассчитывать на минимум годовое обучение.


Стоило ли это того?


Перейду к выводу, пока меня окончательно не окрестили душнилой =)

А он следующий: На момент публикации поста, входить в профессию действительно не просто. Easy mode - не существует. Нужно осознавать, что это длительный, даже многолетний процесс самостоятельного обучения. Количество ментальных (да и физических) усилий, которые необходимо приложить, примерно сопоставимо с прилежной учебе в вузе. Однако, это может приносить определенное удовольствие, если вам, так-же как и мне, нравится учиться. В качестве финального совета, хочется отметить важность менторства в процессе обучения. Найдите себе какого-нибудь более опытного товарища, который будет давать вам наставления. Да и в целом, с которым вы сможете обсудить свои успехи и неудачи в процессе. Для меня таким ментором стал мой друг. Я в неоплатном долгу перед ним. "Продолжайте еб#шить", пока однажды не сможете себе сказать:

Ответ на пост «Войти в ай-ти. Достало» Зарплата, IT, Карьера, Маркетинг, Текст, Длиннопост, Python, Поиск работы, Разработка, Образование, Курсы программирования, Курсы, Мат, Ответ на пост

P.S. Если остались вопросы, которые хотелось бы задать лично, мой телеграм есть в предыдущем посте.

Показать полностью 7
Отличная работа, все прочитано!