Profile picture

Software Engineering Intern Career Development Videos, Forum, and Q&A

How A Software Engineering Intern Can Grow Their Career

An internship is a period of work experience offered by an organization for a limited period of time. In software, a software engineer intern tends to have stronger importance with more competitive pay and real projects to work on.

How do you prevent logarithmic productivity?

Software Engineering Intern at Taro Community profile pic
Software Engineering Intern at Taro Community

Every time I work on a project, the amount of progress increases logarithmically. This means I start off really strong and I end off really weak. I’ve noticed this for a majority of projects that I work on.

I think a big reason why this happens is because when my project is able to get 50-60% of cases (ie it works but don’t touch it), internally my brain feels like it’s done and I don’t want to work on it anymore. When I start off a project I get huge boosts in dopamine when I finish a part and get it to work. Over time there are fewer and fewer things to do and I don’t get as big a dopamine hit when I gradually finish up remaining features. This gets really ****bad when I try to think of edge cases, because it’s not entirely clear what needs to be done, and I don’t even know what edge cases exist.

This has affected the quality of my work and I would like some strategies of keeping high output even towards the later stages of a project which involves less excited parts of work.

I think this somewhat relates to Alex’s video on “”, but I feel that the hard part is that I don’t even know where to begin. I don’t know where edge cases may. On a component level it’s not too bad, but when you’re doing integration testing and when the space of possible inputs is extremely high, it feels like you’re put in the middle of the ocean.

As an example, recently I was tasked with writing a bot to draw an ordered set of lines, curves and arcs on a canvas. The input a vector representation of the drawing and the output is an mp4 recording.

First 3 days went pretty well. In fact, I pretty much built the entire system and integrated everything. The annoying part comes to solving edge cases from integration testing. For the next 7 days I spent days kind of just sitting around, testing my system, and getting bored. I was waiting for my partner to finish his part of the system.

What strategies are there to make my output more consistent? I tried doing a test plan but they tend to be really shallow because I don’t know how the system looks like/what edge cases look like until I’ve actually built the product.

Show more
Posted 4 months ago
41 Views
2 Comments

When to trust conventional wisdom when making career decisions?

Software Engineering Intern at Taro Community profile pic
Software Engineering Intern at Taro Community

tldr: I have an offer from Meta and a niche growth-stage (series D+) startup. My gutfeel is telling me to go to the startup even though it’s all against conventional wisdom to go to big tech, and I don’t know if I’m making a mistake.

I got into a growth-stage startup that’s relevant to my background and aspirations to be a founder.

  • Engineers talk to customers, work with sales and scope projects with PMs. These tasks are important skills for me. Meta is more siloed until E5, and even then it’s still not quite end-to-end.
  • I talked to over 10+ engineers (including 2 friends) and all of them love working there despite the long hours. I’ve heard both the pros and cons and I know what I’m getting myself into.
  • I aggregated all of the new grads’ starter projects and compared them with my friends at FAANG. My big tech friends say that the new grads at the startup are doing FAANG mid-level work as their first project.
  • The team I’ll be matched to aligns very well with my strengths and interests. Whereas I won’t know team matching with Meta until later.
  • Business is doing well. VC friends said there’s a strong growth trajectory in a hot space. Cap table is all the top VC firms and angels.
  • It’s a stable company and few performance-based layoffs, in contrast my friends at Meta are all stressed about PSC.
  • If I don’t take a risk now then when will I?

However, it seems like every forum and well-regarded figure (Interviewing IO, Ryan Peterman, Dan Lu, even Taro, etc.) in the SWE space advises the opposite: join big tech over a startup for career growth and brand. Brand is especially important and is what’s holding me back. I don’t have any name brand companies on my resume. My friends with big tech have a 20-30% callback rate whereas mine is 5-7%. I might learn way more at the startup, but won’t be able to transfer these acquired skills if I can’t find a job in the future to transfer them to. Throwing away Meta feels like keeping myself trapped.

This makes me question whether I’m being overly optimistic (even delusional) of the startup. I feel like I did reasonable due diligence and, reasoning from first principles, it seems like this is the better opportunity for me.

  1. I’m wondering if someone was in my position and regretted not going to big tech?
  2. Is there any more due diligence/questions I can do to reach a more definitive decision?
  3. Is Meta’s brand name worth more than career alignment or goals?
Show more
Posted a month ago
40 Views
3 Comments

First email to intern manager

Software Engineer Intern at Other profile pic
Software Engineer Intern at Other

Hi Taro community,

I will be starting my Meta internship next month. I have just received my team assignment as well as the name/email of my intern manager. I am thinking of sending an introduction email to my IM to ask more info about the team as well as recommendations for learning the team's tech stack.

I was thinking of sending something along the lines of the following. I would gladly appreciate any advice on how one can make this email even better. My goal is to make a good first impression to my IM.

Dear [Manager name],

