Posted 19 апреля 2022, 07:43

Published 19 апреля 2022, 07:43

Modified 1 февраля, 18:02

Updated 1 февраля, 18:02

«Программированию может обучиться каждый»

19 апреля 2022, 07:43
Человеческий капитал — это самое главное, убежден IT-эксперт Рушан Ахмедов. И чем больше у специалиста опыта, тем выше на него спрос.

В России объявлены беспрецедентные меры поддержки для IT-специалистов. Кроме нашумевших отсрочки от армии и льготной ипотеки, это миллиардные гранты и налоговые льготы. На улицах городов и в метро сегодня можно увидеть сотни объявлений с призывом получить модную «цифровую» профессию. Стоит ли прислушаться к этой рекламе?

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

— Рушан, наверняка вы видите тенденцию: в IT зазывают так, как никогда не звали в медицину или даже армию. С чем это связано?

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

— Давайте уточним, IT и программирование — синонимы?

— И нет, и да. Скажу так: все программисты — айтишники, но не все айтишники — программисты. IT ведь очень большое и объемное понятие. Помимо разработчиков, есть еще дизайнеры, аналитики, тестировщики, девопс и многое другое. IT-сфера довольно разнородна, и найти себя в ней могут многие.

— Сейчас повсюду реклама — «научись программировать, получи профессию в IT». Этому и правда может обучиться любой желающий?

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

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

Такой случай вспоминается — после запуска киберспортивной площадки мы неожиданно «упали» от слишком большого трафика, он раз в 5-7 превышал ожидаемые нами пики. Нужно было починить это очень быстро, иначе — репутационные потери, финансовые и прочее. Я тогда сам, один занимался быстрым восстановлением сервиса и масштабированием — думаю, теперь мне ничего не страшно.

— То есть профильное высшее образование получать необязательно?

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

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

— Если не о дипломе, то о чем же тогда спрашивают?

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

— А что вы показываете на собеседованиях?

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

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

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

— Что является признаком успеха в IT? Какие у вас есть награды, звания, достижения?

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

Что касается наград — мне кажется, это не совсем про нашу сферу. В индустрии кино это актуально — «Оскар» там, заслуженный артист… Я плохо себе представляю значок заслуженного программиста, скажу честно. И того, кто его может получить, тоже.

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

— Кстати, о команде. Как организовать работу программистов над одним проектом?

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

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

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

Так вот, далее для организации работы нужно понять, какая цель стоит, какие процессы в компании нужно учесть и какими средствами мы будет это решать. Написать, или изучить, или даже исправить текущие регламенты, например, codestyle, и другие требования к коду, такие как покрытие тестами, комментирование кода, требования к библиотекам, требования к нагрузке и прочие. Внедрить CI/CD — это автоматизация сборки и доставки приложения на сервера (не нужно это делать руками, тратя драгоценное время разработчиков!) Наладить и регламентировать процесс ревью — это изучение кода перед сдачей задачи другим разработчиком, описать требования, как и что смотрим, на что обращаем внимание. Выбрать методологию, по которой будет вестись разработка, — пока самой эффективной в большинстве случаев выглядит agile. И так далее. Масса нюансов и тонкостей — в зависимости от проекта, команды, требований и многого другого.

— Есть ли лайфхак по быстрому карьерному росту и заработку в IT?

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

— Что бы вы выбрали: работать в стартапе или компании из списка Forbes?

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

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

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

— На ваш взгляд, какова сегодня социальная роль программиста в обществе?

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

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

И самое главное — это человеческий капитал. Были собраны команды, люди из которых, я надеюсь, принесут культуру разработки и построения процессов в свои новые проекты. Из многих стажеров или «джунов» удалось вырастить крутых специалистов — это, я считаю, отличный результат!

Беседовала Дарья Истомина

Подпишитесь