Карьера в IT: как выбрать направление

0
2207
views

Перевод статьи «How to choose the best tech career path for you».

Карьера в IT
Photo by Robert Anasch on Unsplash.

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

Сегодня меня часто спрашивают о карьере в сфере технологий. И я подумал, что хорошо бы написать статью на эту тему, чтобы отсылать к ней интересующихся. В качестве основы я использовал список 20 лучших профессий в сфере технологий в Америке в 2018 году, опубликованный Business Insider. Все эти профессии пользуются спросом и позволяют устроиться на работу в хорошей компании. Надеюсь, моя статья поможет вам определиться с направлением.

Mobile Developer (разработчик мобильных приложений)

Разработчик мобильных приложений
Photo by rawpixel on Unsplash

Чем он занимается?

Эти разработчики создают приложения для компаний. Если вы когда-либо пользовались Android- или iOS-устрйоством, то вы точно взаимодействовали с плодами трудов мобильных разработчиков. Есть и другие платформы для мобильной разработки, например Windows phone. Но по большей части, говоря о мобильной разработке, люди имеют в виду приложения для Android или iOS.

Почему стоит выбирать эту карьеру?

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

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

С чего начать?

Это зависит от того, на чем вы хотите сфокусироваться: на iOS или Android. Лично я бы посоветовал изучать Android. Во-первых, изучать Java, вероятно, полезнее, чем Swift или Objective-C, а во-вторых, на Android приходится 75% мобильных устройств против 21% iOS. (Данные — согласно statcounter.com).

Но если у вас есть личные предпочтения насчет платформы, следует руководствоваться ими.

Если вы выбрали Android, почитайте эту статью. Там подробно изложено, с чего начать. Для iOS – посмотрите это видео на raywenderlich.com. Сайт Рея Вендерлиха это вообще хороший источник по iOS.

Data Scientist (эксперт по данным)

Data Scientist
Photo by Franki Chamaki on Unsplash

Чем он занимается?

Data scientist помогает решать проблемы бизнеса с помощью обработки данных. Что это означает на практике? Разработчик внедряет где-нибудь на сайте или в приложении ведение логов. Данные обрабатываются и в конечном итоге попадают к эксперту по данным. Он их собирает и извлекает из них полезную информацию.

Возьмем для примера e-commerce сайт. Просмотрев полученные данные, data scientist замечает, что только 0,5% людей, добавивших товар в корзину, в итоге совершают покупку. Он выдвигает гипотезу, что это послужило причиной падения доходов в прошлом месяце. Проверив данные трехмесячной давности, data scientist видит, что тогда покупок было больше – 5%.

Data scientist представляет полученную информацию собственникам компании (или соответствующим должностным лицам). Те обнаруживают, что в ходе покупки происходит сбой и именно в нем причина проблемы. А если бы в компании не было эксперта по данным, проблему еще долго не заметили бы.

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

Почему стоит выбирать эту карьеру?

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

С чего начать?

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

Project Manager (менеджер проектов)

Чем он занимается?

Менеджеры проектов делают именно то, что заложено в названии, – занимаются менеджментом проектов. Но что конкретно это означает?

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

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

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

Почему стоит выбирать эту карьеру?

Это занятие подойдет вам, если вы:

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

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

Чтобы быть менеджером проекта, нужно уметь обеспечивать баланс между сроками доставки и качеством продукта.

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

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

С чего начать?

Многие менеджеры проектов в сфере технологий для организации своей работы применяют методологии Agile и Scrum. Я бы начал с получения каких-то сертификатов по Scrum. Детали можно глянуть на сайте Scrum.

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

Другой хороший способ попасть в менеджмент проектов – управлять маленьким open source проектом, в котором задействованы несколько ваших друзей. Практика имеет большое значение, поэтому реальный опыт применения навыков в менеджменте на примере настоящего приложения поможет вам выделиться на фоне других кандидатов.

Также стоит познакомиться с инструментами менеджмента проектов, такими как Trello, Jira, Quip, Excel и пр. Навыки работы с этими инструментами помогут вам в приобретении навыков менеджмента проектов.

Front end engineer (Фронтенд-разработчик)

Фронтенд-разработчик

Чем он занимается?

Фронтенд-разработчики создают пользовательский интерфейс сейтов с помощью HTML, CSS и JavaScript. Они фокусируются на таких важных для сайта вещах как доступность, безопасность, простота использования и производительность. Если вы когда-нибудь логинились на сайте или покупали что-нибудь онлайн, значит, вы взаимодействовали с делом рук фронтенд-разработчиков.

Почему стоит выбирать эту карьеру?

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

Если вам нравится учиться и использовать новые языки и стеки, то фронтенд как раз для вас. Чтобы стать фронтенд-разработчиком, вам обязательно нужно уметь использовать HTML, CSS, JavaScript и SQL. Кроме того, скорее всего вам нужно будет познакомиться и с какими-то бэкенд-фреймворками, например, Django, Ruby on Rails или .Net.

Еще одна причина выбрать этот путь – интерес к проблемам масштабирования. Мобильное приложение обслуживает одного пользователя за раз (потому что и самим девайсом в каждый отдельный момент времени пользуется только один человек). Веб-сайт потенциально может обслуживать миллионы людей одновременно. Создание сайтов и предотвращение появления «узких мест» требует другого подхода в работе.

С чего начать?

Здесь все просто:) Курс на freeCodeCamp. Он поможет вам приобрести все навыки, необходимые фронтенд-разработчику.

DevOps Engineer

DevOps Engineer
 Photo by Drew Beamer on Unsplash

Чем он занимается?

Объяснить эту роль, пожалуй, сложнее всего. Потому что по-прежнему обсуждается, является ли это, собственно, ролью или определенной установкой. Идея сводится к тому, что DevOps engineer совмещает работу разработчика и специалиста по информационно-технологическому обслуживанию (DevOps – акроним от англ. development и operations). Давайте рассмотрим каждую из ролей.

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

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

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

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

Почему стоит выбирать эту карьеру?

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

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

С чего начать?

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

Помимо этого я бы посоветовал почитать статью о том, как попасть в DevOps.

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here