Pull to refresh

Для входящих в «это самое»: обзор языков, рынка и отрасли для самостоятельного анализа и размышления на тему

Reading time13 min
Views8.3K

Порой ко мне обращаются знакомые (и не знакомые) с разными вопросами о пресловутом вхождении в IT. Разных возрастов и с разными входными данными. Тыжпрограммист. Тема очень обширная, каждый случай уникален. Дать простой ответ на сложные вопросы не возможно. По-хорошему, если всерьёз, подобные вопросы следует разворачивать в серию карьерных консультаций с элементами наставничества и планом развития.

Тема не раз обсуждалась на хабре под разными углами. Как с высоты опыта старожилов, так и виде историй успеха/провала нововошедших/"тут же вышедших".

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

Содержание:

Какой язык?

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

Популярность и востребованность языка меняется с годами. Появляются новые, старые уходят в андеграунд. Вот обзор1 полугодовой давности, с разными срезами и динамикой, для понимания объёмности темы. На момент прочтения стоит поискать свежую аналитику. Критериев, по которым можно сравнивать, много. Пробегусь по верхам, чтобы задать вектор для дальнейшего гугления.

По сфере применимости

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

  • язык(и) программирования;

  • операционную систему (на которой ведётся разработка и (или) эксплуатация);

  • системы храненения данных;

  • интегрированную среду разработки (IDE);

  • утилиты сборки, пакетные менеджеры и т.п.

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

Есть языки как общего назначения - применимы для широго круга задач, так и узкоспециализированные. Есть open source решения, которые можно без ограничений использовать бесплатно на разных платформах, есть коммерческие, будущее которых зависит от вендора и может быть ограничено его же стеком. Рынок первых более стихийный, во вторых меньше свободы, но и решений нужно принимать меньше. Имхо, тренд на open source однозначен в большинстве сфер. Транснациональные корпорации всё чаще предпочитают привлекать открытое сообщество и влиять через лобби на развитие своих инструментов, чем прятать их в коробку.

Стабильно растущие и широко распространённые направления

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

  • веб — это про сайты и онлайн-сервисы:

    • фронт;

    • бэк.

  • мобильная разработка

    • android;

    • apple.

  • нейронные сети, машинное обучение и т.п. - тренд последних лет, является прикладным ко многим отраслям.

По каждому пункту есть несколько актуальных технологических стеков.

Олдскул

  • системное программирование - то что является частью операционной системы.

  • десктоп разработка - некогда была "царицей полей", но web и mobile захватили пользователей почти полностью.

Узкоспециализированные

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

  • научная работа

  • различная промышленность, в том числе "оборонная"

  • космос, медицина etc.

Про геймдев

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

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

По уровню дохода

В регионах ваших потенциальных работодателей. Чтобы понимать ваш старт и теоретический потолок в отрасли при данном выборе.

По востребованности

Соотношение количества вакансий и проектов с количеством носителей ЯП. Внимание, могут встречаться аномалии:

  • непродолжительные временные всплески - свойственно новым языкам с хорошим лобби: всё переписываем с C++ на Rust, с Java на C#/Kotlin, с PHP на Go, с JavaScript на Dart/TypeScript/etc. Иногда тренд устанавливается, а порой сходит за год другой.

  • региональные перекосы — например 1С, рынок которого практически полностью локализован в РФ. Другой пример: PHP — более распространён в СНГ, чем за пределами.

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

Куда пойти?

В этом разделе фокус на типах работодателей, форматах бизнеса и предметных областях.

Предметная область (домен)

Один из критериев, который многим может быть важен при выборе работы и направления на старте карьеры — предметная область: банковское дело, финансы, медицина, торговля, СМИ. Одним словом то, что интересно само по себе, или являлось/является предметом изучения/любопытства. Но не стоит переоценивать предметную область. С точки зрения разработчика прикладных программ, модель предметной области — просто формально описанные по требованиям бизнеса сущности со своими аттрибутами и связями. Её знание приходит в процессе работы над проектом, за карьеру можно на должном уровне освоить разные области, от управления мнением в интернете до тестирования газовых турбин, от таргетирования рекламы в подкастах до автоматизации складского учёта. Для разработчика предметная область — переменная, которая мутирует со временем в рамках одного проекта, а порой может и кардинально меняться при смене такового. Часто всё будет сводится к банальному CRUD — операциям по сохранению и чтению информации, её обработке. А любые нюансы бизнес-процессов — часть поставленной задачи, которые следует правильно понять и смоделировать имеющимися средставами.

Экспертное знание предметной области даёт преимущетсво для ряда специальностей в составе IT: менеджмента, аналитиков, QA. Для разработчика при найме это редко приоритетно. Большим преимуществом в перспективе будет опыт связанный с интеграциями и библиотеками, востребованными в том или ином домене.

Типы работодателей

