Hi everyone,
I just wrapped up my first week as a Software Engineering Intern at Meta, and wow — it really moves fast. Monday was off, so had 4 days.
What I’ve Done So Far:
Where I Need Insight:
As I go into my second week, my goal is to gain deep understanding quickly so I can land impactful diffs fast. I want to operate from a top-down perspective — understand the “why” of the project before diving into the “how.”
Questions I’m Asking Myself:
Questions I’m Thinking of Asking My Manager / Team:
What I Want to Know From You:
Any insights or battle-tested advice would be greatly appreciated!
Also to add, what are some things I can think about and also work on everyday, to execute and collaborate better. For analogy, if I want to run fast, I run my best everyday. I also think about ways I can improve my running.
A lot of this is covered in The Software Engineer Internship Survival Guide, which I highly recommend you watch. And we have a dedicated course about the Meta internship program here!
You mentioned that you want to understand the “why” of the project before diving into the “how.” I would caution against this -- you could easily spend months just collecting all the context and history about a project and team. You should have an understanding of your team goals, but that can be developed in parallel while you begin doing real work.
In your 2nd week, you should start to be more familiar with the coding workflow. Continue to put out "easy" diffs, but also start to land changes that actually touch some logic.
How do you balance learning with execution when the ramp-up time is short?
Bias toward execution. You'll get stuck, but the questions you ask will help you ramp up. Ask Great Questions.
What’s your favorite way to get a mental model of a new codebase?
How do you build trust with your manager and teammates early on?
Have 1 on 1 meetings and put in the effort to show a lot of warmth and energy in them (seed the agenda, take meeting notes, have positive body language, etc). On top of that, follow all the advice in the course here: Networking Guide: Build Deep Relationships Quickly In Tech
What questions would you ask yourself for clarity of what you should do?
So your goal is just to get diffs out there fast:
What questions would you ask your manager and team to hit a bulls eye with the information that will be useful for executing deliverables for your project?
You should have gotten some sort of project roadmap as intern managers are required to create one. Are you not able to see it?
When it comes to tactical stuff, you can only frontload so much of it with questions. If you roughly understand what files to change (ideally with a similar example diff to base off of) and how to test the code, you should just jump in and start coding. The exact questions you need to ask will come up as you're executing and get stuck. More questions will come to mind after you get a ton of code review comments.
Preparing is certainly good, but there's a failure mode where you're stuck in inaction as you try to fully understand everything and have the perfect plan before writing any code. You need to strike a balance between having a plan/clarity going in and going in there and winging it.
Given how detailed and thoughtful you are (which are great instincts to have!), you have probably hit the upper limit on how much you can prepare/learn before jumping into the code. So now I recommend jumping into the code!