Sonali Dutta, a software engineer at Google, chose to pursue her passion for research at Rice University under the direction of Moshe Vardi, a pioneer in formal methods. The computer science alumna (M.S. ’14) also chose Rice because of the CS department’s high ranking and cozy environment.
“I was very busy at Rice, of course, working on my research, reading papers, taking courses, TA’ing courses,” she said. “Here at Google, I am still busy but more time is spent interacting with other engineers and sometimes with clients. A lot of time is spent communicating across several teams. Team effort and communication is one of the key things to succeed in places like this.”
The nature of her work changed after she graduated. “In school, you work on what interests you, somewhat guided by the vision of your adviser. In industry, you have to invest your time in what the market demands. Sometimes you have to get your hands dirty doing grungy work to help things move forward,” Dutta said.
Her first post-Rice job was at Synposys, an electronic design automation company, building software used to make chips in such devices as mobile phones and laptops.
There Dutta developed IC Compiler, a complete place and route system for transistors. It is the highest revenue-generating tool made by Synopsys. Dutta focused on the tool’s routing algorithms. Routing is a complicated problem when there are multiple metal layers to choose from while building the routes connecting millions of transistors.
“How could we optimally route them so everything is connected correctly and not have errors? These transistors are tiny. There are millions of them and you can’t see them. We taught machines how to look for connections,” she said.
She moved to Google for the chance to more quickly develop her skills, and was exposed to classes on such recent developments as new technologies and machine learning.
“There is much to learn here,” she said, “like the coding quality –which is much higher and controlled, compared to what grad student coding looks like. Readability of code is taken very seriously here. You also focus more on scalability of any solution you are building.”
The product of her team’s work can be seen in the results of Google searches. For example, answering the question “What is the biggest country in the world?” is a huge project, connecting different entities. The results must be maintained consistently so nothing conflicts, and the responses must be served in sub-seconds.
Dutta’s enthusiasm for a career in technology led her to volunteer for mentoring programs for students from middle school to college. Her mentoring of girls was especially rewarding. Dutta focuses on teaching them to understand the difference between growth and fixed mindsets.
“A growth mindset says no one is born smart or stupid, but when you work on solving problems, you develop your brain,” said Dutta. “When you repeatedly solve similar problems, the neural connections become stronger. Just as exercise builds up your muscles, solving problems builds up your brain.”
She offers similar advice to graduate students: “Master’s students should focus on learning. Rice’s CS faculty is strong, helpful and research-oriented. There’s a lot of technology development going on in the department, so get involved with it.”
Dutta suggested students not focus only on grades and exams. “Learn new material,” she said, “do exercises by yourself to improve your thought process. Ask for research projects with Moshe or other faculty members.”
Industry employers are less interested in the student’s research topic, Dutta said, “than how they accomplished the work, because researchers know how to tackle any problem they are given.
“As a graduate student, you tackle problems you don’t really know are solvable and you develop confidence,” said Dutta. “Don’t get discouraged. It may feel like you are working in the dark and not making any progress, but you are with every failed attempt.”
Sonali Dutta’s advisor was Moshe Vardi; she completed her M.S. in 2014.