Как войти в IT и остаться там

Как войти в IT и остаться там

Какие направления сейчас наиболее востребованы в IT? Какой язык программирования выбрать? Как получить работу, если нет опыта? Сколько можно зарабатывать на старте и по мере развития скиллов? Об этом и не только говорили на вебинаре Слёрма «Как войти в IT и остаться там».

Для тех, кто не успел или предпочитает читать, а не смотреть, мы подготовили текстовый вариант.

Участники вебинара:

Леонид Крутовский — senior software engineer. Занимается менторством разработчиков. Автор курса «Backend-разработчик на Python».

Сэм Булатов — ведущий фронтенд-разработчик в Waliot, организатор мероприятий сообщества «KrdDevDays», участник подкаста NgRuAir. Автор курса «Frontend-разработчик».

Марсель Ибраев — CTO «Слёрм».

«Все айтишники угрюмые, бородатые и в свитерах»

Марсель: Направлений в IT много, но обычно всех специалистов делят на разработчиков и администраторов. Сегодня будем говорить преимущественно про разработчиков — разберём, что они должны уметь, как выглядит стандартный рабочий день и какие есть особенности.

Начнём с распространённых мифов. Принято считать, что разработчик — это человек, который по 10 часов в день сидит за компьютером в засаленном свитере, смотрит на циферки на чёрном экране и разговаривает на непонятном языке. Как можете это прокомментировать?

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

Многие идут в IT с мыслью, что там они будут работать с компьютерами, а не с людьми. Это не так. Нужно быть весёлым, понятным и приятным человеком, с которым хочется взаимодействовать каждый день. Это важный момент современных IT-реалий, из которого рождается понимание сферы как мира «розовых пони и единорогов». Здесь все стараются быть хорошими людьми: не грубят и не злят, а помогают.

Сэм: Согласен с Леонидом. Время, когда IT было маленькой тусовкой, прошло. Если раньше ты сам мог написать операционную систему, то сейчас всё разрослось до таких масштабов, что нельзя взять и создать условный Windows в одиночку.

Когда приходишь в компанию, у тебя появляется команда. И ты должен уметь общаться, чтобы верно доносить свои мысли. Большая часть стереотипов, что программисты — интроверты, которые сидят где-то у себя в каморке, ушла. От таких специалистов стараются избавляться, потому что они создают напряжённостью в коллективе. Плюс, на практике выясняется, что качество их кода не такое уж и хорошее. Это проблема «пещерных программистов» — они сидят у себя в «пещере» и годами пишут свой код, ни с кем не делясь наработками. Потихонечку такой код загнивает.

Л: Поддерживаю. Последний тренд, который подхватили мировые лидеры и который постепенно спускается до среднего и малого бизнеса, — ещё на этапе собеседования проверять человека на soft skills. Оценивать, насколько развиты его коммуникативные навыки, критическое мышление, умение взаимодействовать. Я знаю много случаев, когда люди не могли устроиться в крупные компании, просто потому что не проходили по soft skills.

Что сейчас востребовано в IT

М: Наверняка большинство наших читателей знают, что в программировании много языков, фреймворков и направлений. Можете сориентировать новичка, который только собирается в IT, что сейчас актуально?

С: Я выделяю три популярных направления: веб-разработку, разработку ПО и геймдев. Но самое популярное — всё-таки веб-разработка. Плюс, в неё проще попасть.

Л: Я бы тоже выделил геймдев. Думаю, сейчас если и не революция в IT, то что-то похожее. Появилось много новых фреймворков и библиотек. Теперь на обязательно владеть C++ на уровне кунг-фу. Можно создавать продукты на более приятных языках.

Следующий тренд — блокчейн и криптовалюты, где нужны Rust и Solidity. В вакансиях упоминаются и другие языки, но эти встречаются чаще всего. Плюс, здесь самые высокие зарплаты — около $10-17 тысяч. Сейчас пик этого, чуть позже всё спадёт.

