3 Weeks in Software Engineering — My Takeaways
It’s been 3 weeks since I started my first software engineering internship. This summer I’m working at Fidelity Investments on an internal infrastructure product. Here are some of my initial quick learnings and takeaways
Successful onboarding is extremely important
Onboarding at Fidelity took a week-and-a-half. This includes getting up to speed on the project, technologies, and people you’ll be working with.
The project I’m working on is outside of my initial expertise and in an area that I’m quite unfamiliar with. One of the most crucial things I found is getting a strong understanding of the project and product you’re working on and what value it adds to the business.
As a software engineer or intern, you may find yourself working on features and looking at it from a ‘this needs to get done perspective.’ This happened with me on my third PR — I created a feature for our tool, submitted my PR, and then just today I started thinking about what purpose the feature I created actually serves. I messaged the colleague that was giving me feedback on the feature throughout its development, and he explained it to me simply.
The value in understanding what you’re working on and what value it has to the end user is important and goes beyond just being able to talk about what you did. It allows you to give your own perspective — are there other specifications that would be valuable to the end user? If I were in the end user’s shoes, what would I want?
During my onboarding, a few of the employees hosted demos of the product we are working on. Yet those demos didn’t make it explicitly clear why Fidelity needed this. What’s the big picture point of this project? I asked this quite often in these meetings, and it helped clarify a lot about the project. It also gave some of the engineers a chance to step back and recognize the purpose of the project they had been working on for years.
Asking questions is so crucial during the internship. This is advice I received going into Fidelity — you’re a student intern who is going to be there for 10 weeks. Some of these projects (mine included) have been going on for years. There are so many components, technologies, and workflows being used that you might not understand, and your colleagues do not expect you to understand.
It’s much better to clarify and establish your understanding early on rather than later on. It’s almost like a snowball effect — much easier to ask questions early on than later on (even though you should ask questions any time throughout the internship).
I spent my onboarding learning a variety of technologies I hadn’t used before — Angular, Docker, containers, Kubernetes, Ansible. One of the employee hosted demos was extremely technical, yet one of the other colleagues spoke up and made the speaker clarify and reduce jargon to make things easier for us to comprehend. The interns reactions? We were grateful.
Employees in my experience have actually found interns to be a pretty fun experience rather than a nuisance to the team. Connecting with the various employees helped me learn a lot about how they operate and I could see they genuinely looked forward to the change in scenery and the ability to act as a mentor and provide guidance.
Successful onboarding can help the rest of the summer to go smoothly — you’ll understand the project you’re working on, the technologies you’re using, and the resources to reach out to when you need help.
Agile is an interesting framework for consistent delivery and progress
Agile is one of those terms tossed around left and right. To me, the terms associated with Agile make the framework much more complex than it actually is.
We had an Agile coach come in and teach us about the merits of Agile and how to implement the framework in the workplace. It’s a pretty interesting framework — in my short three weeks I can see the value. Focusing on delivering consistent progress and limiting ourselves to one or two tasks at a time.
While I can’t speak on its effectiveness to the full extent, I’m glad I get to experience this environment at Fidelity as I’m sure I’ll use it again at other companies.
Working with other interns is amazing
…especially in an online environment. Some of my friends are working on engineering teams but doing so as the sole intern. On my team, there are 7 other interns.
We usually work on features alone, but we message each other, host relaxed Zoom calls, and help each other out where needed. This is especially valuable in setting up environments as there are so many parts. It’s great to have other interns to fall back on and ask questions before pinging employees.
Plus, it’s refreshing to have others that can relate to your experience. So grateful to work with other interns.
I’ve already learned a lot at Fidelity — so many new technologies and things that I’ve never worked on in my personal projects or school. Excited for the remaining 7 weeks!