Как устроиться на работу в NVIDIA: опыт Мухридина Ибрагимова
Старший инженер-программист работает в корейском офисе NVIDIA над инструментами для 3D-визуализации и подготовки данных для автономного транспорта. В нашем интервью он поделился опытом переезда в Южную Корею, рассказал о процессе найма, работе в международной команде и дал советы тем, кто мечтает попасть в крупную технологическую компанию.
Мухридин Ибрагимов, город — Сеул, Senior Software Engineer, Instagram Senior Software Engineer, Instagram, LinkedIn
О себе
Я Senior Software Engineer, специализируюсь на 3D-визуализации и разработке инструментов для обработки больших объемов данных, используемых в автономном транспорте, включая беспилотные автомобили.
В настоящее время я работаю в NVIDIA Korea в автомобильном подразделении, в команде MapGen Generate. К компании я присоединился в 2021 году и работаю здесь уже около пяти лет.
Как попасть в NVIDIA
В NVIDIA я попал благодаря вакансии, которую увидел на LinkedIn в 2021 году. Это была позиция Full Stack Software Engineer, связанная с 3D-визуализацией, что идеально соответствовало моему опыту. Я подал заявку напрямую, а спустя несколько месяцев со мной связался рекрутер, чтобы начать процесс собеседований.
Процесс найма был непростым, но хорошо организованным. Из-за пандемии COVID-19 все этапы проходили онлайн.
Сначала было два отдельных технических интервью, каждое в свой день и продолжительностью около часа. Несмотря на название «телефонное интервью», это были полноценные технические собеседования. Половину времени мы обсуждали мой предыдущий опыт, проекты, участие в open source и другие технические темы, а вторую половину я в режиме онлайн решал задачи по программированию.
Затем последовал этап onsite, который включал три отдельных технических интервью. На них проверяли знания по проектированию систем, умение решать сложные алгоритмические задачи, а также задавали специализированные вопросы по работе с данными LiDAR и 3D-камер.

Финальным этапом стало интервью с HR, где оценивали, насколько я подхожу компании с точки зрения корпоративной культуры, а также обсуждали ожидания от будущей работы.
В общей сложности я прошел шесть собеседований: два технических интервью, три технических интервью на этапе onsite и одно интервью с HR.
Советы для тех, кто хочет работать в международной компании
Я всегда советую изучать, как технологии работают изнутри. В крупных компаниях быстро замечают, когда знания человека поверхностные. Важно не просто научиться пользоваться библиотекой, а понимать, как она управляет памятью, как обрабатывает данные и что происходит за кулисами.
Также важно уметь объяснять свой ход мыслей. Особенно во время собеседований не стоит сразу начинать писать код. Сначала нужно обсудить с интервьюером свой подход, объяснить план решения, уточнить возможные пограничные случаи и рассказать, почему вы выбираете именно этот способ. И только после этого приступать к написанию кода.
Еще один важный совет — быть последовательным в подготовке. К собеседованиям в компании уровня NVIDIA невозможно подготовиться за две недели или даже за месяц. Это требует долгой ежедневной практики: решения алгоритмических задач, изучения структур данных, работы над проектами и участия в open source.
Еще до подачи заявки в крупные компании нужно постоянно развивать свои навыки. Даже 30 минут в день, посвященные решению задач, алгоритмам или структурам данных, уже дают результат.
Участие в open source тоже полезно. Работая над открытыми проектами, можно взаимодействовать с сильными специалистами со всего мира, изучать их код и подходы. Когда вы предлагаете решение или исправляете ошибку, другие разработчики могут дать обратную связь, и это помогает расти профессионально.
Если вы уже работаете в какой-либо компании, важно понимать не только свою непосредственную задачу, но и то, как ваша часть проекта связана с другими командами и процессами. Нужно иметь общее понимание архитектуры проекта, знать, какие проблемы были решены, почему были выбраны определенные решения и какие улучшения можно было бы внести.
На собеседованиях часто спрашивают о том, какие проблемы вы решали в прошлом и почему выбрали именно такой подход. Поэтому важно уметь объяснить каждое техническое решение и причины, которые стояли за ним.

