Привет, господа и господамы! Как разработчик-самоучка, прошедший путь от общепита до IT и доработавшийся до мидл фронтенд-разработчика в продукте федерального уровня, хочу поделиться тем, что знаю.
Итак, вот вы, молодой (или не очень) господин или господама, и хотите вкатиться в "айтишку". Первым делом определяемся со стеком, увольняемся с работы и учимся по 8 часов в день полгода-год, в отдельных случаях больше. Потом идём на стажёрскую позицию за 20 тысяч в месяц. Звучит как-то не очень, правда? Именно так у меня всё и началось: это был 2020 год, и зарплата была даже чуть меньше 20 тысяч.
Теперь ближе к делу. Определиться со стеком действительно важно (но это и так все уже знают). Принципиальная разница в том, хотите ли вы разрабатывать сайты или мобильные приложения, а уж игры и десктопный софт тем более. НО, есть, как говорится, нюанс: если вам в целом всё равно, чем заниматься, и хочется побыстрее начать получать деньги за код, есть вариант ускорить процесс и не бороться с тысячей человек за одну вакансию. Я говорю о всеми любимом/нелюбимом языке PHP.
Понятное дело, что в сообществе вокруг PHP много хейта, чуть ли не самого активного по сравнению с другими языками. Со всех сторон слышны крики, что он умрёт завтра/послезавтра и т.д. Но вот в чём дело: почти все CMS работают так или иначе на PHP, работы на нём просто море — сложной, лёгкой, дешёвой, неплохо оплачиваемой, на любой вкус. Когда я начинал работать, предрекали смерть PHP уже несколько лет, но вот прошло время, и ничего не изменилось. Вы можете относиться к нему как угодно, но он более чем жив и всё с ним хорошо: он продолжает развиваться, есть популярные фреймворки, пишутся относительно сложные и нагруженные проекты.
Итак, мы определяемся с несколькими переменными:
- Вы очень хотите в IT, и вам в целом всё равно, с чем работать.
- Вы ограничены во времени/средствах.
- Вас не коробит от упоминания PHP.
Если все ответы "да", то вот что я предлагаю:
- По возможности копим деньги хотя бы на полгода-год жизни без работы.
- Увольняемся с работы.
- Изучаем HTML/CSS по курсам/видео/книжкам — что больше подойдёт.
- Изучаем PHP по тому же принципу, базово учимся работать с SQL-запросами.
- Изучаем 1С-Битрикс и WordPress, 1-е предпочтительнее (опционально, но очень поможет).
- Изучаем Laravel или Symfony (я бы сказал опционально, но всё же больше обязательно).
- Ищем работу, стараемся выбрать что-то более-менее приличное, в идеале с ментором, код-ревью и возможностью обучения.
Теперь поговорим о плюсах:
- Вкатываться через PHP, по мне, самый быстрый способ.
- Достаточно простой инструментарий и технологий в целом не так много, для старта, конечно же.
- Достаточно лёгкие собеседования (не всегда и не везде; на первую работу я попал вообще без собеседования).
- Если попасть в хорошее место, можно будет перескочить на другие технологии: фронт или бэк на другом языке.
Теперь минусы:
- Работать придётся много, потому что с огромной вероятностью вы попадёте в студию/галеру, где надо будет делать максимально быстро, а качество кода вообще не будет важно, возможно, даже ревью не будет, да и денег тоже)).
- После PHP, и тем более 1С-Битрикс, переключиться на другой стек будет так же сложно, как учиться заново (для HR-ов bitrix, как красная тряпка). Поэтому, если вы попали в отвратительное место, нужно максимально быстро оттуда уйти и найти что-то получше. Пусть это будет галера, но стек должен быть достаточно широкий. Я переключился на фронт из PHP через смену работы, но перед этим брал большинство задач по фронту на старом месте.
- Если вдруг так вышло, что вы попали в 1С-Битрикс и больше ничего нет, то ваш рост как разработчика будет кратно меньше, чем если вы попадёте в компанию, например, с Laravel (PHP-фреймворк). Ну и понятно, что другие языки тоже будут развивать вас гораздо быстрее.
Что в итоге? Это не самый оптимальный и правильный путь, но он самый быстрый. У меня много знакомых, кто работает с PHP и/или 1С-Битрикс, почти все довольны. Если у вас есть временные, материальные и психологические ресурсы, то так делать не самое лучшее решение. Но у меня этого всего не было, да и получилось это по большому счёту случайно: я хотел писать на Java, но в итоге всё сложилось лучше, чем я представлял.