I'm heading towards the end of my internship and I'm starting to regret not taking an R&D intern offer I had with an F1000 (think of Dell, SAP, Autodesk, etc.). I signed an offer with a startup and then received the opportunity to do some cool GenAI stuff with the F1000. Looking back I feel like I should’ve reneged the startup for this F1000, but I was too scared since I was going to work with my closest friend group (they’re the ones who pushed very heavily for my case and the ones who sent the offer) at the startup and I didn’t want to burn a bridge by reneging. I also wanted to try doing a software engineering internship since many of my past internships were R&D oriented, where things like code quality and other engineering practices didn’t matter as much. The startup, though young, has reputable investors, an industry veteran as the founder and a successful MVP, so I thought it’d be a good place to grow. The return offer is still up in the air due to visa issues.
I regret declining the F1000 because I feel like I could’ve specialized even more at GenAI, which is what my most recent experience has been. Furthermore, being a F1000, getting an RO might’ve been easier since my visa issue wouldn’t be as big of a problem. Looking at my resume, it’s now a jumble of robotics, machine learning, GenAI, academic publications and now software engineering. While each portion of my resume is individually strong, when you put them all together, it feels like I’m suffering from an identity crisis.
However, I think the internship went fine. I built a distributed database and message streaming system for my internship. The project was pretty open ended so I got to own the whole project following a set of stringent performance requirements. My friends at FAANG considered my intern project to be FAANG mid-level scope, which is pretty cool. I learned a lot about good engineering, system design (read the entirety of DDIA), diving into large codebases to make changes and more.
I think the right answer is just to accept that I can’t change the past and just keep moving forward, but I can’t stop thinking about what could’ve happened if I had taken that F1000 offer. I’ve had trouble sleeping the past couple of nights thinking about it. This is my last internship so it’s pretty important, and I feel like I squandered it by making a poor choice.
So how do you get over mistakes you make in your career? Any different perspectives?
The other answers are great and agree that it's not useful to overthink what has already happened. Also, from what you're describing you probably have a fantastic resumé and have collected a bunch of different experiences! And honestly that's what university is for!
When I was in university, I liked to think about my resumé a collection of "stamps". I had to have in my CV a number of experiences that ultimately would lead to my dream job. I did a little bit of everything: private tutoring, TA positions, undergrad research, technical proposals/sales internship, interned at a bank, then my final internship was at a Big Tech company. But I don't think a resumé like that showed a person with an "identity crisis" - it only showed I willing to take the most of the experiences I had access to.
I actually believe that a generalist resumé is the best as opposed to a "focused" one when you're early in career. Having multiple experiences will help you decide which path you will want to take. It can also qualify you for more job opportunities since you will have collected experiences in more areas.
So, do not feel bad for your choices, they're just part of your story. If you want to go back to the F1000 company, you still have your whole career to do it.
The grass might seem greener on the other side.
The "What If" question will be one you will ponder many times in a long career.
What If you had joined an F1000 and the actual work might not have been what you expected.
What If you had joined the other company, perhaps you would have the same question - maybe I should have joined the startup.
In some of the big companies, it might be easier to get lost and the impact might not have been as visible as a startup.
These are just some counter examples and things might have been positive also, if you had joined the F1000.
As the other answers below mention, live a good life, your story is still being built and you have a long career ahead. Good Luck!
There's no use crying over spilt milk. It's valuable to retrospect (critical even), but don't dwell on the past. Focus on moving forward, learning, and growing. Careers are long, so for most engineers, their future dwarfs their past. Who cares if you didn't optimize a 0.5% slice of your career?
Tactically, the best "cure" for this mindset shift is just to live a good life (it will distract your brain from having negative thoughts):
I have made many dumb mistakes across my career. I use that as motivation to get even better faster so the mistakes don't matter in hindsight. Overall, that mindset has served me pretty well 😁
Here's a sort of related thread: "How do I not compare myself to others in my career?"
Lastly, fwiw:
tl;dr: don't be too quick to judge or regret a decision -- what feels like a bad decision now may feel like an amazing decision years from now.
I suffered through several sleepless nights in university after I turned down a teaching assistant (TA) position that would have been very cool (and paid for my MS degree). I had so much regret since I felt like I missed the boat on a compelling opportunity.
However, the opportunity I chose led to a founding engineer opportunity at a startup which worked out just fine 😇 (and, actually, it also paid for my education).
Realize that this story is incomplete. You probably met incredible people at the startup, and they may shape your career in ways you don't yet know. Don't rush to a judgment about what would have been the best decision without the fullness of time.