Прокачайся в код-ревью: для первых 50 участников — курс бесплатный

время чтения: 6 мин

Кем можно стать в IT: хорошие и плохие новости

При выборе профессии в IT важно учитывать изменившийся спрос в индустрии — о том, как найти себя в IT в 2022, ментор по развитию карьеры Амина Идигова рассказала в предыдущей статье. Но не каждый способен отслеживать тренды — в новой публикации Anywhere Club Амина делится лайфкахами, как быть в теме, но главное — дает обзор основных специальностей и обозначает, что проще, а что — сложнее. Плохие новости: 90% резюме не приведут даже к интервью, купить мотивацию и дисциплину нельзя ни за какие деньги, языки на букву С лучше даже не начинать изучать. Хорошие: дорогу осилит идущий — важно выбрать правильное направление, поймать восходящий тренд, убедиться в легкости изучения — и вы в дамках. Прочитайте статью перед тем, как пройти уникальный карьерный тест.

ментор по развитию карьеры Амина Идигова

Какой язык программирования учить

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

  • Легкость изучения. Чем ниже порог входа, тем быстрее вы научитесь писать код и найдете работу, не успев разочароваться и потерять мотивацию;
  • Распространенность и востребованность. Чем популярнее язык, тем больше на нем реальных проектов — а значит, больше сообществ и энтузиастов, которые создают для него гайды и сторонние библиотеки. Соответственно — легче решаются типовые задачи;
  • Наличие junior-вакансий на языке. Чем больше вакансий доступно на рынке в целом, тем выше шанс найти свою первую работу. Желательно ориентироваться на глобальный рынок, чтобы оставить пространство для релокации или работы удаленно, но в любом случае стоит быть готовым проявить настойчивость и завидное упорство, поскольку до 90% ваших откликов на вакансии не приведет даже к приглашению на интервью;
  • Восходящий тренд. Он будет означать, что технология развивается и будет актуальна ближайшие 3–5 лет и инвестиция времени на ее изучение не окажется напрасной;
  • Уровень дохода разработчиков;
  • Привлекательность для вас лично. Представьте, что на ближайший год-полтора вам придется тратить на эту работу до 10 часов в день.

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

Профессии в IT

Software Developing

— Если говорить о карьере Software Developer, то на старте стоит фокусироваться на тех направлениях разработки, которые осилит новичок. Опытные коллеги рекомендуют остановиться на двух:

  • Front-end — это все, что браузер может читать, выводить на экран или запускать. Чтобы освоить Front-end, фактически нужно хорошо изучить всего один язык разработки — Java Script. В нагрузку к нему придется выучить HTML/CSS. Именно они «говорят» браузеру, какие элементы сайта, с какими стилями и где отрисовывать. Java Script успел обрасти тонной библиотек и фреймворков, например, jQuery, React, Angular, Swift, Vue, TypeScript и другими. Они позволяют разработчику не писать приложения и сайты с нуля, в них уже встроено.
  • Back-end — это вся та «внутренняя магия», которая скрыта от глаз в момент, когда вы пользуетесь браузером или мобильным приложением. Сюда относится и серверная логика, и сценарии взаимодействия с внешним интерфейсом, и алгоритмы сбора и хранения данных, и многое другое. Языки, идеально подходящие для новичков, на котором пишется Back-end, — это Java или Python. Но помните, что в нагрузку с Back-end всегда идет работа с базами данных.

Остальные направления, такие как Mobile или Gamedev, могут оказаться слишком сложными и специфичными для новичка. Очень часто код под мобильные устройства и игры пишут так, чтобы выжимать из железа максимум производительности. Там может оказаться много сложной математики, оптимизации и алгоритмов.

Также на старте забудьте о работе с языками на букву С (С, С++, С#). Это сложные низкоуровневые языки. Если вы новичок, то дополнительная сложность уменьшает шансы быстро освоить профессию. Эти языки можно выбирать первыми, только если у вас либо основательное техническое образование, либо вы реальный фанат встроенных систем и микроконтроллеров.

Big Data (Data Scientist/Data Analyst)

— BigData — это сложная область на стыке программирования, высшей математики и бизнеса, она требует серьезной технологической базы и зрелости. Если линейная алгебра, теория вероятности, графы, статистика и матанализ, алгоритмы и структуры данных никогда не были вашей сильной стороной, то Data Science может стать серьезным вызовом на пути в IT. Ко всем этим технологиям вы придете позже, когда освоитесь в профессии и будете готовы наращивать сложность. Не усложняйте себе задачу на входе, — предупреждает Амина.

Сложное, но подъемное направление для входа в IT — дата-анализ. Эта специальность — первая ступень в мире Big Data на пути к более высоким должностям, таким как архитектор данных или Data Science инженер.

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

Testing

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

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

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

UX/UI Design

— Если пользователь приложения или сайта задержался на нем более 10 секунд, значит работа UI-дизайнера не была напрасной. Проектирование интерфейсов (также известное как UI/UX-дизайн) — еще одна актуальная точка для входа в IT. Несмотря на упоминание слова «дизайн» в названии, к непосредственному дизайну данная профессия почти не имеет отношения: речь идет об информационной архитектуре.

  • UX — это то, как работает продукт;
  • UI — как он выглядит.

UI-дизайн — это часть UX-дизайна, связанная с внешним видом продукта и создающая эмоциональную связь между пользователем и интерфейсом. И UI-, и UX-дизайнеры создают эмоции.

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

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

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

Business Analysis

— Даже в бизнес-анализе нельзя избежать знакомства с кодом, так как одна из обязанностей BA — понимать предметную область со всех точек зрения, не только со стороны бизнеса, но еще и с технической.

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

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

Большая часть задач ВА связана с разработкой детальной документации, описанием user stories/acceptance criteria/use cases, моделированием бизнес-процессов, прототипированием решений и созданием спецификаций.

Для работы у каждого аналитика есть свой любимый инструментарий — кто-то любит рисовать диаграммы, кто-то пишет полотно текста в Word, а кто-то рисует блок схемы в Figma. Все зависит от требований заказчика и специфике его бизнес-домена.

DevOps

Еще одна популярная точка входа в IT — DevOps- или DevSecOps-инженеры. Войти в эту профессию с нуля и без соответствующего техничного образования или опыта будет почти нереально.

Проще всего войти в DevOps либо опытному сисадмину, либо разработчику. DevOps синхронизирует все этапы создания программного продукта: от написания кода до тестирования и выпуска приложения. Главная задача DevOps-инженера — оптимизировать рабочие процессы. То есть повысить эффективность, стабильность и безопасность разработки, сохранив при этом высокое качество финального продукта.

Помимо очевидного знания методологии DevOps, здесь потребуется опыт:

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

Чаще всего DevOps-инженер должен иметь большой технический кругозор и постоянно изучать новые инструменты и технологии.

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

Кто ты в мире IT