Reflecting on CarGurus Internship and Co-op

August 11, 2024

TLDR

  • Backend Co-op from January to June (Java, AWS, SQL)
  • Frontend Internship from June to August (TypeScript, React, CSS)
  • Learned a lot, excited for senior year

Now that my time at CarGurus is coming to an end and my fall semester is coming up, I wanted to take some time to reflect on what I've learned through my Co-op on a backend team and subsequent summer internship on a frontend team.

I've been at CG for 8 months now in total for both of these roles, and I've learned so much more than I ever thought possible. It's hard to believe the developer I was when I first started in January vs. the developer I am now.

Before I go into more technical detail about what I learned and accomplished, I want to take a second to say just how lucky I am to have been able to come in to work every day to a place where my learning was a priority and my teammates encouraged me to try new things, ask as many questions as possible, and always provided me with the utmost support.

During my time as a backend Co-op from January to June, I got to develop Java Spring APIs, microservices using new technologies like AWS SQS, AWS S3, and more. I also used SQL and developed Java matching algorithms to match a key vehicle attribute for incoming listings.

From June to August however, I was a frontend intern, where I used React, CSS, and Typescript to develop our internal component library which was used by over 45+ frontend engineers at the company! As a member of this team, I also got to work on our internal Remix template, where I learned a lot about Remix, TypeScript, server-side rendering, multivariate testing, and more.

Overall, working at CG was a great experience and I'm very lucky that I was able to get exposed to both frontend and backend development while working with such experienced and supportive engineers.

Here is a small list of some key technical concepts that will stick with me as I continue my career:

  • System Design Principles / AWS Cloud Architecture
  • Safe / Reliable API Design
  • Semantic Versioning
  • Safe rollout + version skew
  • UI / UX development process
  • Server-side rendering
  • Browsers and cookies
  • How to effectively communicate between teams / departments
  • A LOT of practice and increased confidence in Java, SQL, TypeScript, React, CSS, and Less.

The past 8 months working at CG absolutely flew by, but I'm excited to start my senior year at Northeastern. In the fall, I'll be taking Programming Languages, Theory of Computation, Programming in C++, and Business Model Design for Startups. I'm looking forward to all four of these and enjoying my senior year with friends.