13 сентября 2022, 11:15
Статья

Почему программисты много зарабатывают? Что такого они умеют? Как этому научиться?

ТАСС — о том, почему и вам неплохо бы уметь кодить, даже если вы не собираетесь работать в IT-индустрии
EPA-EFE/ CRISTOBAL HERRERA-ULASHKEVICH

Рядовые программисты нередко зарабатывают больше 100 тыс. рублей в месяц. Лучшие — в два-три раза больше, при этом за ними бегают рекрутеры. Вдобавок, они получают кучу "плюшек" — от бесплатных обедов и расширенной медстраховки до новой техники Apple и корпоративной няни для детей. Кажется, хорошо быть программистом. А как им стать? Где учиться? Объясняем, что нужно уметь, чтобы работодатели вас "хантили" и баловали.

Какие программисты нужны?

С января по сентябрь число вакансий для программистов и разработчиков в целом по стране увеличилось на 9% по сравнению с аналогичным периодом прошлого года. Примечательно, что эта динамика значительно спокойнее, чем в 2021 году, когда число предложений о работе для в рамках этой специализации в ИТ увеличилось на +58% относительно предыдущего, 2020 года.

Глядя на этот рейтинг, уже можно понять, какие навыки требуются работодателям. В первую очередь нужно овладеть актуальными языками программирования. Сегодня топ — это Python, С# и C++, Java, PHP, судя по данным hh.ru. Согласно ежегодному глобальному опросу IT-специалистов Stack Overflow, эти языки входят в десятку популярных. А в первой тройке — JavaScript, HTML и SQL. Python на четвертом месте, но в последние пару лет он движется вверх быстрее других. 

Как учиться?

Важно правильно выбрать направление и навыки для изучения. 10–15 лет назад студентов вузов еще заставляли учить языки Pascal и Delphi, а сегодня ими никто не пользуется. И некоторые языки, которым учили пять-шесть лет назад, утратили актуальность.

"В 2013 году я заканчивал университет, и нам не давали Python, о нем только поговаривали как о перспективном языке, — рассказывает Евгений Соколов, академический руководитель программы "Прикладная математика и информатика" ВШЭ. — На первой работе я использовал R для работы с данными. Сейчас он не так широко используется, а Python очень популярен. Это первый язык программирования, которому мы учим многих студентов. Выучить его проще, чем многие другие, в интернете много материалов, под него есть большое количество библиотек для прикладных задач. Библиотека — это набор уже готовых методов, можно с ее помощью решить стандартную задачу, а не программировать решение с нуля".

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

"В бизнесе, промышленности, науке, медицине много отраслей, которые пока слабо "оцифрованы", — говорит Соколов. — Вот историку нужно найти и посчитать все упоминания персоны за последние 100 лет в различных источниках. И случается, что это делается вручную. На Python можно за полчаса-час написать программу, которая позволит найти нужное. Сейчас в цифровом виде появляется много данных в области медицины (например, снимки МРТ) и естественных наук. Это те сферы, в которых все еще много бумаг. Врач знает, как ставить диагноз, но не понимает, как данные хранятся, как составить алгоритм для поиска проблем на снимках, для этого ему нужен дата-сайентист".

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

"Сейчас на IT-специальности огромный конкурс, наверное, как на юрфак в нулевых, — говорит Евгений Соколов. — У нас очень высокий проходной балл, мы стабильно из года в год набираем много олимпиадников. Студенты ВШЭ, специализирующиеся на информационных технологиях, учат второй обязательный язык — это зачастую С++. Есть возможность изучать и другие языки, например в рамках курсов по выбору, — многие выбирают Java, есть C#".

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

И чему учиться дополнительно?

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

"Работодатели ожидают, что IT-специалист имеет опыт работы в командах с использованием программ Jira и Confluence (это таск-менеджеры, в которых сотрудники общаются и выполняют задачи по проекту — прим. ТАСС)", — перечисляет Мария Игнатова, руководитель службы исследований компании HeadHunter.

