September 5, 2023

Итак, мой дорогой друг, ты решил вкатиться в ПРОГРАММИРОВАНИЕ

Итак, мой дорогой друг, ты решил вкатиться в ПРОГРАММИРОВАНИЕ. Стать тем самым 300к в наносекунду и работать из бунгало в Таиланде час в месяц. Из компуктерных знаний у тебя только как стим запустить и шиндошс переставить, на программирование тебе абсолютно похуй, но хочется ДЕНЕЖЕК.

Спешу тебя порадовать — это реально сделать в абсолютно любом возрасте. Сам собесил и принимал на работу 29летнего вкатывальщика вообще без опыта. Было бы ему 35 — думаю, ничего бы не изменилось.

Но заранее предупрежу, что:
1. Тебе минимум год придется задрачивать дома. Задрачивать ежедневно. Тебе постоянно будет хотеться забить. Ты постоянно будешь думать, что ты все знаешь (тот самый эффект Даннинга-Крюгера). На деле же ты хуже червя-пидорастудента-третьекурсника, готового работать за мивину.

2. На удаленку тебя никто не возьмет. И даже через 5 лет тебя не факт, что возьмут. Удаленка — это только для крепких мидлов\сениоров и выше с сильным work ethics. Распиздяю-двачеру надо сразу приготовиться, что даже если вдруг он удачно вкатиться — это будет говноофис, с тетей Глашей, тупыми эйчарами, и начальником, играющим в танки на работе.

3. Никаких огромных денег тоже тебе никто не даст. В Москве зеленому спецалисту без опыта дадут максимум тысяч 50, в Петербурге — в районе 30, в зажопинсках — вероятно еще меньше. И далеко не факт, что эта зарплата как-то изменится через год.

4. Ты никогда не будешь работать в Blizzard\id Software\Bethesda\Valve\Riot\любая геймдев-контора. Потолок — какие-нибудь хуевые Аллоды онлайн от мейл.ру, но скажу честно — про геймдев лучше совсем забыть. Это всегда мало денег, очень много работы, и заниматься ты будешь очередным рескином говноигры типа 3-в-ряд-быстрее-донать для андроида.

5. Работа программиста, по большей части, заключается в копании в доисторическом некроговне. Никому не нужны твои гениальные архитектуры новых модулей, надо понять, почему бэкап хостинга, написанный Аркадием Израилевечем на перле 15 лет назад начал валиться. И всем похуй, что ты не знаешь перл, его никто в конторе не знает.

6. У тебя точно не будет персональной служанки, бесплатных обедов, охуенных молодых коллег, свежих технологий, массажных кресел и охуительных офисов. А будет хуевый компьютер с одним дешманским монитором, стул, переживший блокаду Ленинграда, бесконечно заебанные соседи, никакой медстраховки, и обед в судочке вези через весь город.

Если тебя это все не отпугнуло, и ты полон решимости и надежды СТАТЬ ПРОГРАММИСТОМ — тогда начнем

Какой язык мне учить? — спросишь ты
Ответ: Английский. Вся актуальная документация на нем, все конференции, все топовые блоги. На любую более-менее вменяемую работу — везде требуется всегда английский, минимум на уровне вменяемого чтения и письма. На работе автора на 100% технических вакансий нужен разговорный английский, даже зеленым джунам

А если серьезно, то тут два варианта:
1. Ты живешь в ДС (может быть в ДС2).
Что тебе интересно? Хотелось бы тебе написать приложение для андроида? Может быть для iOS? Быть может, тебе было бы интересно сделать веб-сайт? Может быть тебе просто похуй, и просто хочется денег? А может тебе все таки интересно сделать какую-нибудь хуевую игру, хоть я и предупреждал? Или все таки, ты думаешь, что можешь хардкорно байтоебить, а не быть какой-то веб-макакой?

Определился? Здорово! Читай дальше!

