How to get a job at NVIDIA: Mukhriddin Ibragimov's experience
A senior software engineer works at NVIDIA's Korean office on tools for 3D visualization and data preparation for autonomous vehicles. In our interview, he shared his experience of moving to South Korea, discussed the hiring process, working in an international team, and offered advice to those who dream of joining a major technology company.
Mukhriddin Ibragimov, City — Seoul, Senior Software Engineer, Instagram Senior Software Engineer, Instagram, LinkedIn
About Me
I am a Senior Software Engineer specializing in 3D visualization and developing tools for processing large volumes of data used in autonomous vehicles, including self-driving cars.
Currently, I work at NVIDIA Korea in the automotive division, within the MapGen Generate team. I joined the company in 2021 and have been working here for about five years.
How I Joined NVIDIA
I joined NVIDIA after seeing a job posting on LinkedIn in 2021. It was a Full Stack Software Engineer position related to 3D visualization, which perfectly matched my experience. I applied directly, and a few months later, a recruiter contacted me to start the interview process.
The hiring process was challenging but well-organized. Due to the COVID-19 pandemic, all stages took place online.
First, there were two separate technical interviews, each on a different day and lasting about an hour. Despite the name "phone interview," these were full-fledged technical interviews. Half of the time was spent discussing my previous experience, projects, open-source contributions, and other technical topics, while the other half involved solving programming problems online.
Then came the onsite stage, which included three separate technical interviews. These assessed my knowledge of system design, ability to solve complex algorithmic problems, and specialized questions regarding LiDAR data and 3D cameras.

The final stage was an interview with HR, where they evaluated how well I fit the company culture and discussed expectations for future work.
In total, I went through six interviews: two technical interviews, three technical interviews during the onsite stage, and one HR interview.
Tips for Those Who Want to Work in an International Company
I always advise studying how technologies work from the inside out. Large companies quickly notice when someone's knowledge is superficial. It is important not just to learn how to use a library, but to understand how it manages memory, processes data, and what happens behind the scenes.
It is also important to be able to explain your thought process. Especially during interviews, do not start writing code immediately. First, discuss your approach with the interviewer, explain your solution plan, clarify possible edge cases, and describe why you chose this particular method. Only then should you proceed to write the code.
Another important piece of advice is to be consistent in your preparation. It is impossible to prepare for interviews at a company like NVIDIA in two weeks or even a month. This requires long-term daily practice: solving algorithmic problems, studying data structures, working on projects, and participating in open source.
You should constantly develop your skills even before applying to large companies. Even 30 minutes a day dedicated to solving problems, algorithms, or data structures can yield results.
Participating in open source is also beneficial. By working on open projects, you can interact with strong specialists from around the world, study their code and approaches. When you propose a solution or fix a bug, other developers can provide feedback, which helps you grow professionally.
If you are already working at a company, it is important to understand not only your immediate task but also how your part of the project connects with other teams and processes. You need to have a general understanding of the project architecture, know what problems have been solved, why certain decisions were made, and what improvements could be made.
Interviews often ask about the problems you have solved in the past and why you chose a particular approach. Therefore, it is important to be able to explain every technical decision and the reasons behind it.

Work Features
Currently, I work in the MapGen team, which is part of the NVIDIA DRIVE platform for autonomous vehicles. We develop tools for 3D annotation and visualization that help analyze large volumes of sensor data and prepare it for training artificial intelligence models. Previously, this process was called ground truth, but now it is part of the MapGen Generator platform.
In our work, we use web technologies, which simplifies collaboration and debugging. On the frontend, I use Three.js, WebGL, and TypeScript to create 3D interfaces, while on the infrastructure side, C++, Python, Go, and Kubernetes are used for data processing and managing GPU clusters. My work is primarily related to frontend development and 3D visualization.
One of the main challenges is browser performance. We work with huge volumes of LiDAR data and images from multiple car cameras, so it is necessary to optimize their processing so that the browser can smoothly display millions of objects without lagging.
For such work, it is important to have a good understanding of mathematics, computer graphics, three-dimensional space, and system design. It is equally important to understand the needs of internal users—machine learning researchers—to create convenient tools.
NVIDIA actively supports employee development. The company provides free access to internal courses and an annual budget of about $3000–4000 for training. Additionally, working alongside world-class engineers allows you to learn from their experience and grow professionally every day.
I enjoy working in an international team. It brings together strong specialists from all over the world, where good ideas are valued more than job title or seniority. If a difficult task arises, colleagues from other offices can help find a solution. The only downside is the time zone difference, so it is important to write clear documentation so the team can work effectively asynchronously.
The most memorable moments are when my code helps other teams. For example, after optimizing one of the data processing pipelines, computer vision specialists were able to train and test their models faster. It is especially pleasant to realize that ultimately this makes autonomous driving technology safer.

Life Abroad
I came to South Korea 13 years ago to obtain a master's degree at Kookmin University. I studied in the master's program for two years, then worked at a local startup for nearly six years. After that, about five years ago, I joined NVIDIA.
If you are a student or just starting your career, studying abroad is an excellent option. It gives you time to learn the language, understand the local culture, and make useful connections. However, if you are already an experienced senior engineer, you can apply for jobs directly from abroad. In such cases, the company usually handles visa processing, relocation, and other organizational matters.
I have never worked in my home country—I started my career in Korea. But it seems to me that traditional companies in both Uzbekistan and Korea are quite hierarchical: age and seniority matter a lot.
At NVIDIA, everything is different. Here, there is a flat corporate structure in the Silicon Valley style. It does not matter how old you are or what your job title is. If your data and arguments are convincing, you will be heard. There is a lot of freedom here, but also high expectations. I think this is the main difference.
The biggest challenge is the language. Therefore, I advise learning at least the basics of the language of the country you are moving to. It is not necessary to master it perfectly, but even if everyone in your company communicates in English, knowing the local language greatly simplifies everyday life, helps make friends, and build relationships with colleagues. This is especially noticeable in Korea.
Another important skill is the ability to clearly express thoughts in writing. In international teams, written communication is the main work tool. It is important to be able to write clear reports, updates, and explanations so that colleagues from different countries can understand your work without the need for constant online meetings. Due to time zone differences, this is not always possible.
Finally, be more patient with yourself. Moving to a new country and starting work at a large technology company is always stressful. You need to give yourself time to adapt to the new environment and gradually get used to the changes.
The Tech on Telegram Follow The Tech on Telegram
Keep up with the latest technology and startup news.