Parts 1 and 2 were about my first three internships, and part 3 is about my last two internships. I did my last two internships at smaller companies in comparison: Zenreach (~120 people) and Flexport (~1300 people).
My first three internships, I was meandering. I didn’t feel like a hard worker or a strong intern. I didn’t even feel committed to software engineering. But I did gain experience.
At Zenreach, all this changed. And I had the bestest internship ever :)
Zenreach is the smallest company I’ve worked at. With ~40 people in the SF office (and ~120 people total), work felt cozy. I knew everyone in the office. I was the only intern.
Before Zenreach, if I got better at programming, it was not through any deliberate effort. But somehow, at Zenreach, I got sick of feeling useless and insecure. I decided to give Zenreach my all.
This came easy for me since at the time, I had few interests outside of work, and few friends in the area.
I read some fantastic blog posts by this blogger I can no longer find on the Internet. I followed his advice, to stay independent as a programmer, by answering your own questions, and working hard, by getting to work earliest and leaving latest.
As the weeks went by, I had the darnedest change: I began to like programming.
Those are the first months I can look back on when I was fond of work work. I liked the design discussions, and I liked coding my Scala service. And I tolerated the debugging :)
I began to give a strong performance as an intern. My coworker and friend was generous with his praise, and his praise made me feel great about work.
Metalearning: I need external validation 😂
What’s more, I felt close to people at Zenreach.
You know when you laugh so hard your abs hurt? One time, I laughed that hard with my coworkers.
You know the warm feeling of a dinner with good friends? I had that with coworkers too.
Zenreach made for a warm and fun internship. I left optimistic about post grad life, because there’s a lot of fun (and wild company holiday parties) on the other side.
Full disclosure: I took a couple months to feel this sense of closeness. It takes time to integrate into a group of full-timers, since full-timers have established cliques. Interns are still forming cliques, so it’s easier to quickly become close.
While I had an awesome time at Zenreach, I wanted to explore a company with breakout growth. Like, what’s all the fuss about? Zenreach added many new faces when I was there, and was on a previous year’s Breakout List, but it wasn’t a hypergrowth company.
I also wanted to look for a company where I could work as a full stack engineer (not just frontend or backend). Partially, I was hoping to take what I learn and apply it to side projects. This was hard to find! Many companies I interviewed at had separate frontend and backend teams.
Eventually, I made my way to Flexport 🤗 Flexport is growing fast. By the end of my internship, Flexport had added roughly a quarter of our employees during my three months there. Wack.
I saw how this is good for careers, especially as you get more senior. First, you get many mentorship opportunities, since there are always new hires on your team. Second, you always get something meaty. For instance, my team took on a search refresh, custom tasks, custom references, and filter groups, all this quarter. That’s a lot to own, and at a large company, we might be multiple teams.
That said, working at a hypergrowth company wasn’t as magical as was sold to me. Lowkey, I came in expecting some kind of religious experience.
Naw, at the end of the day, it’s just another desk job.
A well-compensated, fulfilling desk job with great company.
I enjoyed the people at Flexport a lot. In my experience, I noticed many engineers at Flexport had social lives at work. Everyone wanted to get to know one another, even across teams. People were always grabbing coffee or boba. This was a fun environment for me, because I like to make friends.
A large reason this environment exists is age—Flexport has a lot of young people—but I like to think it’s also because of a nice culture.
Working at Flexport after working at four other companies, I realize there are many factors to how much you end up working, like:
• Do you have sprints / micro deadlines? Some teams don’t.
• What kind of team are you on? If you work on a product team, there is more pressure to meet deadlines from product and business. If you work on a backend team, perhaps everything is on fire and only you can fix it 😅
• What time of year is it? At Apple, my team would be most busy before the deadline to merge your code for the iOS release. On the other hand, after WWDC was supposed to be chill. At Flexport, the deadline for my teams’ projects was the Forward 19 in September.
• What are people around you doing? Even if your team leaves ASAP, if there are people from other teams working around you, you have social proof that it’s OK to stay late. You become more likely to fix that one last error before you leave.
Of course, people could be staying late because they were on Reddit all day and only now are getting to their work, but you would never know.
• How good are you at giving engineering estimates? If you’re trash at estimating, and you overpromise, you’ll feel more pressure to stay behind and finish your work.
To achieve your desired work life split, first realize these factors exist. Then, make deliberate choices to set your rhythm, instead of letting these factors pull you into a their rhythm.
At Flexport, I had an interesting experience. There, I worked long hours the last three weeks of my internship. I worked most evenings and some weekends.
Why did this happen? Well, because of a combination of the above factors, but also largely out of personal choice.
I didn’t mind. I saw the custom tasks feature I was building as a creative project and I wanted to lose myself in it and be consumed. In my head, I drew a similarity to Kazuo Ishiguro, who threw himself into writing The Remains of the Day:
I would, for a four-week period, ruthlessly clear my diary and go on what we somewhat mysteriously called a “Crash”. During the Crash, I would do nothing but write from 9am to 10.30pm, Monday through Saturday.
After three weeks of this, I wasn’t burnt out, just bored. I was still working, since I had added a week to my internship, but I lost steam. The internal drive that kept me going turned off, even though the external factors were still there.
If I had to redo the experience, I would conduct myself the same, only I would make sure to exercise. I didn’t keep up the habit during those three weeks. That felt to me the only unhealthy bit.
To end this series, I want to say how grateful I am for all these experiences. I know there are many college students that don’t get to take on these internships.
When I think “college”, my mind jumps to UCSD and my college friends and tacos. But I forget to look back on the cumulative 1.25 years I’ve spent interning. When I think of the internships I’ve had and the people and places and experiences—
Man, it’s been a blast.
Thanks so much for reading :)