Входим в IT. Взгляд бывалого разработчика.

Или реальный гайд для тех, кто хочет связать свою жизнь с информационными технологиями.

Здесь у тебя и вправду есть шанс стать гением. Как и в любой профессии.
Здесь у тебя и вправду есть шанс стать гением. Как и в любой профессии.

Обо мне

Дабы не быть голословным, нужно сперва представиться. Здравствуйте, уважаемые читатели DTF. Я являюсь действующим разработчиком и инженером по информационной безопасности в одной из крупнейших компаний. У меня за плечами множество успешных проектов, результаты которых уже введены в эксплуатацию, например:

  • ИИ защита в роуминге 5G
  • Инструменты защиты контейнеризации с применением ИИ
  • Разработка систем защиты, работающих в ядре Linux
  • и др.

Также являюсь автором статей, некоторые из которых стали достаточно известными в научных кругах.

Пруфов, к сожалению, не будет. NDA и т.д.

Так как я имел дело непосредственно с разработкой, детальный разбор по путям, не требующим программирования, будет частично проигнорирован. Но знайте, что многое из статьи будет полезно и вам.

Важный момент.

Discussion

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

Введение

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

Можно мне так?

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

Таких опросов очень много различной степени достоверности.
Таких опросов очень много различной степени достоверности.

Однако, магическое IT также, как и любая сфера, делится на множество профессий. От простого разработчика до гения, способного создать Skynet. Все это выливается в огромные разрывы в условиях, которые респонденты ожидали ранее.

Для примера была взята Индия. Ситуация разнится от страны к стране, но пара тройка вакансий сюда точно попадет.
Для примера была взята Индия. Ситуация разнится от страны к стране, но пара тройка вакансий сюда точно попадет.

Так что дальше то?

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

Самое трудное - начать.

(с) Суй Дуй Пей

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

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

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

Хочешь вкатиться, готовься учиться минимум 8 часов в день в течении года - скажу страшную вещь, но хватит 5-6 месяцев по 4 часа в день для первого оффера. Конечно, смотря какой оффер, и на что тратить эти 4 часа, но цифры постоянно завышают, так что не бойтесь. Для завода, например, вообще несколько лет надо учиться.

3. Предложение и вправду повышает спрос. Но не везде. Очевидно, что некоторые профессии перегружены кадрами, от чего средний уровень дохода падает. Это не обошло стороной и IT. Начинающий и midle Java разработчики будет получать существенно меньше, чем специалисты по искусственному интеллекту, например. Порог входа выше, количество людей меньше.

Предложение превышает спрос...

Лишь пример для того, чтобы показать разницу между направлениями. Сетевик Цискарь с высоким сертификатом или Golang разработчик будут получать и того больше.

От себя бы развеял дополнительно один миф:

4. Я не смогу. Сможете. Большая часть страшных слов и непонятных картинок - станут очевидными в первые месяцы. Самое сложное - начать.

with open('my_roommates.txt', mode='r', encoding='utf8') as file: roommates_list = file.readline() for name in roommates_list: print(name)

Маленький интерактив для тех, кто никогда не пробовал программировать. Простой блок кода на Python. Попробуйте понять, что он делает. И вы поймете, что это не очень сложно. :)

Категоризация

По моим наблюдениям, проведенным за последние 5 лет, всю сферу IT можно поделить на 2 категории:

  • Обслуживание
  • Инновационная разработка

Сфера обслуживания - сфера, в которой основная задача разработчиков - поддерживать уже существующие продукты. Для них важны знания стека (набора используемых технологий), умение пользоваться готовыми решениями при написании кода (читай: не изобретать велосипеды) и в целом умение следовать уже написанным парадигмам. В такой сфере значительно больше вакансий, а так-же относительно низкий порог входа. Однако, минусами будет высокая конкуренция и относительно низкая зарплата за счет переизбытка кадров.

Типовой пример перенасыщенной профессии от Твой Шанс
Типовой пример перенасыщенной профессии от Твой Шанс

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

Также в этом разделе хотелось коснуться категорий разработчиков.

В целом, здесь также можно выделить 2 категории:

  • Code Monkey
  • Не Code Monkey :)

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

Когда не можешь найти баг на stackoverflow.

