This year marks my 8th year at Google.
It is both humbling and scary at the same time. Humbling: grateful for Google giving me the opportunity to solve real-world problems. Scary: too long staying at the same company questioning my life purpose and meaning. Google was my dream company, and it still is. I hope it continues that way.
Google is my third company, I previously worked at HCL & Akamai. Just before I joined Google, I had a small stint in two companies: Swiggy - an early team member contributed to the launch of a new revamped home page. Worked closely with Swiggy co-founders. I had to quit Swiggy to join Amazon and worked on a greenfield project that involved building Amazon’s browser extension. Had to quit Amazon to join Google, my dream company. This is all while I wait for the months-long interview process at Google.
I vividly remember the interview process and how excited I was to attend the interview at Google. I even remember which shirt I wore, the time I travelled to the Google office, how I travelled, the names of interviewers, and the meeting room where the interview took place. The only thing that kept me confident was that I kept saying to myself: “I can do this!”. The hiring process was fairly long i.e., the gap between the rounds of interviews happens between days instead of back-to-back interviews. This was a norm with Google interviews back then.
Before joining my team in Bangalore I had a week-long Noogler orientation (Training for New Googlers) at the Hyderabad office. This is a standard training where you’ll learn the foundations of Google. This is where they make you wear a Noogler hat (A google-coloured hat with a fan on top).
In my initial days of joining my team at Bangalore, I was mostly invested in getting to know my teammates, getting a rapport with the team and ramping up on the project. Oh boy! I was so pumped to work with this team. It was a greenfield project that revamps the Google Workspace application (admin.google.com) which was written in deprecated GWT, into a new web framework. Our team was one of the first teams to adopt this proprietary technology. Now it is a de-facto framework used across and recommended by all products at Google. I was so inspired by working on this project as I got to work with PMs, senior designers, user researchers, UTLs, backend devs, test engineers, PGM and partner teams. I learnt so much in this team amid disagreements and conflicts. We used to celebrate even a small launch (Thanks to our energetic PM). I’m grateful for working with a team lead (TL) who has answers to any questions I have and has a strong sense of opinionation. TL confidence gave me even more confidence to do more. Empowering team members is a true quality of a good leader. I contributed to the implementation of user management which was our first major milestone. Created a platform for partner teams to onboard (e.g., Google Calendar team to add admin configurations, etc). The launch had a direct impact on Google Workspace users, as measured by customer surveys and page traffic.
After 3 years at my first project, I learnt about a new opportunity in the Material Design team. They were looking for a Software Engineer role to build a new version of Google-wide components for the web that is agnostic to the JS framework. Before I heard about this role I was already a big fan of Material Design and their work. I’ve been following Material Design even before joining Google. So, I interviewed with the hiring manager and also got a chance to meet my future manager in person during my travel to Mountain View. I decided to join the Material Design team in New York. My team was co-located in New York & San Francisco. I was so excited to travel to the US and work on this project.
I was inspired by this way of thinking: whatever was good for the Web would be good for Google. This is what inspired me to join the Material Design team so I can contribute to the project while being valuable to the web community. Wider impact beyond Google!
The Material Design (Web) team was split between 1P (Components for Google) & 3P (Open Sourced Components, wrapped by Google components). The team & project were fairly new considering we were working on building a new set of components from scratch. Unfortunately, after a year or so the team size was drastically reduced, attrition rate was high. Imagine a situation where you’ve left your home country to join a project that you always dreamt of, the situation turned out to be chaotic and uncertain.
Leadership didn’t want to prioritise a lot on the 3P because of the lack of impact to Google. My reporting manager changed 4 times within 1-2 years. In the initial days of learning this, I was convinced that I should prioritise and focus more on supporting 1P while also balancing contributions to 3P. I’ve proposed to merge the efforts and came up with a proposal that would minimise the extra hours spent on 3P. First proposal: Use the 3P as a solid foundation while keeping 1P as a very light wrapper. Second proposal: Automate pushing the commits to GitHub on every CL within Google and also automate the releases to NPM. It is important to keep this momentum because our partner team Angular Material team also would benefit from this. Since then we made the Google Product & Partner teams happy by serving these branded Google components. This unblocked the huge dev friction. Around the same time, our team had a new manager. The Lit team who owns Lit Components joined Material Design. Our team slowly grew.
The year was 2020 when the COVID-19 lockdown started. Our team learning to work remotely amid the uncertainty. Material Design proposed yet another version called Material You (aka Material 3). This is the current version of Material design used by all Google Products including Gmail, Meet, etc. Researched, designed, and implemented global theming using CSS custom properties using APIs that would allow theming at compile-time / run-time and server-side / client-side theming at Google scale using tokens provided by the design system. This was a challenging problem because it required re-architecting the component styles without breaking UI components already used on production, the theming should be backwards compatible, should be compatible with the existing framework/platform, and should support Dynamic Theming. This project went through lots of design phases, discussions, disagreements, prototypes, and implementations. In the end, we successfully landed the Material You for the Web. It was a true testimonial of a team effort. Around the same time, our team re-implemented our UI components from scratch in HTML standard Web Components which was based on lit components apart from the 1P components, and we were also experimenting with a new transpiler that would transpile Web Component to 1P component set for backward compatibility and to support server-side rendering. Unfortunately, the project that transpiles the Web Component into a 1P component which is based on a proprietary web framework was discontinued. My key takeaway from working on these projects: “Any project that would rewrite the whole tech stack is too hard to land. Prioritise a business-first approach, without focusing too much on simplification or tech debt. Make developers happy, make sure it has a meaningful impact to Google.”.
After close to 4 years of working on this project, and in the US, I had an unplanned event that impacted my career. I was unable to obtain an extension for my US work authorization due to COVID-19 restrictions on travel to the US embassy outside the country and increased scrutiny of US visa extensions by USCIS. My stay in the US was uncertain for a long period. When I was informed that my application had been denied, I had only 3 to 4 days to pack my belongings and leave the country.
I am grateful for the support from my manager in the US provided me throughout my journey, not only in my career but also on a personal level. A good manager not only helps you grow professionally but also personally. They value you as an individual and not just as an employee. They understand your strengths and weaknesses. After moving to India, I had the opportunity to work with the same team for a few weeks before transitioning to another project, Google Search.
Currently, I’m leading projects related to Google Search JS dev infra and Google Search Rendering latency.
(to be continued…)