2. Ты живешь в Усть-залупинске.
Главное отличие от ДС и ДС2 заключается в том, что в твоей деревне нет\очень мало вакансий. Тебе будет немного труднее. Идешь на hh.ru и локальный сайт поиска работы (такие есть в каждом городе) — ищещь вакансии для новичков, и внимательно считаешь их количество для каждой технологии. И из самых распространненых выбираешь то, что наиболее тебе интереснонаименее противно.

Общее для обоих вариантов:
Нужно очень внимательно пошукать по знакомым\друзьям\родственникам. Часто у людей есть выходы на какие-либо вакансии, знакомых с вакансиями, и тд. Автору в свое время знакомая слила вопросы с собеседования, по которым он подготовился,
блестяще прошел собес, и год работал в том месте.

Итого, что выбрать по технологии\языку:
То, на что у вас есть выход — самое востребованное для замкада, самое интересное для ДС-ов.

Ты понял, ты хочешь заниматься, что дальше?
Очень важное правило — ни в коем случае не слушай разных долбоебов, которые советую ХАСКЕЛЬ, ЭРЛАНГ, КОТЛИН, РАСТ, ЛИСП и прочую непонятную хуету. Математика так же тебе нахуй не нужна.

Javascript\Typescript, PHP, Python, C++, Java, C#, Swift\ObjC. Все, больше языков нет для вкатывальщиков. И пожалуйста, не надо сразу пытаться вкатиться в какое-нибудь вырвиглазное машинное обучение.

Так же — надо знать инструменты, применимые в области. Всякие ноды\вебпаки\ангуляры\реакты для JS. Yii или Symphony + какой-нибудь сборщик проектов для PHP, Спринги\Хибернейты для Джавы, АСП.нет или XAML для C#. Как не крути — придется изучать Linux на уровне «могу без проблем работать в консоли». Ставить это говно на десктоп не нужно, а вот в виртуальную машинку (VirtualBox) — будь добр, накати и поковыряй. Подними веб-сервер руками.

Идешь в тред, посвященный самому попсовому языку, с помощью которого можно сделать то, что тебе потенциально интересно (ну, или на что есть спрос\мутка), берешь любую книгу для ньюфагов, читаешь ее и выполняешь все упражнения. Очень важно — не просто читаешь, а что-то пишешь. Невозможно что-либо выучить без практики. В идеале — нужно придумать какой-то законченный проект\продукт, и пытаться его делать. Что-то не понятно — читаешь дальше, делаешь упражнения, гуглишь. Узнал что-то новое, что может помочь в проекте — делаешь. Автор на заре своего вкатывания бесплатно подписался делать непростой проект который нихуя не сделал, но зато — получил очень много опыта и знание нишевого фреймворка, которое потом пригодилось немного.

Примеры проектов — консольная игра, где один символ жрет другой, какой-нибудь ворователь анекдотов с башорга, парсер обьявлений. Просто любой сайт-одностраничка. Архиватор. Передавалка файлов по сети. Что-нибудь с GUI. Самое важное — доделывать до конца.

И вот, прошел год…
Пришло время устраиваться на РАБоту.
Если ты все делаешь по гайду, то у тебя есть:
1. Какой-никакой английский.
2. Какие-то законченные проекты.
3. Знание предметной области, а не просто устаревшие знания.

Резюме:
У тебя должна быть ссылка на гитхаб с твоими проектами на самом видном месте. Обязательно. Остальное — вообще плевать, понятно же, что ты вкатывальщик.

На какие вакансии откликаться:
На вообще все. Даже на нищенские за 12 тысяч рублей. Первый год-два ты работаешь исключительно на резюме и опыт. Считай это платной стажировкой. Карьера каждого программиста делится на 2 эпохи — когда он ищет работу, и когда его зовут сами на работу. Главное затерпеть и ебашить несколько лет на любом месте, а зато потом — уже начинаются жирные предложения.

Тян автора под его надзором вкатилась на 25к в месяц в ДС. Но уже спустя полгода, она ушла на 55к в месяц, через несколько месяцев — будем активно форсить текущего работодателя поднять зарплату хотя-бы до 70.

