Osman, who is a UofT 2023 CS alumni, is now a systems software engineer at NVIDIA. He is a project lead for 2 projects: a networking HW diagnostic tool, and one for fault injection.

Tips for landing a job in big tech

Osman proposes the following goal pipeline:

  • step 0: asking hard questions
  • step 1: landing interview
  • step 2: getting a job offer

The step 1 and step 2 goals are the “regular” way about going about finding jobs. Step 1 involves crafting resumes, networking, attending career fairs, and applying broadly. Step 2 involves practicing leetcode and studying system design (if applying to systems jobs, for example). His step 0 is meant to avoid a common pitfall of not being able to receive interviews in the first place.

Hard questions being ones that are not immediately answerable (e.g., on Stackoverflow) and go beyond your coursework. One example is “What is a GPU Driver?” vs. “How do user applications use GPU drivers to talk to the GPU?” with the former being easier to answer. Big tech hires for the depth of knowledge more than breadth, so questions that are harder to answer help you develop that expertise.

Projects

Projects outside of coursework is a good way to dig deep into those harder questions and gain practical knowledge about a topic. You can start with a big question (e.g., “what is a GPU driver”) and work your way down (“how do user applications use GPU drivers to talk to the GPU?”) to something that you want to implement to test out.

Some of the projects Osman specifically developed while in his undergrad included compiling Linux source code and a system call, writing his own kernel and bootloader, and trying to write a CUDA multiplication kernel that matches cuBLAS. It doesn’t have to have perfect results either – Osman onlyk achieved 37% in the latter project, but he gained key expertise while working on it.

Learning Tools

Knowing the breadth of what your developer tools can do can really improve your workflow. For example, GDB can help detect and resolve segmentation faults, not just by setting breakpoints and stepping through your code, but also by using the backtrace command.

Some key tools that you should familiarize yourself with for C and general SWE jobs include:

  • GDB
  • performance profiling
  • Git
  • bash
  • your IDEs of choice; go through the list of most famous 60 plugins and learn to use them and your IDE shortcuts
  • Tmux

A good time to look for a new tool is when you have a process you repeat over and over again, or when that process is not practical when the scale of the problem increases. Consider the GDB manually stepping through breakpoints example; you repeat the stepping action over and over again, and it becomes more cumbersome and impractical the greater your codebase gets.

One functionality of the tool is probably far from enough. Usually there is a help flag that you can use to explore all of its capabilities. And, of course, if you cannot find the right tool, then create one for yourself and share it so everyone can benefit.

Starting your journey in the tech industry can be overwhelming. There’s a ton of information to process—codebases, products, bugs, company structures, and people. How do you stay organized? How do you build meaningful relationships? And what should you focus on when searching for internships and jobs? This section covers key insights from industry professionals on navigating the workspace effectively.


The Art of Note-Taking

The Challenges:

When you enter a company, you’ll quickly realize that there’s too much information to keep in your head. Documentation exists, but it’s often:

  • Out of sync – Not updated frequently enough to be useful.
  • Hard to navigate – Finding the right page or file can be a challenge.
  • Stored in people’s heads – Some of the most valuable insights are undocumented and only known by experienced employees.

How to Take Better Notes:

  • Just start taking notes! “You will not have time to organize your thoughts in the beginning, so write everything down.”
  • Make it searchable. Notes should be structured so you can easily look up information when you need it.
  • Go digital. “My peer, who has been working for just one year, already has 46,000 lines of notes.” Handwritten notes, while nostalgic, are difficult to search through effectively.

By keeping well-structured notes, you’ll be able to recall information quickly, stay productive, and avoid asking the same questions repeatedly.


Building Meaningful Relationships

Your ability to communicate effectively and build relationships can make or break your success in the workplace.

The Wrong Approach:

Many newcomers make the mistake of asking superficial questions like, “What do you do? What team are you on?” without introducing themselves properly. This can make interactions feel transactional and impersonal.

The Right Approach:

  • Start with an introduction. “Hi, I’m [your name], and I work in [your team] under [your manager]. What team are you on? What products do you work on?”
  • Engage with curiosity. Show genuine interest in what they do and how their work connects with yours.

By taking the time to build relationships, you’ll create a strong network of colleagues who can support and guide you throughout your career.


Exploring Opportunities at NVIDIA

If you’re looking for an internship or full-time position at NVIDIA, there are many opportunities available in:

  • Hardware & Architecture
  • System Software & Software Development
  • Business Operations
  • Artificial Intelligence & Deep Learning

NVIDIA currently has 119 open positions for university students. If you’re interested, reach out to Osman Afandiyev at efendiyev.osi@gmail.com or connect with him on LinkedIn.


Q&A: Answering Your Career Questions

How do I prepare for job interviews when there are so many different roles?

“You need to be clear about the positions you’re applying for—even during the internship search process. If you want to do web development, C/C++ coding, or DevOps, pick one and learn everything you need to excel in that field.”

How do I network effectively?

“Don’t just send a referral request on LinkedIn right away. Instead, find people on the team you’re applying for, build a genuine relationship, and have meaningful conversations. That way, when they refer you, they’ll personally vouch for you, rather than just filling out a generic form.”

How do I get feedback after a rejection?

“Hiring managers are busy. They don’t have time to provide personalized feedback for every interviewee. Instead of dwelling on rejection, focus on building more projects, practicing LeetCode, and improving your skills. Growth happens through continuous learning.”

What kind of research is happening at NVIDIA?

“The two major areas I’m familiar with are AI research and compiler optimization. If you’re interested in either, consider looking into related roles.”

How can I improve my resume?

“If your GPA is high, put it on your resume. Show your resume to friends and family for feedback. You can only optimize the structure, font, and wording so much—the real improvement comes from the content. If your resume isn’t getting results, work on more challenging projects or learn new tools to add valuable experience.”

Will AI replace software engineers?

“Not anytime soon. In my experience, only about 10% of my time is spent coding. The rest involves gathering requirements, understanding project needs, and communicating with teams. AI can’t replace those human-driven processes yet.”

Should I ask for as many referrals as possible or focus on a few strong connections?

“Quality over quantity. I would much rather have one strong connection refer me than ask 20 random people for referrals. When someone genuinely knows you, they can advocate for you in a meaningful way.”

I’m majoring in Stats and Math with a CS minor—can I still break into Big Tech?

“Absolutely! Math and statistics are incredibly valuable in fields like algorithm design, data science, and AI research. If you minor in business or finance, you’ll also have a competitive edge in fintech roles. The key is to highlight how your background makes you an exceptional candidate.”


Final Thoughts

Navigating the workspace isn’t just about technical skills—it’s about organization, communication, and relationship-building. By developing strong note-taking habits, fostering meaningful professional connections, and preparing strategically for job opportunities, you’ll set yourself up for long-term success in the tech industry.

Stay curious, stay engaged, and never stop learning!