Кем стать в IT: обзор возможностей
IT — одна из самых быстроразвивающихся отраслей. В то же время, представление о профессиях и возможных карьерных траекториях в этой сфере обычно очень узкое и окружено мифами. В мифах, фактах и реальных карьерных возможностях будем разбираться вместе с представителем отрасли.
Полина Морозова
Более 13 лет опыта в hr, в cфере IT — с 2009 г. Руководитель направления по развитию персонала в региональном филиале крупнейшей международной IT-компании. В зоне ответственности — все hr-процессы, от адаптации до exit interview, а также развитие hr-бренда компании в своем регионе.
3 факта об IT-сфере
Начать хочу с трех убеждений или принципов, которые сформулировала за 7 лет работы эйчаром в IT. Их важно понимать, принимая решение о работе в отрасли.
В IT могут работать (почти) все
IT — отрасль, в которой может найти себя любой человек, вне зависимости от пола, возраста и пресловутого «склада ума» (имею в виду мифическую направленность на гуманитарные или естественно-научные дисциплины). Профессий и специализаций в IT великое множество и не все они связаны с разработкой технических решений и написанием кода — об этом я расскажу подробнее.
Развиваться нужно быстро
IT — отрасль динамичная, развивается сверхбыстрыми темпами, знания и технологии быстро устаревают. Если ты не готов развиваться также быстро — окажешься невостребованным. Почивать на лаврах здесь не получится.
Главное — любовь к IT
IT не приемлет тех, кто не любит свою работу. Это феномен, схожий с естественным отбором местного масштаба. Я работала в разных отраслях и нигде не встречала такого низкого, граничащего с полным отсутствием, количества сотрудников «без огня в глазах». Поэтому идти в IT за деньгами, не имея интереса к разработке программных решений, точно не вариант.
Конечно, выбор специализации в IT зависит от того, исполнение каких задач интересно именно вам. Определенные качества и знания, ценящиеся в этой сфере, варьируются от задачи к задаче. Поэтому важно понимать, какие задачи решает компания и какие специалисты занимаются ее решением.
Давайте будем выводить специализации по мере включения в задачу — так мы сможем понять, какие ключевые фигуры задействованы в работе IT-компаний и как они связаны между собой.
Задачи и специализации в IT
Марина Гехтман
Более 20 лет в IT. Сделала карьеру от младшего специалиста-тестировщика до директора центра разработок крупной международной IT-компании. Имеет опыт работы на позициях test lead, project manager и program manager. Проводит внутренние тренинговые программы по people management.
Постановка задачи → аналитик
Все начинается с постановки задачи и обсуждения целей клиента. На этом этапе главную роль играет команда аналитиков. Их задача — понять, описать и согласовать с заказчиком цель проекта, углубиться в детали и задать правильные вопросы, чтобы в итоге на выходе получилось техническое описание, понятное остальной команде.
Для аналитиков важно понимать бизнес клиента. Аналитики — это исследователи и переводчики. Они говорят с клиентом в терминах целей и задач бизнеса, а с командой на языке требований и технических спецификаций.
После сбора требований аналитики продолжают поддерживать проект, консультируют команду, уточняют у заказчика детали требований и приоритеты. Для этой специализации важны хорошие коммуникационные качества, иностранные языки(для начала — английский), готовность консультировать и доносить информацию до остальной команды, делиться своим пониманием.
Также нужны технические знания, чтобы понимать реализуемость запросов заказчика хотя бы на уровне «можно», «нельзя», «очень сложно» и «запросто».
Разработка архитектуры продукта → архитектор
Следующая роль — технический архитектор. Его задачи:
- выделить основные части системы
- интеграцию между ними
- выбрать инструменты для разработки
Архитектор — технический идеолог и главный консультант для команды разработки. Обычно за плечами у этих специалистов несколько лет работы программистом на разных платформах и языках программирования. Архитектор часто общается с клиентом, поэтому знание английского не помешает. После того, как архитектура создана, он сопровождает разработку, смотрит код, проверяет на соответствие основным принципам архитектуры, помогает находить технические решения для сложных случаев.
Разработка программного кода → программист
После того, как понятны требования и архитектура, начинается процесс разработки программного кода. Программисты пишут код, используя выбранные технические средства. Нужно сказать, что в IT на этапе выбора приняты командные обсуждения, где каждый может поделиться своим предложением, показать, какие технологии или инструменты подошли бы для решения конкретной задачи.
В процессе написания кода программисты обнаруживают несоответствия требований, не вполне ясные требования и задают вопросы аналитикам и архитектору, практически готовый продукт отправляется тестировщикам. Разработчики продолжают писать код, исправлять ошибки, обнаруженные тестерами, и дорабатывать систему.
Для этого направления очень пригодится технический склад ума, владение несколькими языками и инструментами программирования, готовность изучать новое и применять его в работе. Английский нужен как минимум на уровне технического. Часто программисты выезжают к клиенту, чтобы помочь с внедрением готовой системы в эксплуатацию. В таком случае, пригодится и разговорный язык.
Поиск ошибок → тестировщик
Цель команды тестирования — определить качество разработанной системы. Это специализация включает много направлений.
Тест-дизайнеры создают тестовые сценарии и варианты данных, а тестировщики используют эти сценарии, чтобы обнаружить ошибки или убедиться, что все работает по требованиям. Тестовые сценарии пишутся в параллель с разработкой кода, когда уже готовы требования. Они должны быть готовы к старту тестирования. Создание тестовых данных — это исследовательская работа, для сложных технических систем количество тестовых данных может исчисляться тысячами. Тест-дизайнеры должны хорошо понимать бизнес и приоритеты клиента, практически на уровне аналитиков.
Задача тестировщика — найти ошибку, внятно описать шаги воспроизведения, обозначить ее важность и, при необходимости, оказать программисту помощь разобраться в условиях появления ошибки. Для тестирования нужен язык, чтобы создавать тестовые сценарии, достаточный уровень технической подготовки, чтобы работать , например, с базами данных и уметь выбрать информацию. Ценные для этой экспертизы качества — систематичность, усидчивость, аналитический склад ума, изобретательность, настойчивость.
Управление проектом → руководитель проекта
Руководитель проекта несет полную ответственность за результат проекта и за то, чтобы заказчик был доволен. Он собирает команду, собеседует и нанимает людей, организует работу, начиная с высокоуровневого плана проекта, работы с рисками, решения каждодневных проблем и до сдачи готовой системы клиенту.
Гибкость, умение принимать решения и добывать информацию, расставлять правильных людей по правильным ролям, стрессоустойчивость, готовность признавать успехи команды и каждого участника и брать ответственность за неудачи на себя — все это очень нужно менеджеру. Руководитель обеспечивает команде условия работы, ведет их к результату в нужные сроки.
Связь с клиентом → менеджер по продажам
Внимательный читатель заметил, что на старте проекта пропущено важное звено — как произошел контакт клиента и проектной команды. Это может происходить по-разному. Рекомендации, обращения через сайт компании, встречи на мероприятиях — выставках, конференциях. Здесь зона ответственности продающего менеджера, который при контакте с потенциальным клиентам показывает возможные варианты сотрудничества.
Это роль человека, который открывает двери к клиенту, понимает тренды индустрий и запросы бизнеса. Соблюдает баланс между умением слушать и настойчивостью. Обаяние, отличные коммуникационные качества, обширная сеть бизнес контактов — очень помогут в работе.
Руководство группой специалистов → тимлид
Есть еще одно измерение в направлениях развития. Можно выбрать экспертный путь или движение в сторону управления. До какого-то момента эти два направления можно совмещать. Например, в роли технического лидера небольшой группы разработки. Если управлять 2-4 программистами, то останется время, чтобы писать код самому. Переломный момент наступает, когда вы начинаете руководить группой 8-12 и более человек или переходите на роль руководителя проекта.
Перемещение между экспертизами и направлениями возможно. Некоторые стоят очень близко.
Например, от тест-дизайнера до начинающего аналитика — один шаг. Нужны те же качества — аналитический склад ума, иностранный язык, умение описывать поведение системы, готовность делиться знаниями и консультировать.
Архитектор — естественный шаг в развитии программиста. Больше времени займет движение от тестировщика до программиста. Нужно будет добрать технических навыков и получить опыт.
Все варианты карьерного развития в IT достижимы при наличии некоторого входного уровня и готовности инвестировать время и усилия в свое обучение.
Итак, какие главные выводы мы можем сделать:
- Работать в IT-сфере могут почти все: специализаций много, поэтому найти себя может практически каждый.
- Идти в IT за деньгами, не имея интереса к разработке программных решений, не стоит.
- Все варианты карьерного развития в IT достижимы при наличии некоторого входного уровня и готовности инвестировать время и усилия в свое обучение.
Источник: top-career.ru/it-career