Конечно, популярна веб-разработка. И ещё дополню про интернет вещей — интернет уже почти в каждом утюге и холодильнике, и это продолжит развиваться. И вот здесь нужны такие языки как C и Rust, потому что железяки нужно программировать. В будущем, думаю, всё будет двигаться в сторону упрощения, сложные языки заменят JavaScript или даже Python. Но пока в эту область требуются C-шники и Rust-аманы.

М: Согласен. Особенно с историей про веб-разработку. Сейчас у каждого ИП-шника есть свой сайт, и спрос на веб-проекты очень большой. Предлагаю развернуть эта тему — какие самые популярные языки и фреймворки в веб-программировании? Куда лучше идти, если ты полный ноль?

Л: В веб-разработке есть frontend и backend. Frontend — это та, часть приложений, которая исполняется в браузере и с которой взаимодействует пользователь. По сути, это визуал, который мы видим. Backend — это то, что касается хранения данных, и то, что не видно пользователю. Сейчас тренд на разделение frontend и backend — границы этих направлений чётко проставляют, чтобы не было смешиваний.

Backend — это больше инженерная работа, где развитие идёт вглубь. Здесь всё консервативно, и ты больше изучаешь системы. Frontend про развитие вширь. Здесь больше фреймворков и подходов.

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

М: Как бэкендер с какого языка ты советуешь начинать?

Л: Если говорим про веб, однозначно Python. Из плюсов — он лёгкий, поэтому ты быстро разбираешься в теме и начинаешь программировать. Из минусов — после Python сложно переходить на другие языки.

Для сравнения: если начинать с C++, два года будешь страдать. Зато потом сможешь легко осваивать любые языки с теми же концепциями.

Здесь надо решить, чего ты хочешь. Если быстро стартовать в IT, я рекомендую Python.

С: Во frontend самый популярный язык — JavaScript. Также есть много новых языков, которые умеют компилироваться в JavaScript, например, Kotlin или Dart. Но начинать советую именно с JS без всяких отстроек.

На backend, кстати, сейчас популярен Node JS. Крупных систем на нём не пишут, но какие-то сервера вполне. Из вариантов использования — когда у тебя много backend-частей микросервисов, а для frontend нужно сделать один запрос, и в него положить все данные. Ты ставишь перед огромным бэкендом свой маленький бэкендик и делаешь то, что нужно.

В 99% случаев для frontend нужен JavaScript. Если пока не определился, куда хочешь — во frontend или backend, советую написать небольшую программку и поработать с клиентской и серверной частью. Так быстрее поймёшь, что больше подходит.

Я пробовал и то, и другое. Но работать с клиентом понравилось больше, и я ушёл во frontend.

Л: Я одно время был fullstack и тоже писал на frontend. Что здесь классно: ты что-то делаешь и сразу видишь результат. В backend ты можешь месяц писать код и не видеть ничего, кроме циферок на экране. А тут 5 минут работы, и, глядишь, уже кнопочка заморгала.

Стандартный день разработчика

М: Леонид, Сэм, расскажите, как проходит ваш типовой рабочий день.

Л: Начнём с того, что я работаю в офисе, где у меня есть собственный таск-трекер — список задач, которые нужно выполнить. Я приезжаю и сажусь что-то делать. У нас небольшая команда из 4 человек, поэтому нет синков и обсуждений. Но время от времени я сообщаю тимлиду, чем занимаюсь. Он может сказать, что сейчас для бизнеса важнее, и скорректировать приоритетность задач. Потом я возвращаюсь к работе — чиню баги или делаю новую функциональность. Мы работаем спринтами и в конце недели отчитываемся перед бизнесом, что успели сделать и что планируем делать дальше. И вот так изо дня в день.

Л: У меня нет типового дня, но пробегусь по важному. Я могу просыпаться не по будильнику, потому что первый созвон в 13:00 или 13:15. Рабочий день начинается с того, что я проверяю чатики и почту, смотрю встречи в календаре и отслеживаю, как продвигается выполнение задач. У нас скрам, и есть регулярные ретро, где мы обсуждаем предыдущие спринты — что было хорошо, а что не очень. Полдня проходит в созвонах и общении. И ещё полдня я пишу код.