I hope you are doing well! My name is [insert name], and I’m very excited to be joining [Team name] this summer as a Software Engineering Intern. I was recently assigned to your team, and I’m really looking forward to learning and growing from you throughout the internship.

As I begin preparing, I would love to learn more about the team’s focus and, if available, any details you can share about the intern project I’ll be working on. If possible, could you also share what technologies the team primarily works with, and any resources you’d recommend I review beforehand? I’d love to get up to speed so I can contribute effectively from day one.

Thank you so much for your help! I’m truly excited to be joining the team and learning from you this summer.

Some specific questions I had:

  • Is it appropriate to ask for more details about the intern project at this stage, or should my ask be limited to just the team's overall focus and what they do?
  • Is the length of the email appropriate, or could it be made more concise?
  • Do you see any glaring issues with the overall wording or tone of the message?
Show more
Posted 9 days ago
39 Views
8 Comments

How do flat corporate structures affect leveling at big tech?

Software Engineering Intern at Taro Community profile pic
Software Engineering Intern at Taro Community

I know a few companies that have pretty flat corporate structures. A pretty common example of this are quant firms - they usually only make a distinction between regular and senior SWE, with no higher levels. But this also happens at tech. For example, my friend at Palantir said that the hierarchy is pretty flat, so there’s no level distinguishing between them.

I’m currently interviewing with a rocket ship startup and they seem like a great place for career growth, but everyone’s title is SWE. Most of their engineers are ex-FAANG, so talent is top notch. Having talked to multiple engineers there, they all agree that by their first 1-2 years, they’ve taken full ownership of a vertical in their respective teams and some even leading cross-team collaborations. Would this be considered top-end E4/E5 level scope?

My worry with these flat hierarchies is that you’re able to demonstrate scope but you don’t have the title to match up to what you show. And while title is just a string, I worry that recruiters will use your ambiguous level against you? For example, if you’re an engineer with 2 yoe demonstrating E5 level behaviors without the title, how would recruiters level you?

And a more general discussion: how do recruiters figure out how to place you in the correct interview loop? Is there a way to ask the recruiter to move up or down a level?

Show more
Posted 7 months ago
38 Views
2 Comments

How to best approach manager regarding return offer after summer internship?

Software Engineer Intern at Taro Community profile pic
Software Engineer Intern at Taro Community

I completed an internship at a bank last summer. During the internship's end, I received positive feedback from my manager and had expressed a clear interest towards returning.

The recruiter informed us that headcount will not be finalized until January. She said we can contact her after then regarding return offers. In the past year, all the interns received return offers after the new year.

My question is: in January, how should I best approach the recruiter and my internship manager regarding return offers?

I am thinking of writing something along the following lines to my manager, but I am not sure if this is appropriate:

Dear [Internship Manager's Name],

I hope you are doing well! Thank you so much for the opportunity to intern with [Company X] last summer. It was a truly rewarding experience, and I learned so much during my time there.

I genuinely enjoyed working with the team and contributing to [internship project]. Given how much I valued my time at [Company X], I am very interested in exploring the possibility of returning for a full-time role.

Could you let me know the best way to discuss the possibility of returning to [Company X]? I’d be happy to provide any additional information you might need.

Big thanks for reading through all of this - I know it is a very long post and I really appreciate your time!

Show more
Posted 4 months ago
37 Views
6 Comments

How do you deal with poor coders?

Software Engineering Intern at Taro Community profile pic
Software Engineering Intern at Taro Community

I am assigned a project with a teammate and their code is really bad - lots of duplication, many 100+ (even going to 200!) line functions all over the place, unreadable variable names, hard-coded values and the list goes on. I don’t even know if their code works (I’m assuming it does because it compiles and his outputs make sense) but it’s really frustrating when I have to read through their code or integrate changes. Whenever we merge changes together, we always have to sit together to go through every single merge conflict. Recently I’ve started to notice regressions in our codebase that are extremely hard to debug. In these cases I’ve had to ask them to fix the problem.

It’d be one thing if they wrapped their code into some interface that I can call and it works like a charm, but they literally put their code into some of the main classes I built, and I’m getting really annoyed by it. Partially because they “ruined” a class that I built by turning it into a god class and also because it’s hard to debug.

I know that their code is refactorable because I’ve refactored smaller scripts they built, and it became much easier to change the code.

I’m working at a research lab, so code quality isn’t a huge deal as long as you get results.

  1. I’ve mentioned several times to them to refactor the code but they don’t seem to listen (even after explaining that it’s hard for me to contribute since I can’t understand their code), though they seem to acknowledge their code is bad. I think they don’t come from a traditional CS background which is why they don’t care (or know) that much about proper engineering. How can I convince them that quality is important? How do I tell them (politely) that it’s because of their quality that we’re iterating much slower than before?
  2. It’s likely that I’ll have to deal with bad codebases at some point in my career. When do I suck it up and when do I actively address it to the team to do maintenance? What are some heuristics?
Show more
Posted 2 days ago
31 Views
5 Comments