Internship Insider: Goldman Sachs [Engineering/Data Analyst Intern] [Summer 2020]

--

My sophomore year of college I was fortunate enough to have a Goldman Sachs recruiter reach out to me about their Summer Analyst internship (I applied for the Engineering division). From there, they sent me a LeetCode Medium coding challenge and to my surprise they offered me an onsite interview called GS Superday a month later in their Jersey City office (with transportation and meal reimbursement). My interview lasted from 10:00AM-2:00PM and consisted of two one-hour interviews that had behavioral, technical, and coding questions and then a Q&A session (with snacks and drinks) where you can speak to current employees and ask them any questions. A week after my interview I received a phone call and was told I received the internship! From there I began my journey at Goldman Sachs.

Left: Outside the Jersey City Office, Middle: View from the 21st floor, Right: Lobby

Day -271 (October 10, 2019): About FICC and SMM

One of my interviewers reached out to me after I received my offer and told me to feel free to ask him any questions. He even offered to schedule a phone call to help me learn more about Goldman. Upon talking to him, he explained to me about the division he worked in and told me that I would be working in the same division, Fixed Income, Currencies, and Commodities (FICC). FICC is a division at Goldman that manages the trade of fixed-income, currencies, and commodities. When I first talked to my interviewer, I had NO idea what any of this meant. In fact, I had no finance background whatsoever and have never even traded stock before. My interviewer reassured me however that Goldman teaches finance to those who know nothing about it, as many good engineers do not have a finance background to begin with. He proceeded to explain what FICC meant, which I’ll explain below.

  • Fixed Income: an investment where an individual pays a fixed interest rate (e.g. bonds- a loan made by an investor to a borrower)
  • Currencies: also referred to as foreign exchange (shortened to FX or Forex) which means to trade currency from one country for currency in another country in the foreign exchange markets. For example, you can trade U.S. dollars (USD) for euros (EUR) for the current USD/EUR exchange rate such as €1 = $1.25.
  • Commodities: trading physical goods such as gold, grains, oil, natural gas, and more

Within FICC, I would be working on the Systematic Market Making (SMM) team. SMM is a team at Goldman within FICC that develops order state management software that takes orders from clients, communicates them to brokerages, and executes algorithms to automate pricing and risk management. Having this conversation with my interviewer was incredibly helpful in deciding where I wanted to intern. I learned so much from this conversation that I decided that I wanted to intern at Goldman Sachs to learn even more about finance and help understand investing so I can begin investing early myself.

Day -270 (October 11, 2019): Grace Hopper Conference

During my conversation with my interviewer the day before, I mentioned that I was currently attending the Grace Hopper Conference. My interviewer told me that Goldman Sachs had representatives from FICC at the conference and encouraged me to talk to them and ask them any questions I had. He gave the representatives a heads up and told me their names so I could ask for them when I visited the Goldman booth.

Upon arriving at the booth and asking the people there if they knew my interviewer, they were extremely welcoming and said “You must be Isabella, we’re excited to meet you!” I began conversing with them about what it’s like to work at Goldman, the specific work that they do, and how math is involved in their work (as I love math!). While there were many things in our conversation that I couldn’t understand (they went into complex topics but I appreciated their excitement), I still had a great time talking to them. At the end of our conversation, they let me know that there was a Goldman Sachs event they were hosting that night and that they would be giving away free sweater as well. I stopped by the event and grabbed a free sweater that I enjoy wearing a lot!

Front (left), Back (right)

Afterwards, I spent the rest of my time enjoying the Grace Hopper Conference. You can read more about my Grace Hopper Conference experience here!

The week after the conference ended, I accepted my internship offer from Goldman Sachs. Thus, I officially became a Goldman Sachs intern!

Day -181 (January 8, 2020): Dave and Buster’s Meet and Greet

Goldman Sachs went above and beyond to ensure that interns felt welcomed by the company prior to the internship. The recruiting team organized a meet and greet with interns and different Goldman Sachs teams at the Dave and Buster’s at Times Square (this happened before COVID19)! Upon arriving, I was provided with dinner (standard Dave and Buster’s food) and a gaming card with unlimited gaming for non-ticket dispensing games and $15 worth of credits for ticket dispensing games. I redeemed my tickets at the end for a gaming mouse and was given a Goldman Sachs water bottle as I left.

