unkind.faun

На Пикабу
поставил 0 плюсов и 0 минусов
119 рейтинг 0 подписчиков 0 подписок 1 пост 0 в горячем

Как стать программистом. Краткий гайд что бы получать выше рынка в небогатой России. И может быть уйти из родного завода?

Название этого поста достаточно кликбейтное, но очень сильно отражает суть каждого, кто хоть раз получал в регионе 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 раза.

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

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