Boom metrics
Общество23 декабря 2021 12:00

10 глупых вопросов программисту от гуманитария

IT-специальности уже больше 10 лет не выходят из списка самых востребованных и высокооплачиваемых профессий в мире
Иван ДМИТРИЕВ
Рушан Ахмедов

Рушан Ахмедов

Пандемия только подогрела интерес общества к профессиям, связанным с информационными технологиями: ведь именно айтишники не только не потеряли работу в этот период, но и знатно заработали. Привлекают эти профессии и тем, что для карьеры в этой сфере не нужны ни связи, ни дипломы топовых ВУЗов, ни даже проживание в столице. Успех приходит лишь к тем, кто любит узнать новое, умеет трудиться и добиваться своих целей. Яркий тому пример – Рушан Ахмедов, талантливый программист и автор множества уникальный в России проектов, от биржевых площадок для крупнейших российских банков, до специализированного сервиса для работников киноиндустрии «Dirbook». И сегодня Рушан ответит на 10 наших вопросов, которые, возможно, покажутся ему странными или глупыми. Что поделать, гуманитарии и технари всегда жили в разных мирах.

- Рушан, давай сразу расставим все точки над i. Cколько нужно времени, чтобы научиться программировать?

- Научиться программировать - довольно абстрактная формулировка. Это как спросить, сколько нужно времени, чтобы выучить иностранный язык. Чтобы выучить синтаксис, какие-то основные правила, обычно много времени не нужно, а вот научиться действительно говорить и понимать – это уже задача совсем другого порядка. Так и здесь. Не зря же у нас тоже употребляется слово «язык» - язык программирования. Чтобы не просто хвастаться «смотри, я могу написать код», а действительно создавать хорошие, поддерживаемые и расширяемые решения – нужно приложить усилия. Еще немало времени уйдет на освоение прочего окружения, всяких инструментов, плагинов, фреймворков и прочего. Но учесть все это, то, наверное, 6-12 месяцев полного погружения, на несколько часов в день, с полного нуля, должно быть достаточно, чтобы найти первую работу. Я сам шел другим путем, начал кодить потихоньку еще в школе, это было скорее хобби, у меня не было конкретной цели. В таком расслабленном темпе, да еще при условии полного самообучения, понадобится несколько лет. Уже по окончанию школы и реализации своего первого проекта – это были сайты для школ, я начал выбирать такую работу и такие проекты, где можно было чему то научиться. И могу сказать, что я очень многому учился у своих коллег, у авторов статей, которые читал, чтобы вникнуть в новую задачу, спикеров на конференциях, ведущих обучающих видео. Важно не бояться брать на себя сложные задачи - в них обучение происходит наиболее интенсивно. Помню, один из наших проектов (я пришел уже на готовый) был взломан, и я занимался расследованием, кто и откуда проник. Обычно это самая сложная задача, и ранее я таким не занимался. Но зато после этого опыта мне многое стало понятно, и я мог решать уже гораздо более сложные задачи. Я позже даже дипломную работу написал на тему "Система идентификации пользователей на основе анализа поведенческих факторов", и мы использовали эти наработки впоследствии при работе с киберспортивной площадкой, например, где взломщики и читеры - обычное дело, но нам они уже не могли доставить проблем. IT – вообще сфера, где постоянно нужно учиться чему-то новому. Если не готов все время учиться и узнавать новое – наверное, лучше и не начинать.

- Как отличить хорошего программиста от плохого, если ты сам не умеешь программировать?

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

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

- Почему программирование считается уделом молодых? Во сколько программисту пора уходить в другую область, и куда обычно уходят?

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

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

- Русских хакеров и правда все боятся? Насколько программисты из России востребованы в мире?

- Да, боятся. Но это не потому что они из России, а потому, что они хакеры. Чаще всего эти люди наносят ущерб, крадут базы данных, деньги, выводят системы из строя, в том числе это могут быть и системы обеспечения жизнедеятельности, либо потенциально опасные объекты вроде АЭС и так далее. Это если говорить про так называемых «черных» хакеров, есть еще «белые», которые находят уязвимости и сообщают о них, но мне кажется это редкость, потому что в большинстве стран эта деятельность подпадает под уголовную ответственность.

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

- Чем программисты хвастаются друг перед другом?

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

- Тогда, поделись своими кейсами. Какие приходят первые на ум?

- Ох, перед глазами сразу побежали единички и нолики (улыбается). Помню, для posobie.info мы делали свою внутреннюю систему учета и логистики, куда нужно было интегрировать кучу разных сервисов, баз данных, маршрутов. Там же была интеграция с ЛПУ, то есть, в этой системе могли работать врачи, с логистической системой, которой пользовались курьеры и менеджеры, и так далее. Очень масштабный проект, уникальный в своем роде, но мы справились.

Для площадки «Фабрикант» тоже реализовали очень много решений, от распила монолита до написания новой интеграционный шины данных для связи сервисов.

Одним из интересных кейсов является сервис для интеграции с единой информационной системы для госзакупок, до нас сервис работал уже несколько лет, но особо не развивался, а с момента как мы взялись за него, он значительно вырос, кажется объем данных за полгода вырос почти в 20 раз. А это, как вы понимаете, отразилось на многих областях деятельности бизнеса, бюджетных процессов в стране.

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

- Отлично, что ты вспомнил нейросети. Давай такой вопрос: искусственный интеллект победит хомо сапиенс?

- Возможно, когда-то, в очень далеком будущем…в ближайшее время, думаю, такого не произойдет. Наше развитие в этой области пока еще очень далеко от того, чтобы заменить человека. Это только со стороны кажется, что машины скоро нас победят. А ты сидишь, неделями пишешь программу, делаешь одну ошибку – и все, перед тобой просто груда металла. Этот Искусственный Интеллект, которого все так боятся, тоже должен кто-то написать, а потом, его нужно поддерживать, обновлять, исправлять баги, и так далее. Сам он далеко не уедет, поскольку ограничен программой, которую пишет человек и только человек. Работы у айтишников будет много в любом случае.

- Для тех, кого мы, возможно, вдохновили, давай рецепт: с чего начать программировать в 2022 году?

- Думаю, начать нужно с выбора сферы: веб, программирование микроконтроллеров или какая-то другая сфера. Далее, если это веб, например, то определиться что больше нравится, фронтенд или бэкенд, если фронтенд, то вперед учить javascript и фреймворки для разработки фронтенда, если бэкенд, то тут уже выбор побольше, тот же самый javascript, python, php, go, java и многое другое. Параллельно этому, очень желательно освоить базу по алгоритмам. Все это можно делать как в университете, так и самостоятельно. Я живой тому пример. У меня есть высшее образование, но я его получил, уже будучи востребованным специалистом, просто «для галочки». Основное обучение шло не в стенах ВУЗа, а дома или в офисе, за компьютером. Так что, точно могу сказать: возможно все. Я проверял.