Left: Unlimited gaming card and name tag, Right: Free waterbottle and gaming mouse I redeemed with my tickets

Day -25 (June 12, 2020): Coding Competition

In order to compensate for the lack of in person events as COVID19 became more severe, Goldman set up a coding competition for interns. In the coding competition, you are randomly assigned to a team with four other interns and are given five problems through Hackerrank to code solutions for (many of these problems could not be found on Google, and even if they were the results didn’t have the most optimal solutions). The first team to finish with all optimal solutions wins a prize (I do not know what it was though since I didn’t win first place).

The problems that were given weren’t particularly difficult to code a solution, but it was challenging to find the most optimal solution. My team and I split the work so that each individual worked on one problem. The problem I solved is below (you can skip this part and go onto the next section of the article if you’re not interested in coding questions and want to continue reading about the rest of my work experience):

Given a string that might have multiple occurrences of the same character , return the closest same character of any indicated character in the string. You are given a string ‘s’ and ’n’ number of queries. In each query, given index ‘a’ of a character and you need to print the index of the closest same character. If there are multiple answers, print the smallest one, or if there is no such index print -1.

Ex 1:

String = “pacheddanh”
Queries = {4, 1, 6, 8}

Output = {-1, 7, 5, -1}

Explanation:
Query #0: Character at index 4 is ‘e’. In this case, there is no other ‘e’ present in given string, so print -1
Query #1: Character at index 1 is ‘a’. In this case there is only one closest index (i.e. 7) that contains ‘a’
Query #2: Character at index 6 is ‘d’. In this case there is only one closest index (i.e. 5) that contains ‘d’
Query #3: Character at index 8 is ’n’. In this case there is no other ’n’ present so print -1.

My solution was to iterate through each query and find the closest index of the same character in the string using a two pointer method. The two pointer method has a time complexity of O(n). One pointer was to the left of index specified in the queries array and another was to the right of the index. The left pointer moves towards the front of the array and the right pointer moves towards the end. If either the left or right pointers find the character that is equal to the one specified, then I outputted that index and continued on to the next query in the queries array.

Unfortunately, this solution was not fast enough and so I had to think of something faster. I wasn’t sure what would be faster so I thought perhaps saving results in a hashmap could make things faster in case any queries were repeated so that the answer could be found in O(1) time. However, this still was not fast enough, and so I could not get a full score for this question (and I’m not sure what the correct answer is then if a two pointer solution was not correct).

Day 1 (July 6, 2020): Online Orientation

The first day of work you don’t actually get to write any code but rather, you attend a week long orientation through Zoom. For days at the beginning half of orientation, interns listened to many speakers discuss what Goldman Sachs culture was like, mental health resources such as confidential counseling, and advice on how to be productive in a fully remote environment.

The last two days of orientation focused more on providing insight on the technical tools at Goldman, which included a training session on learning Goldman Sach’s proprietary programming language Slang and software system SecDB. The training session included Slang groupwork programming exercises where interns were assigned Zoom breakout rooms to work on different Slang programming problems.

With Slang and SecDB training done at the end of Friday, I could finally start my intern project!

Day 5 (July 10, 2020): Jira and Tickets

At Goldman, project tasks and OKRs (objectives and key results) are kept track of using Jira. I’ve never heard of Jira before and have never used it, but it made it really easy to keep track of what you needed to work on. A list of tasks I needed to complete during my internship were listed in Jira and one by one I marked them as done while my internship progressed.

Most of my days were fairly the same. I woke up, got ready for work, logged on to my remote desktop (a desktop you log into from your own personal computer, interns were not mailed work laptops) and then started my day working. The beginning of my work day included stand up meetings where my team and I discuss what we worked on the day before and what we will be working on that day. Afterwards, I looked at what tasks in Jira I needed to work on and then started working on those. Most of my days also included meetings I scheduled with other Goldman employees from other divisions in order to learn more about their work experience to try to gauge my own interests.