Однако, стоит заметить - это не всегда является оскорблением. Мы всегда рады подшутить так и над собой. :)

Однако, по мере прогрессирования, мастерски освоив гугл и изучив всё на stackoverflow, мы потихоньку прогрессируем и становимся гигачадами, патча KDE под FreeBSD с закрытыми глазами. Взламывающими пентагон между попойкой с друзьями и самцовой схваткой в оупенспейсе в гачимучи стайле.

Входим в IT. Взгляд бывалого разработчика.

Выбираем профессию

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

Практически у всего, что придет вам в голову, есть прикладная реализация. Сопоставьте свои желания с нуждами рынка, в противном случае вы удивитесь результату.

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

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

Есть множество путей узнать, какие бывают профессии. Многие из них не подразумевают умение программировать.

И другие. Есть множество путей узнать, какая профессия вам будет по душе.

Обучение

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

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

Таков путь.
Таков путь.

Могу лишь назвать самые важные навыки, без которых я не вижу никого в команде в своей сфере.

  • Обязательное знание систем контроля версий
  • Умение работать с терминалами, windows и linux
  • Умение обрабатывать огромное количество информации в сжатые сроки (обычно это главный и чуть ли не единственный навык, который люди получают после высшего образования)
  • Умение автоматизировать свою работу. Я только за, если человек тратит 8 часов на автоматизацию скучной работы вместо того, чтобы за 4 часа сделать все ручками.

Из советов: не тратьте все время на учебу, иначе вы выгорите. Идеальное время - два часа в день. Спустя полгода - не более четырех часов. Выходные и перерывы - обязательно. Иначе свихнетесь. Даже если вам это нравится, даже если написание кода для вас равнозначно решению головоломок сидя на унитазе. Отдыхайте. Решение задачек - опционально. Лишним не будет. Если вы решили супер сложные задачи, убив на них несколько дней, вы не станете крутым программистом. Научитесь решать простые задачи, поймите их суть. Как правило: все они нацелены на определенные алгоритмы и способы решения.

Поиск работы

Вот мы и подошли к самому сложному на пути становления тем самым ITшником. Именно здесь отсекаются те превозмогаторы, освоившие новую профессию и в целом этот момент делает из вката в IT казино.

Входим в IT. Взгляд бывалого разработчика.

Здесь нет универсального пути, который приведет вас к успеху в 100% случаев. Можно дать лишь несколько советов.

  • Перед обучением обязательно проведите анализ рынка труда. Сопоставьте свои желания и возможности с реальностью трудовой биржи. Тем самым вы максимально минимизируете шансы на провал.
  • Ходите на собеседования. Всегда. Даже если вы ничего не знаете. Поймете, что вам нужно знать.
  • Общайтесь с людьми. Много. Часто. Потенциально это откроет вам кратчайший путь к получению работы.
  • Умейте выявлять мусорные вакансии. Это вас спасет. Вы не обязаны работать за еду.

Также не менее важным является правильное резюме. Оно должно быть кратким, понятным и легко доступным для систем управления кандидатами (ATS). Красивости и украшательства - в помойку, они никому не нужны. Поверьте, листая 1000 CV, HRу и ботам глубоко наплевать на ваши дизайнерские навыки.

Примеры достойных CV.
Примеры достойных CV.

Напоследок

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

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

Спасибо за чтение. Это первая публикация на DTF. Надеюсь, она не была слишком нудной, старался разбавить юморесками. Удачи вам!

9696
22 комментария

Закрепил ссылку в своем посте и напомнил о существовании, надеюсь чем-то поможет. Хорошая статья.

11
Ответить

Спасибо за поддержку!

8
Ответить

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

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

6
Ответить

Если честно, думал, что раздела, посвященного анализу рынка труда, хватит. Понял этот недостаток после первого вопроса только.

3
Ответить

Хотел бы еще сказать, что отдыхать от ежедневного "обучения" тоже надо, берите выходной если чувствуете что устали, вы же не робот. В своём случае настолько перегорел что даже ide не мог весь год открыть.

5
Ответить

Фига се год. Я не мог открыть месяц и думал, что это много.

Ответить

В общем Delphi и pascal не учите

3
Ответить