Skip to content

☎️ HW 18: Technical Interviews

Assignment Deadline

Gradescope assignment due Friday, May 10th 2024

Submit

via GIPHY

Things I wish I knew

Here are some things I wish I knew while I was a student looking for design and software engineering. Applying to jobs is something I am continuously learning and is constantly evolving as the industry changes. My own resumes, cover letters, and portfolios are far from perfect -- it has been an iterative process!

The ideal time frame to apply to internships is the Fall Semester. I've been noticing some companies have been starting to open their recruitment timelines and internship applications earlier and earlier -- some internship roles for Google and Tesla opened up over the summer! Don't worry if you don't have anything by the end of the semester, there will be opportunities to land a summer internship even when your summer started. That is what happened with me!

  • Job Descriptions: Look at current job openings and read their job descriptions even when you aren't applying to jobs or internships in the immediate future. Write down some of the software tools and technical skills they are looking for. Get familiar with the terminology, learn the tools, and put those skills in your resume. I will use software engineering/development internship job descriptions for the game industry as an example.

    So I searched on Google Careers and LinkedIn for the following terms: Software Engineer Games, Unity Engineer, Unity Developer, Game Developer, Technical Game Designer. Breezing through the job descriptions, I have seen many job descriptions with the following skills:

    • Programming Languages: Must know C++, C# and ocassionally Javascript
    • Math: 3D Math, Linear Algebra and sometimes Computer Vision algorithms
    • Game Engines: Unity, Unreal, or sometimes Godot
    • APIs: OpenGL, DirectX, Metal, Vulkon, and other Unity APIs and packages
  • Events and Conferences: I have heard over and over again finding a job is about who you know -- your connections. Go to Career Faire and events/conferences you are passionate about. You will learn a lot about the industry you want to go into while meeting others with more experience who are already in the industry. Some conferences include the Game Developer Conference, SIGGRAPH, Grace Hopper Conference.

  • Recruiting Schedule: It is recommended to apply to internships/jobs earlier than later. The closer to the posting date -- in most cases, is better. For example, applying to an internship within a week of its posting is better than applying three months in. This is in most cases though!
  • Resume: Do your own research on what makes a good resume. Look at examples online, get feedback from people who have seen and written a lot of resumes, and read up on what makes the STAR Method really effective. For many job applications your resume must pass a couple of screenings:
    • Automated Test based on an AI or RPA -- the stage before any human sees your resume. Your goal is to get a human to read your resume so they can see your shine!
    • Recruiter, Sourcers, or Human Resources -- They will look over your resume and see how closely your resume and work aligns with the internal job description. Some may have technical experience and will be able to spot from the get go if it looks like you have the skills. Some do not.
    • Hiring Manager -- the hiring manager knows their stuff!! If you are a Game UI Developer, they know the packages you should know how to use.
  • Portfolio: This is where you can sell yourself on the visuals. You need to make sure your portfolio looks good and clean. Demonstrate your skills and personality here. Typically, portfolios include at least 3-4 four meaningful pieces that highlight the underlying themes of your course of study. While certain projects featured in the portfolio may be team projects, significant individual work must be the focus of the portfolio and its contents articulated in depth.

    From the UC Berkeley portfolio archives: Image title

    What is a portfolio?

    • A reflection of your capabilities to potential employers — The first step to landing an interview!
    • A visual, project-oriented version of your resume (that complements your resume)
    • A framework for documenting your projects moving forward in your design career

    What is the role of a portfolio?

    • To show the final output of the projects the designer has worked on
    • To demonstrate the designer’s process
    • Is it to be a piece of art in itself, that showcases the designer’s vision
  • Practice: In both design and engineering internships I applied for, the companies have required me to pass technical assessments. In the past, this has included designing a game with Unity and on-demand coding exams.

  • Interviewing: Interviewing is a skill. Never talk yourself down!!!

LinkedIn

How to find people who are #hiring

Image title

On LinkedIn, type in the name of a company in the search bar. In this example, I search for Blizzard Entertainment.

Then, scroll down to the People section. Click on See all people results.

Image title

In the header, click on the Actively hiring button.

LinkedIn will then show results for users who are hiring at Blizzard.

Who to follow

On LinkedIn, feel free to try following people who regularly post openings or opportunities you are interested in. For example, some University recruiters will regularly post their internship opportunities on LinkedIn and are well connected with other recruiters. That means, you will see their activity and likes as well. Remember that LinkedIn notifies anyone you follow!

Image title

InMail Messaging

There are two ways of starting a direct conversation with another LinkedIn user. A connect request may be sent in which LinkedIn provides a 300 character message limit. The second way is to send InMail messages. InMails are awesome because you are able to attach files and write as much or as little as you like. Image title

Problems

For many engineering roles, companies may assign candidates to complete a technical screening. This may be a take-home exam via HackerRank, CoderPad, and CodeSignal. Other times it may be a live programming assignment in which an interviewer is observing you during the coding session. The final type of technical assignment I have seen would be a take-home project in which candidates are asked to create a small feature and push it to GitHub.

Below I provide some examples of technical exams I have received in the past.

Problem 1: Kaiju Cats

Problem 1: Kaiju Cats

Kaiju Cats is an example of problem-solving assessment created by Roblox. If you are interested in applying to any roles with Roblox, I recommend starting here!

First, you will need to download the Roblox application onto your computer.

Image title

Then, feel free to start playing Kaiju Cats!

Image title

Problem 2: Teemo Attacking

Problem 2: Teemo Attacking

Teemo Attacking is a LEETCODE problem that has appeared in interviews with Riot Games. I selected this particular problem because of its relevance to game development. This problem is considered a LEETCODE level "Easy".

Image title

Submission

GitHub Pull Requests

To receive credit for this homework assignment, please make sure you provide a link to your GitHub branch and name the branch as your first name. Then assign Nile and Debbie as Reviewers and Assignees before you hit the green Create Pull Request button.

Image title

Image title

Image title