Особенности работы
На данный момент я работаю в команде MapGen, которая входит в платформу NVIDIA DRIVE для автономных автомобилей. Мы разрабатываем инструменты для 3D-аннотации и визуализации, которые помогают анализировать большие объемы данных с датчиков и готовить их для обучения моделей искусственного интеллекта. Раньше этот процесс назывался ground truth, а теперь является частью платформы MapGen Generator.
В работе мы используем веб-технологии, что упрощает совместную работу и отладку. На фронтенде я использую Three.js, WebGL и TypeScript для создания 3D-интерфейсов, а на стороне инфраструктуры применяются C++, Python, Go и Kubernetes для обработки данных и управления GPU-кластерами. В основном моя работа связана с фронтенд-разработкой и 3D-визуализацией.
Одна из главных сложностей — производительность браузера. Мы работаем с огромными объемами данных LiDAR и изображениями с нескольких камер автомобиля, поэтому необходимо оптимизировать их обработку так, чтобы браузер мог плавно отображать миллионы объектов без зависаний.
Для такой работы важно хорошо разбираться в математике, компьютерной графике, трехмерном пространстве и проектировании систем. Не менее важно понимать потребности внутренних пользователей — исследователей в области машинного обучения, чтобы создавать удобные инструменты.
NVIDIA активно поддерживает развитие сотрудников. Компания предоставляет бесплатный доступ к внутренним курсам и ежегодный бюджет около $3000–4000 на обучение. Кроме того, работа рядом с инженерами мирового уровня позволяет каждый день перенимать опыт и расти профессионально.
Мне нравится работать в международной команде. Здесь собраны сильные специалисты со всего мира, а хорошие идеи ценятся больше, чем должность или стаж. Если возникает сложная задача, коллеги из других офисов могут помочь найти решение. Единственный минус — разница в часовых поясах, поэтому важно писать понятную документацию, чтобы команда могла эффективно работать асинхронно.
Самые запоминающиеся моменты — когда мой код помогает другим командам. Например, после оптимизации одного из конвейеров обработки данных специалисты по компьютерному зрению смогли быстрее обучать и проверять свои модели. Особенно приятно понимать, что в конечном итоге это делает технологии автономного вождения безопаснее.

О жизни заграницей
Я приехал в Южную Корею 13 лет назад, чтобы получить степень магистра в Kookmin University. Два года я учился в магистратуре, затем почти шесть лет работал в местном стартапе. После этого, около пяти лет назад, перешел в NVIDIA.
Если вы студент или только начинаете карьеру, то учеба за границей — отличный вариант. Она дает время выучить язык, понять местную культуру и завести полезные знакомства. Но если вы уже опытный senior-инженер, то можно сразу устраиваться на работу из-за рубежа. В таком случае компания обычно берет на себя оформление визы, релокацию и другие организационные вопросы.
Я никогда не работал в своей родной стране — карьеру я начал уже в Корее. Но мне кажется, что традиционные компании и в Узбекистане, и в Корее достаточно иерархичны: возраст и стаж имеют большое значение.
В NVIDIA все иначе. Здесь плоская корпоративная структура в стиле Кремниевой долины. Неважно, сколько вам лет и какая у вас должность. Если ваши данные и аргументы убедительны, вас будут слушать. Здесь много свободы, но при этом и высокие ожидания. Думаю, это главное отличие.
Самая большая сложность — это язык. Поэтому я советую хотя бы на базовом уровне выучить язык той страны, куда вы переезжаете. Не обязательно владеть им идеально, но даже если в вашей компании все общаются на английском, знание местного языка сильно облегчает повседневную жизнь, помогает заводить друзей и выстраивать отношения с коллегами. В Корее это особенно заметно.
Еще один важный навык — умение ясно излагать мысли письменно. В международных командах письменная коммуникация — основной инструмент работы. Важно уметь четко писать отчеты, обновления и объяснения, чтобы коллеги из разных стран могли понять вашу работу без необходимости проводить постоянные онлайн-встречи. Из-за разницы во времени это не всегда возможно.
И, наконец, стоит быть терпеливее к самому себе. Переезд в новую страну и начало работы в крупной технологической компании — это всегда стресс. Нужно дать себе время адаптироваться к новой среде и постепенно привыкнуть к изменениям.