Собеседование:
Вообще, я думаю написать на эту тему большой гайд не только для вкатывальщиков, но это потом. Но вот немного советов.

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

1. Люди, которые тебя собеседуют — они тебя в первую очередь оценивают как человека, а не специалиста. Насколько ты вольешься в коллектив? Веди себя спокойно, уверенно и дружелюбно. Одеваться в пиджак не надо, обычный кэжуал в помощь. Пойми — что люди вокруг доброжелательные, и они ищут себе коллегу, с которым можно и архитектуру обсудить, и доту после работы поиграть, и в пятницу бухнуть в баре.

2. Ничего не бойся, на собеседовании тебя никто не изобьет и не обоссыт. Каждое собеседование — это тебе новый опыт, и новые вопросы, на которые ты не знаешь ответа. Только вдумайся — люди абсолютно бесплатно тратят свое время, чтобы дать ТЕБЕ опыт и знания. Это же просто охуительно! Все вопросы, которые
ты зафейлил — запомни и проработай дома. И иди снова, пока не возьмут на работу.

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

Бонус — вкатывание в непрограммирование
Существует такая замечательная работа как QA-макака, протыкивать в браузере различные вещи, и писать, что работает не так. Оплачивается хуже, чем программист, вкатиться тоже непросто, так как все сейчас сюда вкатываются. Да и сама по себе работа — скучное говно.

Зачем я это пишу? Две вещи.
1. У тебя огромное приемущество, так как ты немного умеешь программировать, и понимаешь, что вокруг происходит, можешь в линукс. В основном на эти вакансии идут товароведы и прочий мусор. Это, как не крути, живые деньги.

2. Будучи QA-шником, ты очень сильно прокачиваешь технический бэкграунд и социальные скиллы. Рано или поздно у тебя будет возможность перекатиться в QA-автоматизатора. Это примерно сопоставимая с программистом зарплата, и серьезный спрос на них. Либо, ты можешь внутри конторы перевестись в девелопера, задрочив нужный технический стэк. На работе у тянки автора был куашник, который выучил ObjC и перекатился внутри в яблодевелопера. Когда его брали — ему сказали, ты, конечно, полный долбоеб, который ничерта не знает, но те, кто приходит с улицы — еще хуже, да и наш продукт ты понимаешь.

Еще есть работа — инженер технической поддержки. Я не говорю про обезьяну, которая предлагает по телефону переподключить витую пару к роутеру, я говорю про настоящую техподдержку. Классический пример — такие известные конторы как Parallels, Odin, Acronis, Jetbrains. В них абсолютно так же можно прокачаться технически, и потом перекатиться в разработку.

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

Эпилогом могу привести примерную цитату, какого-то умного дяди. Вроде даже Стива Джобса, но могу врать здесь. Звучит она так — «Не все, кто много работали — стали богатыми. Но все, кто стали богатыми — много работали». Вперед ебашить.

Вкратце о гайде и авторе
Гайд написан целиком по моему личному опыту и еще нескольких друзей-вкатывальщиков. Привожу свою историю вкатывания в качестве мотивации.

Сам я начал учить C++ в 25 лет, будучи инженером техподдержки. Походил по собесам, феерично зафейлил три из трех. В 26 перекатился внутри конторы в разработку, плохо зная программирование, но отлично зная продукт, который предстояло разрабатывать. дали 60к зарплаты.

Сменил работу спустя полгода, переехав в ДС на 110к уже полноценным разработчиком, где мне очень помогло знание английского (на вакансию был нужен разговорный). Еще спустя год сменил работу на 150к, меня взяли исключительно за софт скиллы и потенциал (я безумно благодарен начальнику с той работы). Где я нынче и работаю. Достиг этого за ~2 года

Тебе, скорее всего, так везти не будет как мне, но свои 120+ в ДС вполне реально зарабатывать через 2-3 года практически любому.

Все реально, если вы ПРОСТО БУДЕТЕ ЕЖЕДНЕВНО ЕБАШИТЬ, а не ныть на двачах.