From June to August 2019, I was a Front End Engineering intern on the team that works on the address bar (aka search bar, URL bar, Quantum Bar) for Firefox on desktop.
Working at Mozilla in Mountain View
I worked on designing and developing a Web Extension API for Mozilla-signed add ons to add their own icon, text, and button in the address bar's list of search suggestions. I talk about the gist of my work in the following video: Mozilla Summer 2019 Intern Presentation - Omkar Konaraddi
The actual api was browser.urlbar.contextualTip
but browser.contextualTip
looks more clean on a slide.
Link to the slides on DropBox.
My mentor and other engineers were very helpful. Mozilla is big on remote so most of my interactions with team members, besides my mentor, were through Slack, IRC, or Zoom.
Almost half the office seems to be empty; I think it's because a lot of people work remotely. There's a kitchen on both floors, there's a mini gym, a pool table, a ping pong table, and a game room. Lunch is catered.
Living in Mountain View
I lived in a house with four other interns on a corner of Franklin St which is very close to Castro St where there's several places to eat (although I usually ate at Asian Box, Taqueria La Espuela, Oren's Hummus, and Mediterranean Grill House). I paid $1,700/month for the top bunk of a bunkbed through PadPiper. Mozilla provides a $5k housing stipend so it almost covered the three months of rent.
Random bits in chronological order
I arrived a week before the internship started.
Sea lions napping at Pier 39.
A part of San Francisco from afar.
I moved into the house and met my housemates. The house is one of the oldest houses in Mountain View; it was built in the 1800s but has been renovated since then. It's a block away from Castro St where there's several places to eat. I ate out the entire summer except for breakfast and lunch on weekdays (Mozilla caters lunch and their Mountain View office has a kitchen on each of the two floors). This one time I made an egg 'n cheese sandwich for breakfast. My housemates were awesome and we were all interning in the area.
There are two pieces of the Berlin Wall outside the Mountain View Public Library.
The internship begins
The above photo was actually taken several weeks into the internship.
There was an intern orientation where I met the other interns at the Mountain View office and we got our Macbook Pros for work. There was a zoom call with the interns in the San Francisco and Toronto offices where we went over stuff like company policies, how we get paid, we each shared a fun fact, etc.
We each got a backpack and water bottle with the Mozilla logo.
I met my mentor and was introduced to my project. I'll be working on a new JavaScript API for Mozilla-signed web extensions to provide contextual tips in the address bar (also known as the urlbar and Quantum Bar). A contextual tip is a custom search suggestion with an icon, some text, and an optional button or link.
All-Hands at Whistler
Twice a year, Mozilla has an all-hands conference where almost all employees and some volunteers get together to see each other face-to-face (around half of all employees at Mozilla work remotely) and plan stuff for the next quarter or half of the year. This summer, All-Hands was at Whistler in B.C., Canada.
Monday, June 17th
Flew from San Jose to Las Vegas to Vancouver then took a bus to Whistler. There was a lot of food at the Whistler Conference Center. I met interns from the Toronto office, some members of the search team, and my manager.
Tuesday, June 18th
Most lights were briefly turned off before the morning plenary, at the Whistler Conference Center, began. Maybe I should've taken a picture when the lights were on. 🤔
There was a Native American hoop dancer at breakfast. I met and worked with members of the Firefox search team, had lunch with some of the MTV interns, continued working with the Firefox search team in our homeroom, and had a delicious dinner at Mongolian Grill with a few members of the search team. They went for drinks afterwards and seemed puzzled when I declined to join them; I think I should've mentioned that I don't drink.
Wednesday, June 19th
Ate breakfast at the Whistler Conference Center and listened to some of Mozilla's execs speak. They talked about the upcoming subscription service. Mozilla wants to engage with Firefox users and obtain revenue from them through a freemium model where Firefox users can get access to some features or tools if they make a Firefox account and then get even more goodies if they pay a monthly/yearly fee. The execs mentioned they're still figuring out what they'll be offering to premium users. An exec seemed to suggest that by generating revenue from a subscription service, they could spend more money on other efforts (it's unlikely that the subscription service would provide enough revenue for Mozilla to be indepedent from Google). Firefox is consistently losing 8-9% of its monthly active users (MAU) each year and offering a subscription service means putting our best, new features behind a paywall when we're already losing users. I'm no business strategist but I don't think this is a good idea. I think Mozilla should consider forking Chromium and I think the trade offs would be worth it but I digress.
Ate dinner with some members of the Firefox desktop teams at La Bocca, an Italian restaurant.
Thursday, June 20th
Attended the Firefox profiler workshop. Grabbed dinner and a mango shake from an Indian restaurant then went to my hotel room to eat and write a paper for my online professional writing course.
Friday, June 21st
All the Mozillians took gondola lifts to the top of a mountain (or maybe it's just a a very large hill with snow at the top). Half way to the top, the gondola lift slowed down and slowly went through a "station" (I don't know what else I'd call the stopping area so we'll have to make do with "station" for now) where some enthusiastic Whistler staff briefly stepped into the gondola lift to offer us sparkling water, beer, and hummus on sliced carrots.
At the top of the mountain was the Roundhouse Lodge where we ate lots of food, watched some people do tricks on bikes, and watched/listened to many talented Mozillians do karaoke.
View from the Roundhouse Lodge.
Stickers and a name badge.
Going home
Mozilla organized several shuttles to run from Whistler to the Vancouver airport and back. I took a shuttle to the Vancouver airport and when I walked into the airport I felt like I was missing something. I checked my backpack for my passport and it was there so I was all good. A few minutes later, I realized that I didn't have my suitcase with me! I ran back outside and luckily the shuttle was still there with people standing around my grey suitcase.
I took a flight from Vancouver to Seattle and then from Seattle to San Jose. I've been on a plane several times but each time the idea of a heavy, mostly-metal contraption carrying many human beings in a pressurized container at high speeds at high altitudes is so cool. The future is here. It's unfortunate the wings of a plane don't flap.
July 4th
Went up to San Francisco and ate in Chinatown with other MTV interns.
Afterwards, we went to a bubble tea place and I got a strawberry banana smoothie in a glass bottle. A PhD student from Turkey said something along the lines of "It makes me happy to know that there's engineers [at Mozilla] doing good work instead of collecting and selling user data". Next we went to the Mozilla office, in SF, but we couldn't see the fireworks. The bridge looked cool at night.
View from the top of the Mozilla office in SF.
July 9th
Today, at lunch, I learned from another intern that there are NLP algorithms that can measure racial and gender biases in some given text through something something to do with constructing word associations and vectors (word2vec?).
July 13th
Went to the MoMA in SF and saw the Andy Warhol exhibit with other MTV interns.
July 15th
There are two interns who have been contributing to Firefox since they were 14! What was I doing when I was 14?
July 24th
I decided to make some substantial changes to and removals from the contextual tip API to improve the developer experience and remove unnecessary complexity (hmmmmm who added that complexity in the first place 😅).
July 31st
The university recruiting team organized an intern speaker series where they bring in someone to speak about something. Today we listened to Mike Kaply speak about the history of Mozilla and it was both entertaining and interesting.
August 2nd
The MTV and SF interns went to Alcatraz and toured the island.
Towards the end of the audio tour, is the following quote from the last inmate to be released from Alcatraz:
And I remember when they released me. I'd been locked up for 15 years and afer all this time I never had no visits, no letters, no nothing, and I'm watching the cars whizzing by and the people walking. Everything was uh moving too fast and I didn't know how to move with it. And I remembered how envious I was of these people because they all had a destination, they were all going some place and I didn't know where I was going. And I was scared to death.
August 3rd
On the bus to work, I met a researcher who works on developing drugs for cancer at a biotech company. He said it's unlikely all types of cancer will be cured but that cancer will become a disease that can be managed and will no longer be a death sentence (he expects this to be true within our lifetime).
August 6th
An engineer at Mozilla showed me the fastest way to my desk when arriving to work. I went up a stair case and through a door that I didn't know existed. My mental model of the office space was blown away but now it's been updated with something more accurate.
I had my first cup of coffee. It was a "Lungo Forte Decaffeinato Intensity 4". I had trouble sleeping later that night. It's unclear whether it was a coincidence.
There were some intern presentations today.
August 8th
We (the MTV interns) painted Firefox logos.
August 9th
TIL you can get a stack trace by creating an Error object and printing its stack property (at least in Firefox).
console.log(new Error().stack)
August 19th
Watched intern presentations and had my presentation today too.
August 23rd
Last day of the internship. The MTV interns ordered or picked up food then ate and hung out at the house where my housemates and I were staying. I left for home early next morning.
Fin
Flying from the west coast to the east coast within the same day was a bit surreal. Did it really end? Huh, yeah, I guess it did. I'm happy I got the opportunity to work at Mozilla in Mountain View, CA this past summer 🙂
There were interesting conversations about privacy, ethics, healthcare, elections, incarceration, diversity, life and more at Mozilla (both during the all-hands at Whistler and at the Mountain View office). A lot of the interns and employees I met at Mozilla are very friendly and deliberate about how they spend their time.