How Fb Core Techniques’ Shruti Padmanabha transitioned from PhD candidate to Analysis Scientist
Our teams of experts of Facebook scientists and engineers work quickly and together to solve some of the most complex technological challenges in the world. Many researchers come to Facebook from leading research institutions around the world and often maintain their academic connections through collaborations, partnerships, workshops, and other programs in the industry.
While some researchers come to Facebook after long careers in academia, others make the transition at the beginning of their careers. Shruti Padmanabha, who joined Facebook after completing her PhD in computer science and engineering, is one such example.
Padmanabha is a research fellow on Facebook Core Systems’ disaster recovery team. Her focus is on building distributed systems that are reliable and tolerant of errors in their hardware and service dependency stack. Padmanabha’s journey with Facebook Core Systems began with a PhD internship, an experience that encouraged her to move fields from computer architecture to distributed systems.
We sat down with Padmanabha to learn more about her post-PhD full-time experience on Facebook, as well as her current research projects, the differences between industrial and PhD research, and her efforts to engage the academic community. Padmanabha also advises PhD students who wish to move into industry after graduation.
Before you join Facebook, tell us about your academic experiences.
After getting my bachelor’s degree in electrical engineering in India, I moved to Michigan to do my masters and PhD in computer science and engineering from the University of Michigan at Ann Arbor. I was interested in how low-level circuitry came together to make computers and I began to solve research problems in computer architecture. In particular, I focused on energy efficient general purpose architectures (like those that power desktops).
What excited me about the graduate school was the opportunity to continuously expand the state of the art. There I learned the importance of communicating in writing and in person, and moving around in a male-dominated environment (I was the first and only woman in my advisor’s lab!) By leaning on underrepresented groups for students and them provided voluntarily. I also found passion in teaching and mentoring activities.
Above all, however, I appreciated the company of the best colleagues and the best network that the graduate school brought me. It was a proud feeling to be treated as a peer by professors that I really respected!
How has your trip with Facebook been so far?
My first experience at Facebook was a 2015 summer internship in Core Systems. This internship was a leap for me as I knew about computer architecture and not about distributed systems. I was working on a proposal to improve the energy efficiency of Facebook data centers by dynamically scaling machine levels based on traffic patterns. The knowledge we gained from this early experimental work influenced the design of some of our production capacity management systems today.
During my internship, I had the opportunity to work on challenging problems for cutting-edge technologies and to work with intelligent, motivated colleagues. I loved that I was able to innovate with more immediate, realistic applications than in academia when I had problems. For this reason, after 27 years in school, I decided to work full-time on Facebook.
When I got down to it, I had the choice of being a computer architect on another Facebook team or switching fields and switching back to Core Systems. I had a very positive internship experience in the Core Systems team and I thought it was good that there was close academic collaboration there. That’s why I decided to permanently change fields and switch to distributed systems.
My first position was on a scouting team trying to find new ways to distribute Facebook systems in data centers of different sizes and in different geological locations, which gave me a crash course in real distributed systems of all kinds. It also gave me a golden opportunity to learn the physical side of Facebook-level data center design, from power transformers to submarine network backbones to CDNs.
I learned that there is always room to learn new things and grow within core systems. To ensure a healthy flow of fresh information, I conduct bi-weekly brown bag sessions where teams present technical achievements and design challenges, and Facebook presents n00bs introductory infrastructure classes.
What are you working on right now?
My current focus is on improving Facebook’s fault tolerance and reliability. Facebook’s service infrastructure consists of a complex network of hundreds of interconnected microservices that change dynamically throughout the day. These services run in 11 data centers developed in-house and located around the world.
Errors on this scale can occur – like a single host losing power, a power transformer struck by lightning, a hurricane risking an entire data center, a single code change resulting in a cascade failure, and so on . Our team focuses on designing Facebook’s services in such a way that such errors are tolerated appropriately and transparently for the user.
Our OSDI paper from 2018 deals with a mitigation approach in which the data traffic is derived from faulty data centers. Justin Meza and I also gave a talk at Systems @ Scale 2019 in which we described the problem of handling power outages in the sub-data center. The solution required creating solutions that spanned the entire stack – from redistributing hardware resources across the data center to balancing services between them.
How did you show yourself in the academic community?
I’ve kept in touch with the academic community by attending conferences, attending program committees, and mentoring interns. I was a member of the program committees for several academic conferences (ISCA, HPCA) as well as for Grace Hopper. I like to take part in events where I can reach doctoral students directly, especially those from underrepresented groups. For example, at MICRO 2020, I moderated a panel on tips and strategies for doctoral students looking for jobs in industry, and took part in the Research @ panel at GHC 2017.
At Facebook Core Systems, we maintain and nurture a strong bond with academia, both in terms of publishing at top systems conferences and in terms of awarding research grants to academic researchers that I have also had the opportunity to help with.
What are some key differences between PhD thesis and industrial research?
When applying for a PhD, the work is usually quite independent and self-contained. In industry, on the other hand, projects are distributed among team members who invest equally in their success. I had to purposely change my academic mindset from being solely responsible for running a project to working as a single member of a collaborative environment.
Industry research could also have the advantage of a mature infrastructure and access to real data. For me it was a breath of fresh air not having to build / hack simulators and micro-benchmarks. At Core Systems, the development moves from a proof-of-concept to a test and a relatively quick introduction in production.
I’ve also seen a difference in how projects are prioritized in the industry and how success is measured. Within Core Systems we have the freedom to select the most important problems to work on within the framework of the company-wide goals and to develop long-term visions for their solutions. Semi-annual reviews are the checkpoints to measure the success of this vision.
Where would computer science doctoral students who are curious about the transition to industry after completing their dissertation recommend starting there?
Discover different sides of the industry through internships and use your professional networks. We are fortunate that there are usually many internships in our field. Experiment with different types of internships in research labs and product groups if you can. Not only will these opportunities give you some insight into the type of career you could build in the industry, but they will also help you connect with industry researchers. Many industry jobs and internships have rather general sounding descriptions that make it difficult to imagine the work involved. Therefore, it is best to gain hands-on experience.
You can also use the connections through your consultant and alumni network and get in touch with industry researchers at conferences. Be sure to discuss the breadth of research in your company and your job interviews. Don’t be afraid to leave your research comfort zone to try something new!