Richard Trinh '26 on Navigating the Path to Software Engineering Success at Garmin

Photo by Richard Trinh.

This post is part of a spotlight series highlighting the work of exceptional students and alumni. The series aims to facilitate knowledge sharing on topics such as internships, jobs, entrepreneurship, and graduate school.

Today, I have the pleasure of talking to Richard Trinh ‘26 about his recent experience as a Software Engineering intern at Garmin.

Naser: Can you tell us about your work as a Software Engineering intern at Garmin? What does a typical day look like for you?

Richard: During my internship, I worked on the Subscriptions team to add features to their backend systems. My work involved implementing new features, designing and optimizing APIs, writing business logic, and improving system infrastructure. A typical day for me involves checking emails, attending stand-up meetings, and checking in with my manager to discuss project design and specifications. Afterwards, I usually spend most of my day writing code, running tests, and debugging. I also review documentation for the services, tools, and technologies I’m working with as needed. It’s a balanced mix of coding, learning, and collaboration.

Naser: What technologies do you use? And what technologies/languages do you recommend learning today?

Richard: For this internship, I primarily used technologies like C#, .NET, and MS Azure. I highly recommend learning an object-oriented language like C# or Java as they are commonly used in enterprise systems today. SQL is also a must if you are interested in working with data. Additionally, gaining familiarity with cloud platforms like Azure or AWS and understanding the basics of REST can give you a strong foundation for software development.

Naser: How does your internship align with your academic studies at Colby? Are there specific courses that you found most helpful?

Richard: I found that taking CS231 was the most beneficial for me personally. Applying object-oriented programming concepts in practice not only deepened my understanding of the underlying architecture of various services but also made it easier to recognize and implement common design patterns. This foundation helped me write cleaner, more maintainable code and better understand how different components of a system interact with each other. It also helped me develop a mindset focused on writing code that is not only functional but also efficient under real-world constraints.

Naser: Can you tell us about the internship search and interview process? And how did you prepare for it?

Richard: To find internships, I searched on job boards like LinkedIn and Indeed, as well as other resources like the Pitt CSC GitHub repo. As for the process, I had an initial phone screen with a recruiter and a few days later, an hour-long technical interview with the hiring manager. I prepared by brushing up on C# and OOP concepts and learning design principles like SOLID.

Naser: What tips would you give students interested in joining an organization like Garmin?

Richard: Building a strong portfolio by working on personal projects and doing hackathons as this can highlight your passion for software engineering, especially in interviews. Also, don’t be afraid to ask questions and show curiosity during the interview process. It’s a great way to stand out and show you’re genuinely interested in working at the company you’re interviewing for. Be yourself and highlight how your skills and experiences can make a difference!