From the Archives asked
answered May 28, 2025
Starting off, I just wanted to say thanks for answering my questions throughout class and after class. Means a lot to get proper feedback in the current times of modern society with lots of deception surrounding the media.
Heading to Meta for an internship this summer and have a few questions that I would love your input on. For reference, I have had big tech experience interning at Amazon & Uber in the past, but I definitely aim to put the most effort into my experience at Meta.
1) How do I effectively market myself? One of my previous mentors (who happened to work at Meta also) said that it's important to be verbal about the stuff that I'm working on. My case here is that my IM (Intern Manager) happens to be an E7, and I'm not sure how I can engage in meaningful conversations.
2) From a technical standpoint, how do I improve on code quality? Without a doubt, I think that work in the industry vs school is drastically different, and as a result, adapting to industry lifestyle during an internship is super crucial. With that being said, code quality differs a lot as they've very different settings, and that was my biggest feedback coming out of Uber, but I'm not sure how to improve. At school we're essentially taught to just make everything pass the autograder...
3) You can only ship code so fast given code reviews and such. Do you think it's worth forming a small network of people that can actively review my code? At Uber, my mentor took quite some time to review my code (I assume because he was a sr. engineer and had other responsibilities) and as a result, I felt like I was sitting idle and felt very useless. I was planning on trying to find other mentors at Meta that will be able to help me, but also my thinking is that it's not their role to mentor me, so I wouldn't want to bother them.
Really would love a return offer to work full time at Meta for next year, so looking to optimize wherever I can. Well aware of the basic advice from past experience, so getting help for questions that go the extra mile is super helpful.
Thanks in advance!
Philip's answer
Great questions! Some answers below...
1) How do I effectively market myself? One of my previous mentors (who > happened to work at Meta also) said that it's important to be verbal about > the stuff that I'm working on. My case here is that my IM (Intern Manager) > happens to be an E7, and I'm not sure how I can engage in meaningful > conversations. >
I'm not a good person to ask about this because I'm cynical of people who encourage it. I understand that some very appearance-focused people can get further in career by talking about themselves; I just don't like that sort of person, and I try not to become one. People who think like that are a key reason why some workplaces feel political.
That said, a common mistake some people make is to under-represent what they're doing, or to talk poorly of it. For instance, in the East Asian culture, it's expected that you talk badly about your work (i.e. that you criticize yourself). This isn't a good way to approach American workplaces either.
IMO, it's impossible not to be recognized if you're consistently doing great work. People who focus a lot on appearances are spending their energy in the wrong place. Plus, in the long run, short-term appearances don't keep up with real skills anyway.
> 2) From a technical standpoint, how do I improve on code quality? Without > a doubt, I think that work in the industry vs school is drastically > different, and as a result, adapting to industry lifestyle during an > internship is super crucial. With that being said, code quality differs a > lot as they've very different settings, and that was my biggest feedback > coming out of Uber, but I'm not sure how to improve. At school we're > essentially taught to just make everything pass the autograder... >
It's great that you got that feedback, since it's something actionable. A few thoughts:
- One key way to improve is to at least not repeat past mistakes. I often find myself making the same types of comments in multiple code reviews of the same developer's code; don't be that developer.
- A lot of code quality improvement comes from coding more yourself, and reading others' code. There are many times when I read others' code where I learn new (and better) ways of doing things.
- To that point, have you tried Advent of Code? I'd encourage trying it. The coding problems are themselves a good way to improve, but the real value is in the big Reddit solution threads that each puzzle comes with. I even learn a lot reading through others' solutions there.
> 3) You can only ship code so fast given code reviews and such. Do you > think it's worth forming a small network of people that can actively review > my code? At Uber, my mentor took quite some time to review my code (I > assume because he was a sr. engineer and had other responsibilities) and as > a result, I felt like I was sitting idle and felt very useless. I was > planning on trying to find other mentors at Meta that will be able to help > me, but also my thinking is that it's not their role to mentor me, so I > wouldn't want to bother them. >
In most larger teams, it helps to work on several things at once, so that while one thing is being code reviewed, you're actively working on another. A different approach is to get familiar with one of several ways to do "stacked diffs" (i.e. changes you can layer on top of the code that's being reviewed, which you can land separately). One final thing, which I'm not sure if you've had a chance to do, is to give feedback to your mentor/manager if code reviews become a rate-limiting thing for you. There usually are ways to work around it (e.g. by working on other things at the same time), but if not, it often helps to make that blockage explicit by discussing it.