Название этого поста достаточно кликбейтное, но очень сильно отражает суть каждого, кто хоть раз получал в регионе 15-30 т.р рублей, и смотрел на зп-шки сына маминого подруги (айтишника) который на старте карьеры уже замахнулся на 70-100к(зп джуниора на входе).
Итак, этот гайд скорее всего длиннопостом, но я постараюсь тезисно описать кому айтишка не подойдет, какие сложности будут, и как эти сложности преодолеть - если вы считаете себя гуманитарием. Коротко обо мне - живу в регионе, работаю на Штаты через аутсорс компанию в Питере(штат около 800 человек), получаю 170к мидлом(в целом зарплата хорошая на рынке, но можно получать и больше, все зависит от мозгов и желания). Пишу на Angular(TS) + Flask (Python)
1. Нужно ли стартовать, кому не стоит, куда идти?
Айтишка это не только программирование - туда же относится тестирование, аналитика, менеджмент и прочие равные. Кто-то получает больше, кто-то меньше. Все зависит напрямую от компании и от ваших личных навыков. Вы можете быть отличным разработчиком на дважа(мидлом например), получать свои 250к, и ваш PM(продукт менеджер) будет получать 500 т.р(с английским разумеется) даже не умея писать код, просто потому что хорош в управление и софт скилы. Первая заповедь - программисты средней руки получают хорошо, но на лексус с салона даже не надейтесь 100к-200к для многих будет потолком. Хотите получать за лям - нужно долго и нужно расти до уровня архитектора, либо управленца.
Кому стартовать - если вас реально задолбала однотипность работы, вам интересно писать софт, быть ближе к технологиям, и вы имеете большой запас времени что бы учиться. А его нужно будет овер дохера. За 2 года можно спокойно вырасти до хорошего джуна, и получать свои 100-120 тысяч, за 3-5 лет можно прыгнуть и до мидла с зарплатой от 200. Те кто вам будет рассказывать байки про сеньора за 2-3 года, можете скинуть с крыши, скорее всего речь идет о формашлепстве. Но, учиться нужно будет много, особенно если у вас нет технического бэкграунда. Учиться по 6-10 часов каждый день в течении года - это норма, она не должна вас испугать.
Кому не стоит идти - на самом деле не стоит идти, если вы не готовы впахивать как папа карло хотя бы первые 2 года. Что бы получить заветные 100к придется быть не хуже чем на порнхабе - информации много, знаний требуется вагон и маленькая тележка, нужные не только хард скилы, но и софт - они тоже играют большую роль и на собесе допустим можно вывести за счет харизмы. Поэтому если вы думаете что при средних мозгах и без технического бэкграунда может за полгода влиться в эту сферу - она даст вам в рот ответным количеством того что нужно для трудоустройства.
Куда идти:
Ключевой фактор здесь - это то, что вам нравится. Горите ли вы программированием, дизайном, аналитикой, управлением людьми. + Английский язык, открывает вам сразу много дверей, и как правило увеличивает вашу зарплату на x2, если уровень владения им от B2.
Что самое легкое: QA - наверное как и был, так и остается самым легким входом(ручником). Забудьте ту херню которую вам пишут что во фронтенде легко, что в бэке легко и тд. Изначально и фронтенд и бэкэнд имееют почти одинаковые по размеру роадмапы - поэтому все зависит от того на какой проект вы попадаете. Т.е 2 вселенные где вы красите кнопки и перетаскиваете json с одной стороны, и другая вселенная где вы пилите фронт на микросервисах, оптимизируете под каждый чих, управляете сложным состоянием, и тоже самое на бэке - микросервисы, сложное апи, рокет сайнс знания. Алгоритмы и структуры данных важны везде, если вы не не хотите писать на CMS еще один магазин.
Почему я выбрал JS и Python. JS был говном, сейчас он мой любимчик - якобы легок для новичка, но на самом деле имеет ху№№ тучу подводных камней, он монополист во фронте, поэтому знать его если вы любите визуал - обязательно. Да и в принципе знать как работает фронт - если ты бэкэнд разработчик - бывает полезно, помогает не писать хуйню своим коллегам в контрактах(ручках, эндпоинтах). Питон ван лав, лаконичный, для средних проектов - идеальный выбор.Прыгать сразу по двух языкам - не надо, сперва нужно изучить на фулл первый - устроится на работу, а далее развиваться, если время позволит.
Краткий перечень:
Аналитика - если есть навык ведения бумаг, и структурирования данных, описания ТЗ
Менеджмент - управление людьми
Девопсы - если вы работаете админом и уже устали спать на столе от безделья.
QA - если хотите денег быстрее.
Фронтенд - если хотите изучать очень много инструментов, и все равно получать меньше Питониста который знает только Питон и Джагов.
Здесь без вариантов, на фронте есть только JS(помянем тех кто считает что веб ассембли его вытеснит)
Бэк:
PHP - если хотите что бы над вами все смеялись, а вы бы вытирали слезы парой тысяч долларов.
Питон - если вы хотите быстро войти в бэк
Go - если вы хотите войти в бэк и получать больше чем питонист
Java - если вы хотите войти в бэк, и получать больше чем Go разработчик, а так же умереть в банковском серкторе.
C# - если хотите казаться всем элитой, и получать сравнимо джавистом, но все равно придется слушать от старых пердунов что джава это манна небесная.
И далее плюсы, раст, и прочее сложное для входа. Если вы любите хардкор и не прочь остаться без жены и детей, так как знания будут увеличиваться кратно.
Далее, у вас есть большое желание научиться программированию, но встает вопрос как:
1. Курсы - в чем их польза (структурированная информация, 90% для новичков, т.к делать курсы для мидлов\сеньоров - почти бессмысленно, они то уже прохавали всю эту кухню).
Стоит выбирать бесплатные, либо торент. Пока вы новичок, нет смысла выкидывать 100к что бы учиться год. Вас тупо засмеют коллеги, и выгонят ссанами тряпками. Программист - это про умение искать, фильтровать информацию. Это один из самых главных навыков - если он не развит, вы так и останитесь джуном. Так как вся структурированная информация заканчивается ровно на этапе джуна, дальше идет документация и обрывки знаний, которые вы должны будете соединять.
Где искать курсы: https://coursehunter.net, торенты, ютубчик. Юдеми тоже выдает отличные курсы - можно платить(я плачу), если нет денег - заплатить потом.
Искать полезную инфу вроде этой - https://www.notion.so/0aea5d60cbc94ae5a9ced183d428f175, благо безумное количество телеграмм каналов по каждому ЯП, и фреймворку, с готовым или не готовым помочь комьюнити.
2. Книги - и полезны и нет.
Полезны если вы изучаете фундаментальные вещи вроде рефакторинга или алгоритмов. Бесполезные - если вы изучаете фреймворк, или какие-то вещи которые устаревают быстро, и так же быстро выкатывают новые версии.
3. Писать очень много кода. Главный залог успеха, ибо на теории вообще не вывезешь, только практика делает программиста - программистом. Codewars \ Leetcode \ свои мини проекте(они же петы), позволят вам качнуть эти навыки лучше, чем книга Фаулера.
4. Английский язык - просто мастхев способ получить долгожданный офер.
Ибо, научить программированию можно любого(со своим потолком), а вот получить здесь и сейчас человека который будет знать английский хотя от уровня B1(желательно B2) = таких единицы. Английский явно повышает ваш шанс получить оффер в 2-3 раза.
Выше скорее всего написано очень много банальщины, либо кому-то реально поможет инфа. Если тут будут комментарии - напишите в них, может быть вы хотите что бы я расписал отдельным постом какую-то тему глубже, и дал больше ссылок на полезные материалы.