Reflecting on CarGurus Internship and Co-op
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.