Олег Акбаров: «Я люблю соревноваться». О развитии, open-source-проектах и работе в одном из проектов Кремниевой долины
Олег, вы работали в крупнейших российских компаниях «Сбер» и «Открытие», британском финтехе Revolut, стартапах в Кремниевой долине. Как вы считаете, благодаря чему вы не утратили энтузиазм и добились устойчивого развития?
Мне сложно поверить, что можно добиться успеха в чем-либо без искреннего интереса к этому предмету, и программирование — не исключение. Я всегда хотел в совершенстве владеть инструментами, которыми пользуюсь, и это действительно непростая задача в веб-разработке. Языки программирования, подходы и методологии меняются достаточно быстро и главный навык, в который я инвестирую — это умение быстро учиться. Оно позволяет не только адаптироваться к изменениям в технологическом ландшафте, но и предвидеть будущие тенденции, а также находить решения для сложных задач. Каждая новая роль для меня — это возможность посмотреть на веб-разработку под другим углом.
Над какими интересными open-source-проектами вам удалось поработать?
В 2016 году я только осваивал фреймворк React и был неприятно удивлен тем, как много усилий требуется для того, чтобы собрать каркас работающего приложения. В то время еще не было готовых решений и приходилось самому настраивать webpack, добавлять роутер и библиотеку для работы данным на стороне клиента. Я довольно много экспериментировал и часто мне требовалась отправная точка, чтобы попробовать ту или иную архитектуру. Так я собрал react-redux-starter-kit, который решал именно эту задачу. Особенных амбиций я не имел и, когда выкладывал проект на HackerNews, думал лишь о том, не будут ли меня ругать за плохой стиль написания кода и смеяться над багами.
Удивительным образом проект «взлетел» и собрал больше 1000 звездочек на GitHub, а главное стал прототипом, на основе которого команда React выпустила create-react-app, ставшую стандартом в индустрии. Почти все крупные приложения начинаются сейчас именно с CRA и приятно осознавать, что моя работа вдохновила на нечто подобное.
Сегодня вы занимаете должность старшего фронтенд-разработчика в известном стартапе Perplexity AI. Что это для вас значит?
Главная задача для меня - сделать так, чтобы веб-версия Preplexity была быстрее и эффективнее главной страницы Google. Люди, работающие в индустрии, понимают, насколько это сложно, однако я не вижу ничего невозможного. История знает массу примеров, когда стартапы, не отягощенные многослойным менеджментом, побеждали корпорации, и я рассчитываю, что в этот раз так и получится.
Не кажется вам слишком амбициозной попытка обойти Google в сегменте поиска в Интернете? Насколько это реально?
Я стараюсь не думать об этом в таком ключе. Мы в Perplexity действительно строим поисковый движок, но на этом сходство с Google заканчивается, потому что наша задача - это отвечать на вопросы. Это гораздо более сложная и амбициозная цель, чем выдавать 10 ссылок по ключевому слову.
Если задуматься, то когда мы «ищем» что-то в Интернете, мы на самом деле задаем вопрос: «где купить X?», «сколько стоят билеты в Y?» или «какой счет в сегодняшнем матче?». Уже сейчас у нас неплохо получается отвечать на такие вопросы, и мы будем продолжать совершенствоваться. Важно понимать, что зачастую для того, чтобы определенный сервис появился — недостаточно амбиций и ресурсов, иногда требуется, чтобы технологии «созрели». В данный момент большие языковые модели LLM — это тот самый передний край инноваций, который поменяет наше представление и не только о поиске в Интернете, но и о многом другом.
Олег, вы ставите перед собой серьезные цели. Откуда вы черпаете вдохновение для работы?
Я люблю соревноваться. Мне нравится атмосфера, в которой для победы требуется приложить все усилия и, возможно, научиться чему-то новому в процессе. Я не боюсь неудач, потому что на моем рабочем пути их было так много, что не представляется возможным сосчитать. К примеру, я участвовал в огромном количестве хакатонов и конкурсов (некоторые даже судил, но это другая история) и в большинстве из них я не попадал в призы, кроме того я провалил десятки собеседований, в том числе и в крупные компании, работать в которых - мечта многих. Эти неудачи никогда меня не останавливали, а наоборот — придавали сил и энергии. Я знал, что если не получилось в этот раз, то в следующий раз надо быть лучше готовым, добавить в свой рабочий арсенал новые инструменты и теоретические знания.
Что для вас самое главное в рабочих процессах? На чем посоветуете коллегам держать фокус?
Учиться придется всю жизнь, и я очень советую никогда не останавливаться. Чтобы не отделаться общими фразами я дам очень конкретный совет — осваивайте Vim, если еще не пользуетесь им. Vim — это текстовый редактор с продвинутой системой горячих клавиш и огромной системой расширений. Поскольку рабочий процесс программиста это в том числе и написание кода, то время которое тратится на навигацию по проекту и непосредственно ввод кода должен быть доведен до скорости мысли. Именно для этого и нужны инструменты вроде Vim — они позволяют сосредоточится на мыслительной, а не механической работе. Если программист — самурай, то его текстовый редактор — это катана.
Опубликовано 17.09.2023