Fin Deevy is a graduate student at the University of Iowa, currently studying for his master's in computer science. He is interested in graphics systems, video game rendering, and recently visited SIGGRAPH, a computer graphics (and computer interaction) conference held in Los Angeles.
Over the summer, Fin worked as an intern at Intel, where he used his coding skills to develop the systems that process graphics and display them on your screen.
Why did you want to work at Intel?
I’ve known for a couple years that I want to work as a graphics and software engineer, and my experience over the summer helped reconfirm that. I would love to work on the entire stack of rendering/video game features for the rest of my career—from GPU hardware to the game engine.
My visit to the SIGGRAPH conference in Los Angeles made me interested in computer graphics research; I’m still working out how to scratch that itch.
What does an average day at Intel look like?
This summer at Intel, I interned as a graphics engineer on the Intel Graphics Compiler team. On any given day, I could be sitting in on meetings about upcoming projects, discussing the performance of games like “Cyberpunk 2077” or “Starfield,” helping to update the compiler with new features, or working with external partners to improve the performance of Intel's graphics.
I worked on the compiler and drivers that support Intel’s Arc GPUs. Essentially, the graphics compiler uses APIs (Application Programming Interfaces) to access graphics code from games and other applications. The compiler translates this data into graphics code in the GPU, then optimizes the code to run as efficiently as possible on Intel hardware.
How have Computer Science skills impacted your work?
Two parts of my Computer Science degree I have used most are my knowledge from systems classes, like High-Performance Computer Architecture, and my computer graphics skills, which I improved during my research fellowship with Professor Kaia Olsen.
Leading a development team on a Gaussian Splat-based game engine during my fellowship was probably the most useful experience I had before joining Intel this summer. (In a computing context, Gaussian Splatting is a method of efficiently rendering 3D images on screen.) It taught me how to build and manage complicated C++ projects from start to finish, while also onboarding other people.
During my internship, I was able to learn a lot about GPU architecture and how hardware companies support AAA game studios. I was also able to learn a lot about LLVM (programming architecture optimization) and compilers. Before this summer, I never had much hands-on experience with these applications. Thanks to my manager Maciej for giving me guidance!
What would you tell someone thinking about an internship?
Don’t follow the “normal path.” At one point, everyone told developers to get into “FAANG” web development; then Bitcoin, and after that Blockchain; then VR, and now it’s AI. I expect quantitative finance to be next. Students looking for internships should find Computer Science subjects for which they are truly passionate and dive deep. Write as much code as you can without relying on AI—you can have AI help you fill in the gaps. Don’t be afraid to ask dumb questions, work on weird passion projects, and find cool people to work with via student research.
Textbooks exist for nearly everything these days, and I think they are much better for learning than just asking ChatGPT what a pointer is. So even if a class isn’t offered, don’t be afraid to try and teach it to yourself. Folks in the industry are often willing to give advice if you feel lost, so you can also reach out to them—via LinkedIn, conferences, emails, etc. The primary detail to keep in mind is genuine interest. Learn what you can on your own and apply it, or reach out, as early and as often as possible. The industry is in a strange place, but it offers opportunities to motivated, self-driven engineers who can tolerate rejection and instability.
Some extra tips: If you want to get into the graphics engineering side of the games industry, read “Mathematics for 3D Games Programming and Computer Graphics, Real-Time Rendering; 4th Edition” and use LearnOpenGL.com.