What It Was Like SWE Interning At a Fortune 500 Company as a Freshman
As a freshman CS major, many are focused on getting that coveted freshman year internship, especially as a software engineer. The idea is that if you can get an internship your freshman year, then having that experience will allow for bigger and better internships to be available down the line in your sophomore and junior year. And as a bit of a tryhard, I bought the hype of this logic early freshman year (almost a year ago today as I am writing this). I decided I would try my very best to try and secure an internship at a reputable company, and utilized all the resources available to me at Pitt CSC to help achieve this goal (alumni network, the mentorship program, and of course the awesmoe Zero to Offer Program). And after almost 50 applications (which looking back is really not even that many), I was able to secure an internship. In February of 2022, I officialy signed to intern at Fidelity Investments as a Full Stack Software Engineer Intern. But I am not writing this post about recruiting or how to get a freshnman year internship, because you could probably find 200 posts about that on r/csmajors. I am going to write about the actual experience of the internship, and how lost I felt at first.
When I received the offer, I basically thought I had made it. It seemed like I had achieved the unthinkable, and was basically Bill Gates. But I quickly realized that what a lot of people say about freshman internships has very little to do with the actual internship. Everyone is so focused on getting the internship, people seem to forget that you actually have to do work as an intern, and it's not just something you can throw onto your resume and post on LinkedIn about (which I did still do of course, because did you really intern anywhere if you didn't post it on LinkedIn?!). So, the anxiety started to set in. I was about to be interning as an actual software engineer this summer, and had to work like one.
While it would have probably made a lot of sense if I spent May (the period after the semester ended until the internship started) learning software development ideas, Git, the agile environment, and the tech stack for Fidelity that I could easily find online, I obvioulsy did not. As I had some already taken CS 401 and 445 by the time the internship rolled around, I was not completely burnt, but I definitely felt unprepared. I started to worry if I even deserved the position or if I would be able to perform, as I had little coding experience outside of class. But as the time came for my work to begin, I decided I would just feel it out.
Immediately after meeting my team and the beginning orientation stuff, it was clear that my team was no slouch for the interns. There were 7 other interns on my team (which until my time finished at Fidelity, was by far the most I ever saw on Software Engineering team). I was also the only freshman on my team. As I interacted with a lot of interns on other teams, most other teams had 1 intern. Since there were so many interns on my team, it was evident that we would have a good number of tasks to complete. And we definitely did: the managers on my team had prepared a longbacklog of tasks for the interns to complete. In one of our first meetings together, my manager explained a lot of the different technologies we would be using. I realized I literally had never even heard of a single one. Coming into this, I really only knew Python, Java, C++, and a bit of Swift. And my expectation was that large code bases were just made of tons of files of these object oriented languages (obviously I was wrong).
I definitely was a little overwhelmed with everything, seeing all the new technologies and tasks that had been assigned. For the first week or so, I fully focused on familiarizing myself with some of these concepts so I would be able to tackle the tasks that we had been assigned. Of course, this involved watching more YouTube than I knew humanly possible. At the same time however, I knew it would be very important to communicate with my manager about how I was feeling and to ask lots of questions. I set up 1 on 1 meetings with my manager to update him on how I was learning and feeling about the new technologies. Due to this, my manager gave me a few more days of self learning before I would have to start picking up tasks myself. Communication is key, and thanks to the fact that the leadership on my team was very understanding, I was able to make a lot more progress by taking some more time to learn. That quickly became one of the biggest lesson of the internship: keep communicating. Your manager will not be able to read your mind, so make sure to keep them updated!
After this intial phase of learning (where I was remote), I finally made the trek to the office (all the way to New Hampshire from outside of Philly), and was able to properly meet the rest of the team and the interns. As time progressed, I slowly got into the groove of finishing tasks alongside other interns. And aside from making great friends with some of the other interns, I was also able to make great progress, tackling tasks completely by myself. While my rate of completion did not really compare to the older interns on the team, I was still finishing tasks and of course, learning. While meetings at the beginning of my internship just sounded like technical jargon, by the end I could almost follow along with what was being talked about! Either way, I had a great experience working at Fidelity this past summer, and it was a great experience as my first real Software Engineering Internship. If you have any questions about having an internship freshman year or how to navigate that, feel free to reach out to me on LinkedIn: https://www.linkedin.com/in/nij-patel/
Good luck to everyone gunning for an internship, and thanks for reading!
Note that --- not considering the asterisk --- the actual text content starts at 4-columns in.