Хороший профи знаком с различными новыми способами организации работы — Scrum, Agile, Kanban, Waterfall. Это методики, которые программисты придумывают, чтобы работать еще быстрее (иногда экстремально быстро) и лучше. Далеко не во всех сферах изобретается столько методов для повышения экономической продуктивности. Вот и одна из причин, почему программистам так хорошо платят. Впрочем, главным образом не поэтому, а потому что их не хватает. 

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

Что надо уметь, чтобы работать во "ВКонтакте"?

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

Он дает несколько общих правил.

  • Если вас привлекает Frontend-разработка, то вам точно понадобится Javascript.
  • Привлекает финансовый сектор? Java, Scala, возможно, C#.
  • Мобильная разработка? Отличный выбор, это очень востребованные специалисты: iOS-приложения сейчас разрабатывают на Swift, а Android-приложения — на Java и активно набирающем популярность языке Kotlin. Кстати, его разработали в Петербурге специалисты компании JetBrains и назвали в честь одного из островов Финского залива.
  • Хотите стать системным программистом, писать библиотеки для работы на низкоуровневом языке программирования или высокопроизводительные инструменты? Тогда C и C++. 
  • И если вас привлекает машинное обучение — изучайте Python.

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

"Чат-боты — это хороший старт для студента, возможность плавно войти в программирование и решить, что делать дальше, — говорит Таратухин. — Еще простое направление — веб-разработка. Всем нужны сайты, специалистов не хватает. Но не всем понравится разбираться с разнообразием браузеров, с их индивидуальными багами. Хотя сейчас, конечно, унификации в этом направлении стало больше".

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

Информационная безопасность — это специфическая область, но если вам нравится искать уязвимости в ПО, то почему бы и нет, рассуждает он. "Чтобы защитить продукт, сначала нужно научиться его взламывать. Если вы еще не слышали о программе HackerOne (hackerone.com), рекомендую с ней познакомиться. Это прекрасная возможность поработать белым хакером — тем специалистом, который сообщает бизнесу о найденных уязвимостях в ПО и получает за это вознаграждение".

Зачем программисту выступать перед публикой? 

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

"Надо побороть боязнь чистого листа, научиться задавать вопросы и представлять результаты своей работы, — говорит Илья Таратухин. — Знаете хорошие курсы по публичным выступлениям? Это точно может пригодиться в работе. В то же время нужно и системное мышление — в работе постоянно приходится задумываться о том, как устроена та или иная часть программы, написанная коллегами, как работают инструменты".

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

… и чем увлекаться, чтобы влиться в тусовку?

Насколько айтишники помешаны на гик-культуре? Сложно ли освоиться среди них "обычному человеку"? Судя по опыту "ВКонтакте", кроме гаджетов, комиксов, видеоигр, с ними можно обсудить много чего еще. 

"Хобби сотрудников технологических компаний не слишком отличаются от увлечений работников из других сфер, — говорит Таратухин. — Кто-то любит кататься на горных лыжах и сноуборде, кто-то занимается дайвингом, для других нет ничего лучше выезда на рыбалку. Возможно, из-за более высоких зарплат в IT-сфере чуть больше путешественников среди рядовых сотрудников. Также здесь больше гиков, а значит, есть с кем обсудить последние фильмы Marvel, новинки игровой индустрии или как собрать 3D-принтер. Но это не исключает того, что ваш коллега поморщится при очередном обсуждении "Игры престолов" на кухне и поскорее пойдет на рабочее место".

Во "ВКонтакте" есть внутренние чаты для различных внерабочих активностей. "Прогулки на велосипедах, совместные походы в караоке и на скалодром, яхтенные тренировки, чат про видеоигры, горнолыжные выезды, — рассказывает Илья Таратухин. — Среди коллег есть марафонцы и даже участники Ironman".

Анастасия Степанова