icon picker
Product vision, design critiques, & scaling a startup

Reflections on my internship at Coda
My Coda story began with a series of coincidences.
As a college student, I was always on the search for a better home for my school notes, so I was pleasantly surprised when I stumbled upon Coda while lurking on a Twitter thread.
Then Coda resurfaced during a discussion with a friend about potential options to switch our school club documents onto; a few weeks later, I rediscovered Coda through the Kleiner Perkins Fellows Program.
I finally decided to give Coda a shot and began tinkering around with its myriad of formulas, templates, and displays, becoming increasingly inspired by its delicate balance between form and function. I knew I wanted to work on a product that I genuinely believed in, so I serendipitously applied to the internship program and found myself invigorated as I chatted with Coda’s engineers about the product and our personal values for growth. We launched into a lively conversation about our trials with productivity tools, and I was immediately drawn to their strong belief in Coda’s product and their values in craft and culture.

Joining the team

Fast-forward to my first day at work as I cracked open my laptop, and I was greeted by a stream of welcome messages and virtual coffee-chat invites from fellow Codans. I was placed in a cohort with other new-hires, who I saw frequently through our series of New-Hire Onboarding session together, and was paired with my Coda Buddy Tommy Hung, who helped familiarize me with Coda.
Since I was working all the way from New York City this summer, I was afraid that I wouldn’t be able to get to know Codans as well as had I been in San Francisco, where the office had the possibility of reopening. But my fears were instantly dispelled.

The Codan community

Right off the bat, it was clear that my fellow Codans genuinely cared about my success and actively made time for each other. Through casual fireside chats with leadership, I deepened my understanding of Coda’s history, values, and growth. During my first presentation during company-wide Friday demos, I watched as supportive messages adorned with emojis flooded into the Zoom chat. Any time I was confused about anything, people were more than willing to hop on a call to offer a fresh perspective and help me debug.
Even beyond work, the initiative that Codans took to get to know each other was evident. Codans living in and visiting New York City for the weekend were eager to meet up for brunch. My team even had an offsite baking social where we made Auntie Anne’s pretzels with Baking with Melissa. Even though my internship was still officially remote due to the pandemic, the close-knit community at Coda made it easy to develop strong relationships with Codans in and out of my team.

My project: integration with Microsoft Teams

At some point after onboarding, I was introduced to my intern project. Coda had already released an integration with Slack in the middle of last year, which had been invaluable for users who used Slack every day. However, we couldn’t neglect the enormous number of people in the Microsoft ecosystem, and integrating Coda with Microsoft Teams was an obvious step to help streamline Coda into people’s daily workflows on Microsoft Teams. And that’s where I came in.
My mentor, other engineers, and I started with preliminary planning meetings, during which we fleshed out a design doc to understand the scope of the Microsoft Teams integration and brainstormed functionalities that would be impactful for users.
Initially, my project seemed daunting. Since Coda didn’t have any prior features with Microsoft Teams, not only would I need to familiarize myself with an entirely new codebase, but I’d also need to set up the infrastructure for Coda to continue building out more features with Teams. Nevertheless, I was eager to tackle new technologies and explore the stack.
Over the course of my project, I had the opportunity to drive my project forward from start to finish. From conducting comparative analysis with our existing integration with Slack, to considering infrastructural challenges with bringing an entirely new service into the codebase, to designing potential cards for our link unfurling feature, I was able to actively spearhead the direction of my project and cross-collaborate with talented Codans across the board.


Coming from an internship at a large company where I only worked on a single feature last summer, I merely anticipated similar responsibilities this summer. Taking ownership over an entire integration from ideation to shipment was far from what I’d expected.
At Coda, I learned that there was so much more to being an engineer than being knee-deep in code. Beyond strengthening my grasp on authentication handshakes and handling nested Promises, I learned what effective communication looked like during team meetings and challenged myself to look at the product from a wider lens during internal hackathon brainstorms. I practiced developing product vision, contributed to design critiques, and had the chance to learn more about the business aspects of Coda’s growth.
Most importantly, I had fun. As much as I use the clichéd joke, “Dream job? Sorry, I don’t dream of labor,” I truly loved working alongside people who are simultaneously amazing at their jobs and bring their talents in things like music production, baking, and woodworking to Coda. Working with so many people who unapologetically exude their personalities and skills every day rejuvenated me, and I oddly feel as if the direction of my career has simultaneously narrowed and broadened as I hone in on what I want to do but am inspired by everyone’s individual paths too.
These past 12 weeks have flown by, and I’m so incredibly grateful for everyone at Coda who made this summer what it was and for giving me the confidence to take the next step in my career. Most of all, I’d like to thank my mentor for his endless guidance and support during my internship.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.