По бизнес-моделям

  • B2C - бизнес для подтребителя, самая массовая модель по количеству работодателей и пользовательскому трафику, наибольшее разнообразие предметных областей, форм собственности и масштабов предприятий. Есть шанс получать обратную связь от живых пользователей, в т.ч. IRL, что может служить хорошей мотивацией.

  • B2B - бизнес для бизнеса. В зависимости от численности второй буквы "B", по ощущениям этом может не сильно отличаться от B2C (например, если решение для малого бизнеса). Но может быть и довольно громоздкий энтерпрайз с долгостроями и месяцами согласования каждой версии. В этом случае обратная связь будет формальной, количество непосредственных пользователей в абсолютных цифрах не велико, в фидбек вы будете получать от интеграторов на другой стороне.

  • C2C - взаимодействие физических лиц. Например: Авито, профи.ру. Как правило это достаточно массовые проекты, с точки зрения аудитории, часто со значимой социальной функцией.

  • G2B и G2C - госсервисы для бизнеса и физиков соответственно. Например Госуслуги, сервисы налоговой, ДЭГ (прости, господи).

По размеру

  • Крупные — вероятно есть у кого поучиться, и возможен известный рост внутри, программы обучения. Если бизнес дорос до определённого размера, значит научился зарабатывать деньги и готов платить по рынку, в большинстве случаев. Из минусов — претендентов на рост внутри может быть избыток, с размером появляется формализм и застой.

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

  • Мелкие — минимум предсказуемости и финансовых возможностей, максимум хаоса. Тут до сих пор можно нарваться на кидалово и серые схемы.

  • Стартапы — попытки запустить что-то новое на чужие деньги. Прибыли не приносят и накрыться могут в любой момент выставив всех на мороз. С другой стороны может быть интересно, и переспективно попасть туда (шансов что выстрелит мало), а в моменте, если намутили достаточно денег, то и платить могут нормально.

Госуха

В последнее время мутирует под коммерцию через подрядчиков и Рос*** структуры.

Всякие РосЧтоТоТам, по моим наблюдениям, с весны начали пылесосить рынки сисадминов, сетевиков, безопасников и прочих. Я это объясняю тем, что в условиях эммиграционного оттока, негативного новостного фона и информационной войны перед ними появилось немало новых задач по поддержанию работоспособности. Сектор, вероятно, будет расти, как в принципе присутствие государства во всех сферах жизни, это общий тренд политики РФ последних десятилетий.

Есть устойчивый обывательский миф, о том, что в бюджетной сфере есть соцгарантии, а в коммерции только эксплутаторы и больничного никто не даст, а вместо дикрета уволят без разговоров. Миф не работает в IT от слова совсем. У меня достаточно знакомых на госслужбе, совершенно в рабском положении, в том числе на IT-специальностях. Большинство компаний давно работает "в белую", и не хочет переходить дорогу трудовой инспекции. В большинстве нормальных средних и крупных коммерческий компаний, существующих больше пары лет, окажется что IT-отдел частично состоит из декретных "мертвых душ". И больничный по уходу за ребёнком дают. Все отчисления во все фонды исправно поступают. Бывают перегибы на местах, свои права отставивать в ваших же интересах. Но меня и в бюджетных организациях пытались кидать.

Коммерция

Есть коммерция настоящая и, условно говоря, "тендерная".

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

Тендерная — пытается присосаться на подряд из бюджета крупных корпораций или государства/муниципалитетов. Делёжка освоенных средств происходит по остаточному принципу, т.к. настоящая производимая ценность не результат работы рядовых сотрудников, а получения ресурса от заказчика (за откат). В тендерных чаще встречается коррупция и попытки кинуть сотрудников при случае.

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

По модели трудоустройства и отношению к продукту

Inhouse

То, что организация разрабатывает сама, для себя, своим штатом.

Продуктовая разработка

Когда у компании есть основный продукт(ы), которые воплощают в цифре их бизнес. Мейнстрим. Считается что тут самое серьёзное отношение к IT, т.к. продукт свой, родной и приносит деньги. Иногда это так и многие компании действительно много уделяют внимания технической культуре. Но часто продукт — просто загнаная ломовая лошадь, и инженеры просто должны заставлять её пахать дальше, несмотря ни на что. А куда и как быстро её гнать решают далеко не айтишники.

Anykey

Когда компания не относится напрямую к IT, но имеет сайт или какой-то цифровой продукт, требующий поддержки и некоторого развития. Платить скорее всего будут немного, но и спрос не высок. И вроде как не настоящее айти. На самом деле, для старта не самый плохой вариант, если повезёт. Да, учиться придётся самому, но есть определённый карт-бланш — всё равно вы единственный кто что-то здесь понимает)) Главное не задерживаться на долго, искать профессиональное общение на стороне, развиваться и смотреть дальше.

Outsource

Разработка на заказ для других.

Бодишопы

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

Cтудии/агентства

Разработка "под ключ" сайтов, приложений и т.п.. И зачастую, параллельно их поддержка.

