life at Twitter, Amazon, Khan Academy, and two hardware startups
20 months, 5 internships, 1 vacation / part 3 of 3
I have 65 weeks worth of daily journals and to-do lists from my internships. Suffice it to say, it has been a long ride, perhaps a bit too long; at this point, I’ve worked at more companies than my dad who was in the industry for 20+ years.
My experience is not common, but it’s not uncommon either. A majority of students from the University of Waterloo do four to six co-op work terms, and I know a handful of students from elsewhere who did the same.
When I was looking for internships, I found it helpful to read blog posts and articles written by past interns. In a similar fashion, this post is just another “Day in the life of an intern at ___” article or vlog. Except it’s 65 weeks in the life of an intern at Twitter, Amazon, Brilliant.tech, Khan Academy, and Arc Boats. I’m offering you a unique, no-fluff perspective on all of them.

As I transitioned from one company to the next, I compared them extensively. I learned how software differs across industries, the main differences between big tech and startups, what I want out of my career, and how to make the most of an internship. As I meandered on my journey, I started getting similar questions from students, coworkers, and friends alike. What was your favourite experience? What did you work on? How was your team? This post is as much for those curious folks as it is for myself. What did I actually gain from doing so many internships? Was it worth it? Why did one resonate with me more than the other?
To answer these questions once and for all, I’m sitting with myself and hashing out my thoughts in this more structured, elaborate, and public medium. As someone who has been called “head-empty” on more occasions than I’d like to admit, writing/typing this out is the only way to get my thoughts in order. I’m going to break it down into 7 points (as per Lesson 23). Let’s dive in.
Twitter
Honestly, three years later and I’m still in shock that this was my first internship. Working at Twitter shaped so much of my subsequent expectations, and I owe it all to my team.
1. People people people.
I was expecting a level of professionalism at work. I wasn’t expecting a Slack message saying “hey… are you down for something crazy?” to turn into a week in New York City enjoying miso-marinated black cod at Nobu and sitting on the steps of the MET while crashing on an air mattress in a Brooklyn basement.
I didn’t know work was going to be so… fun. There’s a reason Twitter’s motto was #LoveWhereYouWork. The community there was something special, and it was rightly known as such. I’m not the most excited by deep technical challenges, but I was excited at my job everyday because I got to work with incredible people, and I strongly believe the reverse is also true — if you work with bad people (bad managers, team leads, (hopefully not) interns, etc.), you’ll hate your job no matter what you’re working on. At the end of the day, being a software engineer is social. You don’t have to love your coworkers, but you should like them enough.
For many incoming interns, returning to Twitter full-time was the dream. But of course, this was the summer of 2022, the tumultuous time before the Elon Musk acquisition. One piece of advice that has stuck with me ever since came from Nick Caldwell, a now-former General Manager of Redbird engineering at Twitter.
2. Your skills are your safety net. Nick Caldwell
When you accept an internship, you’re doing everything you can to get a return offer (such as reading my post on how to get one). For so many interns that summer, that hope was extinguished with each new LinkedIn post about rescinded offers, yet another round of layoffs, and surprise hiring freezes.
I quickly learned that no matter how attached you are to a company, the company doesn’t care about you. Maybe individual people do, but ultimately, you are a foot soldier. When budgets become tight, it doesn’t matter how much you align with the vision, how many hours or years you’ve put in, or how many lines of code you’ve written. Once a “higher up” decides you’re out, that’s it.
But it’s okay. You carry your experience with you, and whatever the market conditions, you’ll make it work because you are exceptional at what you do. Trust yourself and the skills you’ve built up over the years. Not only that, but you also carry something else, something far more important and useful in a job search — your connections.
2. Your network and your skills are your safety net. Nick Caldwell (sort of)
What else do you retain across your career? What about the faces that you saw day after day — the coworkers you greeted every Monday to and stole kitchen snacks with? (If that last part was not relatable, you are either lying or you work at Amazon.)
At both startups I worked at, I noticed a lot of employees had a very similar background — too similar to be a coincidence. Of course, this was perfectly logical; interviewing takes up valuable time and resources, and when you hire a total stranger, it’s still a gamble whether they’ll be a good fit or not. It is so much easier to hire an old coworker that is looking for a job (or sometimes not looking!).
So, be fun to work with, and your coworkers will be there to help when times are tough. If you don’t have much work experience yet, LinkedIn is a great resource to make connections. You can also attend networking events and conferences for technologies you’re passionate about. You would be surprised how many niches have their own events!
Twitter feels like forever ago, but looking back on photos reminds me how hard and fun that summer was. When I was applying to internships, I remember discounting myself thinking every applicant had a better resume and would outperform me. Working on that team was the first time I felt like I could do it. I got my foot in the door. I was finally on the path to becoming a software engineer.
Amazon
At Twitter, I built a feature that spanned the entire stack. At Amazon, I was asked to do something similar. I thought it would get easier, but there was still so much to learn. I learned what Infrastructure as Code (IaC) was, how to create detailed sequence and architecture diagrams using PlantUML, and how to estimate timelines. It was overwhelming. Although the task was similar, AWS technologies and Amazon-specific tools and processes were completely new. That being said, I think I learned the most valuable lesson in my first three weeks, and it was one that has been paying dividends ever since.
3. Stay organized.
Writing my design document was the hardest part of the internship. I wrote one at Twitter, but it was nowhere near as detailed or formal. My final document was 16 pages long with sections for diagrams, schema definitions, and cost analyses broken down to fractions of a cent. Once it was finished, I presented it to my team and external stakeholders in an hour-long meeting where the first 15 were spent in complete silence as they pored over every detail. Those were the longest 15 minutes of the 12-week internship.
Once that meeting was over, however, and I started coding, the work flowed smoothly. I knew exactly what had to be done and by what date.
I remember vividly a conversation I had with my mentor during my final week. I expressed how relieved I was to have completed my project on time and all the stressors I felt throughout. I rambled on, but she responded plainly and said that as soon as she saw my finished design document, she knew I’d be able to do it.
Staying organized benefits both yourself and others. By spending almost a month on my design before starting to code, I fixed issues by modifying one line instead of hundreds. The timeline also gave other people visibility into my work. It was clear how each pull request fit into the bigger picture.
Brilliant
After working for some big names in the industry and getting my feet wet with full stack development, it was time for something new: mobile development at a startup with mandatory work from office five days a week.
4. Move fast.
I came to Brilliant from a background in big tech, which is known for lengthy approval and review processes. Here, I wrote code on my second day. By the end of the internship, I was contributing features to the company’s core initiative. At every internship, I felt like I was working faster than the previous. I don’t know how factual that is, but if speed can be quantified by the first day that I committed code, going from Amazon to Brilliant was the biggest leap. Although you can move fast at any company, it’s especially easy and encouraged at a startup, which is one reason I see myself hanging out with startups for a while. Another reason is because of point 2 (You are your safety net). You gain confidence and expand your safety net by watching yourself succeed and tackle challenges over and over again. The faster you can volley these challenges, the more you prove to yourself that you can, the more empowered you feel, and the more equipped you are to handle new responsibilities.
To my team, thank you for taking a chance on me. This internship reminded me why work is fun — it was a job that didn’t feel like a job. I enjoyed it so much, I went back to visit multiple times the following summer and was always greeted by quips like “Back already?” or “It’s like you never left.” Once again, there’s a reason why it’s point 1: the people made Brilliant special.
5. Let yourself take breaks
It’s funny that this is point #5, because this is also where I’m taking a break from finishing this post — I have two more internships and one full-time gig to cover, and trying to cram all of that information in here would be a disservice to you. Instead, let these things marinate for a little while until I’m ready to cook you up another delicious meal of a post.
Until next time.