I think if the internship was in person, there would have been a lot more freedom for creativity in the project to implement my own ideas. However, because this was not the case and working from home can be difficult if you don’t have a clear idea of what tasks you need to work on, my intern project was heavily reliant on Jira.

Day 18 (July 23, 2020): Jackbox

My team wanted to schedule more casual events so that we could get to know each other better and have less business oriented interactions. Thus, one of my coworkers scheduled a Jackbox gaming event where we’d be playing a Jackbox game named Quiplash!

Playing Quiplash with my team through Zoom

When we first started playing, we used our real names on Quiplash and so a lot of the jokes were very bland since I think many people were trying to figure out everyone else’s sense of humor. We all then agreed to use anonymous names and as a result, the game became a lot funnier!

I’ve played Quiplash before with friends but because I have an odd sense of humor, I wasn’t sure how to make jokes at first with my team at Goldman. Thus, I was doing very poorly in the game at first. But once we became anonymous, I could finally unleash my true sense of humor. I started cracking out the best jokes that I could. In the middle of the game though, my team agreed that whoever won first place would have to out themselves. Because I was first place throughout the whole game, I figured that I would have to out myself at the end then. This did not stop me from making my best jokes still. I ended up winning the game at the end and so I had to reveal myself (getting a little bashful while doing so). Afterwards, we continued to play more rounds which progressively had better and better jokes.

Below is one of my responses to Quiplash questions that helped me win first place.

Question: “What’s lurking under your bed?”

Answer: “I’m not sure but it calls me mom”

I had a great time playing Quiplash with my team and it was super cool to see that people at Goldman weren’t super professional business people but just normal individuals who have the same sense of humor that I do!

My Project

While working as an analyst intern at Goldman Sachs, you are assigned a project to work on during the whole internship duration. One thing I do think could have been better during my internship experience is having more freedom in my project to implement my own ideas (as I previously mentioned). But it is difficult to try to have a more open ended project with a fully remote internship program because its harder to get the best guidance you can for your project remotely, and so I am still very satisfied with how my internship project went.

My internship project focused on modeling RabbitMQ communications. Goldman Sachs uses the messaging queuing software RabbitMQ to send messages between several different entities (you can learn more about how Goldman Sachs uses RabbitMQ in this talk given by the former Global Head of Messaging Engineering Jonathan Skrzypek). In summary, RabbitMQ sends/receives messages and stores metrics about the messages sent. My internship project was to essentially model these communications and create an internal web app to display this model. In other words, I created a model of RabbitMQ topology.

To make my web app, I used Python, mongoDB, Prometheus/Grafana, Javascript, React, eCharts, Node.js, and Kubernetes. I finished creating a basic version of the web app quite early, about half way through my internship. As a result, I got to work on some bonus parts of my project which involved machine learning which was really cool! I created regression models using scikit-learn to try to predict different things from the data I was working with.

Unfortunately, I don’t think I can share the rest of the details on my project because I signed a nondisclosure agreement! But hopefully this description gives an idea of the kind of work an intern does at Goldman Sachs.

Work Culture

If I had to describe the work culture of Goldman Sachs in one word, I would say inclusive. Everybody was kind and reached out to make sure that I felt that I was part of the team. My team went so far as to no longer do drinking Happy Hours on Zoom (as I am the only underage one on the team who couldn’t drink) to make sure I felt included. Even when I told them I was alright with drinking an apple juice while everyone else drank, they told me that they were okay not drinking and doing something else so we can all be on the same boat- which was really nice of them! To replace drinking Happy Hours, my team started playing games through JackBox instead.

COVID19 Response

At the beginning of May, a month before the official start of the internship, interns received an email about Goldman Sachs’ COVID19 response. They decided to make the internship 100% remote, shorten the duration in half, and delay the start of the internship by a month so that the start was in July. The email emphasized that despite the shortened duration, Goldman Sachs intends to honor the full financial commitment of your original program duration. This means that they will be paying us the amount of the full internship despite us only working half of it. As a result, Goldman Sachs sent out new contracts for us to sign that specified our new internship dates and doubled our salary between so that we receive the same amount of money. Additionallly, they gave us remote desktops for us to log into from our own computers.