Проекты чаще всего типовые для оптимизации костов. Для старта тоже не так плохо — зачастую легко попасть, если базово выучить используемую cms/framework, требования не высокие. Платят не очень много, зато конвейер позволит быстро набить руку, и даже чему-то поучиться более опытных ремесленников. Главное не задерживаться, как на любом конвейре, стараться развиваться дальше.

Есть и премиум сегмент, например студия @AlexanderByndyu2, где проекты не типовые, а лучшим практикам большинство продуктовых компаний может поучиться.

Интеграторы

Внедрение готового коробочного решения в заказчика (1C, SAP, etc). От студий/агенств отличаются тем что ориентированы не на широкий рынок, а обладают экспертизой по какому-то специализированному продукту.

Про курсы и образование вообще

Нужно ли мне образование: профильное или высшее вообще?

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

На собеседованиях всегда интереснее скилы самого человека: его знания и способности. Встречал множество людей с профильным образованием — слабых разработчиков. И примеры сильных и успешных в карьере крутых специалистов — с 11 классами за плечами.

Сам высшего не имею — технимум и специальность не связанные с IT.

Помогут ли мне курсы?

В интернете очень много навязчивой рекламы различных курсов для IT специальностей. Их целевая аудитория и моей публикации пересекаются. Я ставлю перед собой цель как раз дать ответы на вопросы, которые полезно было бы себе задать, перед тем как поддаться давлению маркетинга.

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

Не буду утверждать что они бесполезны, зависит от ваших финансовых ресурсов. Вряд ли они навредят, но стоит помнить про цель их существования. Можно выделить две группы:

  1. Заработать денег на слушателях, удовлетворяя спрос и ажиотаж на рынке.

  2. С выгодой для себя укомплектовать дешёвой рабсилой какого-то работодателя (когда курсы аффилированы с крупной конторой, гарантирующей трудоустройство к себе).

Моё мнение: всё есть в интернете бесплатно в любом формате, и изучать это можно самостоятельно с любой интенсивностью — как выше, так и ниже платных курсов. Эта тема и часть других освещена в свежем посте3 от @nmivan, посвященном "вошедшим и вышедшим", рекомендую.

Самообразование

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

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

Не разработкой единой

Помимо собственно программистов, в IT задействовано много других специальностей: системные администраторы, QA, аналитики, менеджеры, дизайнеры и прочие. В них тоже могут платить, и потолок роста ограничен только вашими способностями.

Если по душе заниматься чем-то — занимайтесь этим! Главный конкурент статей про "вхождение" — статьи про выгорание ;) Ещё недавно гики и нерды готовы были работать 24/7 за еду, доступ к оборудованию и право экспериментировать. Теперь корпоративная культура успеха добралась до IT и создаёт давление, пытаясь всех сделать энтузиастами4. Дальше, на мой взгляд, IT станет ещё более массовым ремеслом, и профессия не будет принципиально отличаться от любых других, работа формализуется.

Пара абстрактных мыслей обо всём этом

Я "вошёл" во второй половине нулевых. На тот момент бум только начинался, не было разнообразных курсов, большого потока выпускников и алчущих аббитуриентов, удалёнки. Заходил самоучкой, переобувшийся гуманитарий. Закономерно в отрасли было больше энтузиастов, и очереди из желающих её занять не наблюдалось. Бизнес ещё не чувствовал себя так уверенно в отрасли, деньги только начинали затекать в сферу, многократного разрыва в зарплатах со средними по стране не было.

Ажиотаж вокруг IT и с вхождением в него, имеет двунаправленную природу. Дело не только в зарплатах и модном образе востребованных специалистов, создающих то, что у всех на слуху и в кармане. IT само входит везде и всюду. Такая эпоха: человечество оказалось глобально информационно связанным. Экономика развивается на базе плодов очередной технологической революции, и сама подогревает её инвестициями. Постепенно IT входит во всё — такси, сеть пиццерий, ритейл, ресторан — не важно. Любой бизнес старается извлечь дополнительную прибыль от автоматизации процессов, алгоритмизации работы с клиентской базой, новых каналов продаж. Можно скептически относиться к потоку желающих "войти", критиковать курсы и образование, ностальгировать по времени первых энтузиастов-бессеребреников. Большое искушение, если ты успел оказаться пионером в отрасли и пробивался своим умом, а не в в плотном косяке, направляемом маркетингом больших компаний. Результатами предыдущих промышленных революций было изменение социальной структуры общества и зарождение новых классов. Сейчас происходит тоже самое: вхождение в IT — интуитивная попытка толпы примкнуть к новому зарождающемуся классу, чтобы не оказаться на обочине истории.

  1. Рейтинг языков программирования 2022. C# обошел Java, TypeScript сравнялся с PHP, а Dart – наиболее комфортный язык

  2. https://byndyusoft.com/

  3. Невыжившие в IT

  4. Обязан ли разработчик развиваться?

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 9: ↑6 and ↓3+3
Comments11

Articles