Зарплаты в IT

М: Поговорим про зарплаты. Предположим, я прошёл курс, научился что-то программировать и стал джуном. На какую зарплату я могу претендовать в начале карьеры и через условных 2-3 года, кода стану уверенным мидлом?

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

Когда ты дорос до уровня среднего специалиста и уже начал приносить пользу компании, зарплаты сильно разнятся. Я бы сказал, что крепкий мидл может получать от 120 тысяч, а дальше всё зависит от амбиций. Год-два опыта — это уже хорошо.

М: А что с frontend?

С: Джуниор, мидл и сеньор — очень условные грейды, которые сильно отличаются в зависимости от компании. Даже по годам работы судить нельзя. Человек может писать код, разрабатывать архитектуру, делать ещё много всего лучше тех, кто уже 10 лет в сфере.

Что касается заработка, буду говорить про краснодарские расценки. Когда ты джун, ты много чего не знаешь, и тебя приходится обучать. На этом моменте в регионах тебе предложат до 40 тысяч. Дальше всё зависит от компании — мидл может зарабатывать 150 тысяч и больше. Ещё можно устроиться на удалёнку в московскую компанию и получать 200 тысяч сверху, даже если у тебя 3-4 года опыта. Тут роль играют не твои hard skills, а то как ты умеешь себя продать.

Сейчас рынок перегрет, IT развивается, и нужно много рук. Поэтому появляются сумасшедшие зарплаты, а работу найти легки. На старте 30-40 тысяч, но потом потолка нет.

Что нужно знать, чтобы зарабатывать от 100 000?

М: Чему нужно научиться, чтобы выйти не доход от 100 тысяч в месяц? Что вообще нужно уметь, чтобы много зарабатывать и развиваться в профессии?

С: Вопрос с подоплёкой. Во frontend для начала достаточно уметь верстать, знать HTML и CSS. Дальше нужен JavaScript, но на чистом JS уже не пишут, поэтому нужен один из популярных фреймворков, например, React или View. Как только ты понимаешь, что можешь более-менее решить задачу на одном из фреймворков, можно идти собеседоваться на джуна. Уже на собеседованиях ты получишь тот самый коммерческий опыт и поймёшь, как поднимать ценник.

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

Главное — не затягивать и верить в себя.

М: Что насчёт backend?

Л: Всё то же самое, не затягиваем. Трёх-четырёх месяцев хватит для обучения. Когда освоишь язык и напишешь пару небольших проектов, начинай ходить по собеседованиям. Возможно, сначала не получится. Ничего страшного в этом нет. Зато ты лучше поймёшь, как проходят собеседования и какие вопросы задают, и сможешь лучше подготовиться к следующей встрече с HR-ом. Ещё можно почитать материалы по типу «Какие вопросы задают junior-разработчику на Python?».

Главный совет — как можно быстрее к практике. То, что ты узнаешь за полгода реальной работы, эквивалентно тому, что можно самостоятельно изучать десятилетиями.

Ещё один плюс попадания в команду — там будут люди на голову выше тебя. И они будут тратить время, чтобы помочь тебе прокачаться и объяснить всё непонятное. С ними советую не спорить, а только учиться и перенимать опыт. Горящие глаза и желание узнавать новое всегда подкупают. Поэтому когда ты проявляешь заинтересованность и инициативу, в тебя хочется вкладываться.

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

11
8 комментариев

Зачем все это, не проще инвестировать, а не заниматься ерундой

инвестиция в АйТи начинается с инвестиции в дошик )

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

Вот это прям топовый совет для вайтишника

NoCode? не, не слышали

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

Ага, а код всегда можно скопипастить со stackoverflow.

Многие идут в IT с мыслью, что там они будут работать с компьютерами, а не с людьми. Это не так. Нужно быть весёлым, понятным и приятным человеком, с которым хочется взаимодействовать каждый день.

Чтобы можно было вместе ходить в Starbucks и делиться своим опытом о местных барбершопах.