I’m very glad that Goldman decided to deal with COVID19 in this fashion. Because of the delayed internship start, I was able to take some summer classes the month before in order to take a gap year my junior year and have room to study abroad my first semester senior year. In January, I was accepted to the study abroad program at Seoul National University for Fall 2020, however it was cancelled due to COVID19. With my study abroad program cancelled and school online for the Fall (and school costs were increased as well), I decided to take a gap year for 2020–2021 and do some internships instead. My next internships are at Datadog (Fall) and Snapchat (Winter), so if you’re interested in learning more on what their internship programs are like, be on the look out for my next articles!

The Rules

While Goldman Sachs work culture was a lot more casual than I expected (especially after playing Quiplash with my team), not everything was casual as there were strict rules. For example, interns are not allowed to trade at all during the internship and they are not allowed to have a group chat outside of the internal Goldman Sachs group chat.

lit

Some of my teammates started using the word “lit” once I explained it to them because I use it a lot when messaging ☺.

Intern Events

Unfortunately, due to the online nature of the internship, there weren’t a large variety of events happening (there were a lot of events, it’s just that they were repetitive). Every week there was a networking event, a day where interns could play video games together (Jackbox, Draw Something, etc..), and webinars. I still enjoyed my internship a lot though despite this! Trying to think of events for an online internship is hard, so I think the intern committee did a great job trying to adapt to the online format.

I think what would have been really cool to see is a video tour of the office or perhaps some events where materials for the event could be mailed to you. My university held some events such as a ukulele painting event, knitting event, and canvas event where they mailed all the materials you needed for the event a week before so that when the event came around, you can take out the materials and start working on them with everyone else! I think this could have been a really cool internship activity, though I’m not sure of what the logistics are behind it.

In a normal internship program, I’ve been told events included going to the park together, ice cream socials, volleyball, tours of the trading floor, and more! I even heard that some people got to go on dinner boat cruises on the Hudson (though this is very team based). While I didn’t get to experience any of these things, I still enjoyed my internship because of how friendly everyone was and how much I learned.

Perks/Free Stuff

Anybody who knows me knows I love free stuff. Even though my internship was fully remote, there were still a lot of other perks and free merch I received!

  • Dave and Buster’s Meet and Greet w/ Dinner (free water bottle and can redeem tickets won for prize- redeemed them for a gaming mouse)
  • Goldman Sachs Engineering sweater
  • Pre-internship Swag Duffel Bag with a tumbler cup and more

Day 33 (August 7, 2020): My Last Day

My teammates told me that Goldman Sachs celebrates when people progress their careers, even if they are leaving Goldman. They refer to former employees as alumni rather than calling them ex-employees and refer to your last day as your graduation from Goldman. Moreover, apparently when you leave Goldman they do something called a “clap off” where everyone on the trading floor claps as you leave. Sometimes they even have marching bands come in to celebrate!

Even though I couldn’t experience these things due to the remote internship, I still was given a warm goodbye by my team. We chatted through Zoom and then my manager let me off early and told me to take the rest of the day off to relax. All in all, it was a good end to my internship.

Interning at Goldman Sachs has been an invaluable experience for me. I came into the firm with no finance background and am leaving with an understanding of how investing works and have made stronger investments myself! I expanded my knowledge beyond computer science while also becoming a better programmer and met so many cool people along the way. Perhaps I’ll be back for the in person (hopefully) internship experience during Summer 2021!

If you liked reading about my internship experience at Datadog, check out the other articles in my “Isabella’s Internship Insider” series: Amazon, Colgate, Datadog, Goldman Sachs, Snapchat

Be on the lookout for my articles about my Google and Stripe intern experience!

--

--

Isabella Pham
PHAMiliarizing Myself with Computer Science

I’m just someone who likes to code and write about my CS experiences. Check out my website at https://isabella-pham.github.io