Facebook Principal Software Engineer / Engineering Director
Tsinghua University B.S., Electrical Engineering
Current Time 0:00
/
Duration Time -:-
Progress: NaN%

How did you get to where you are today? What is your story? What incidents and experiences shaped your career path?

Summarized By: Jeff Musk on Fri Jan 03 2020
First, I want to quickly go through my career journey up to this point and that I can share a few of the key things that I helped me along the way and also the lessons I learned. So my undergrad which I did in China and my major was a Control Theory. And when I graduated from undergrad, I came to the U. S for my PhD research, my major was computer networks. Then when I graduated from my PhD program, I got a job in Microsoft and I went to Microsoft for about three years doing building the Microsoft Payments platform. And then I switched to Google and spend 10 years in Google Building and working on the Google search ads products and mostly focusing on both from the back end machine learning components. Eventually moving towards overall products in the front end. And then I left Google because I wanted to start my own company. But at the time, I was looking at all my experience of Microsoft Google, the smallest company size I've seen is 10,000 people. So I basically asked, what do I know about a startup? So applying a machine learning approach to this specific problem, to maximize my chance of being successful in starting my own company, I decided to first join a late-stage start-up and so that I can learn from the inside. So I went to a company called Sumo logic and at that time it's about 300 people and it's one of the upcoming rising companies. I went there and clearly said I want to learn how to start my own company. They agreed and I joined them. I stayed there for about six months. They were very open and teaching me. And then there I was ready to start my own company. It worked for three years. I was working only the AI, and then eventually we learned, even though we would build a good product, good technology, we didn't do very good in the user acquisition perspective. And so we eventually got acquired by Facebook, and I joined Facebook to learn how Facebook has done the user growth component. And, so now I'm working on the job product on Facebook. I've been there since February of this year. There are a few key lessons I've learned in this way. One of the top things I will say is to be open-minded about the opportunities available to you. So I'm gonna use my only experience of when I graduated from the PhD program. I was very narrow-minded thinking that the only thing I want to get it's become a professor and published papers and do research. It turned out to be that year, the industrial economy was not very good and this affected all the faculty positions open, and I couldn't I didn't get even a single interview for faculty position. So I have to go to the industry and eventually got to Microsoft. When I joined face of Microsoft, I was still thinking that this is only short term stick for me, and I will eventually return to be a professor. It turned out to be that I realized I enjoyed building platforms, building real solutions for real people, way more than I enjoyed research and publishing papers. Even though I never really took that step. If I had a faculty position I probably would have been teaching at some university. I probably would've been very happy, but it was sort of fate to give me a different route. And I turned out to be realizing that I enjoy the other route way more than what happened. Similar things happen again and again many times that I wondering with certain things and knowing what I want to do and fate gives me a different opportunity and took it and realize this other thing is also very interesting. And so at some point, I started to really question and challenge myself to what you actually know about the things that actually enjoy doing. What I really learned is there's always a learning opportunities of something, and we, as human beings, never fully understand exactly what we're good at or what we actually mostly enjoy. So one of the key lessons that I would give out to the students is really to be open-minded about what opportunity might be available to you and some things you've never experienced before. You might overly narrowly think about what you want to do. So be open-minded and assess what made you happy instead of what you think will make you happy.

What are the responsibilities and decisions that you handle at work? Discuss weekly hours you spend in the office, for work travel, and working from home.

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
So my key responsibility is I currently work on the job product at Facebook, which helps Facebook users to find jobs. The main responsibility and decisions that we make are about product strategy and team directions. Most of the tech companies have very flexible work hours. For me. personally, I prefer to be in office because I think the interaction with the team members is actually one of the key parts. Even though the company policy allows, for example, every Wednesday everyone can work from home and I prefer to come to the office even on Wednesdays because the face to face interaction is still a critical part of our happiness at work. And it's also communication is more effective when you see each other in person. So other than that, we have very flexible work hours. Very flexible work travel if needed. 

What tools (software programs, frameworks, models, algorithms, languages) do you use at work? Do you prefer certain tools more than the others? Why?

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
The interesting thing here is I don't have a strong purpose. The main reason is things just moved too fast. Whatever we're currently using in a year or two, probably no longer be the best tool. This applies to either the program, the frameworks, all the algorithms because the industry will always move towards a better tool whenever it's available. So constantly learning new things and adjusting is important. More important than getting very specific, like emotionally attached to one thing and not evolving. That's much less preferred than evolving with what's the best out there right now.

What things do you like about your job? Were there any pleasant surprises?

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
The thing that I like the most about my job is the impact it has on real people's life. I'm working on this job platform on Facebook. It turned out to be that we help people to get jobs in real life and we're helping millions of people finding jobs. In this type of impact, it's very hard to be measured where if we're not working on a large platform and that knowing that my tiny contribution can help millions of people hopefully help them to find a better job or more efficiently find their jobs, that gives me the biggest fulfillment. Regarding pleasant surprises. I think the most enjoyable thing for me, this is actually true not just for me, for many people is the level of a smart and caring people that we would get to work with. In school, when we're going through our education, there's a lot of emphasis on our individual excellence on how to really be good at tests. Exams on the topics we're studying. But in real life it's always about teamwork. It's not about individuals intelligence, but about the team's intelligence that a team can work with each other and accomplish really challenging problems that any one of us individually cannot tackle. But as a team together we can tackle those challenging problems.

What are the job titles of people you routinely work with inside and outside of your organization? What approaches do you find to be effective in working with them?

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
Typical job titles I worked with, for the most part, software engineers. These are the technical people who really are writing code to solve the technical problems, but at the same time work with many other tech peoples in our day to day interaction. So some of our other top titles I constantly interact with are product managers, research scientists, data scientists, data engineers, product marketing managers, technical program managers and also more job titles than we contact every day. So my key insight about how to work effectively with the other people, other jobs is always being straight forward. And always assume good intent from both ends, from me and from the other person, and we leverage each other's strengths and then at the same time, will hold each other accountable. So this approach has been proven to be very effective in working with all the different functions

What major challenges do you face in your job and how do you handle them? Can you discuss a few accomplishments?

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
The biggest challenge that I face is when a short term benefit and the long term benefit conflict with each other. What's the right way to make the correct tradeoff? That, to me, is actually the biggest challenge. And the reason it's challenging is that different people will come to different assessments and especially, how do we know that assessment's correct? This actually requires a lot of collaboration, trusting each other, open discussion and eventually commit to a decision. And we face this every day and mostly even though oftentimes as a supposed technical student and also working in a tech company, we talk about the technical challenges we're facing. It turns out to be not the biggest challenge we have, because mostly once we work through the math and engineering details, we can solve the technical challenges. It's always the benefits when short term and long term have a conflict that's the hardest one to make the right trade-off. Another key thing I want to mention is it's oftentimes less about the individual decisions we're making. It's a lot more about to the decision-making process. So once, whenever we are arguing about a specific decision, a special single point decision, oftentimes is very important to establish. You talk about what is the process that helps us to make such a decision and once we can agree on the decision making process. It has long term benefit because next time we face a similar challenge ourselves, even sometimes different decisions, we can use the same process because once we have agreed upon the process, we just follow the process, collect the various different information, layout various different trade-off points and eventually, leading to the decision. And that makes overall decision making efficiency much, much higher. So now, next, as I would describe a few concrete accomplishments that, personally, I'm very proud of. The first accomplishment I would mention is when I was working for Microsoft. At that time I was working on the Microsoft payments platform, and Hurricane Katrina happened, and it really devastated the New Orleans area a lot. A bunch of us got together, worked overnight, A single night to build donate.msn.com at that time. This website and enabled us to take the arbitrary number of donations from anyone. And we were able to collect tens of millions of dollars over the course of the next week or two which we donated your Red Cross. That only happened one night over my course of three years. But now that I look back to my Microsoft time, that night is always the one that I feel the happiest and proud. Of course, it was a very tiring night. I had to get to the airport because I had a flight from Seattle to Pittsburgh with a connection in Detroit. So it also involved me actually fixing some of the critical bugs when I was having my layover in Detroit airport fixing those bugs. That process was so exhilarating. Happy to always remember that afterward. The second example I will talk about it is when I worked at Google and one of the key responsibility on my team was to fight against the bad ads. And our team worked many years on this problem and solved many. We started as this is a pure machine learning technical problem on and turned out to be the scale of the problem goes much beyond just technical machine learning solution. We had to work on engineering, build better machine learning models, also had to establish a human-machine interaction by how to work with a human review team and at the same time also understand how the overall sales incentive being built to eliminate some of the incentives eventually having tackle this problem from various angles, which majority of them were not expected when we started. But we went on this journey after all of those issues that eventually were able to achieve the significant goal of reducing the bad ads on Google. The third example I want to say is when I would when we were in the Lead.AI company, we organized the conference in trying to help people, to promote, to talk about what it means to be successful in career and how to get the next stage of career success. And we organized this conference and this conference was called campus and there was a lot of work behind the scene. And in the end, it was among all the people who have attended, we had several thousand people attending the conference and the constant feedback which came to us was this is such a long way. It's a conference to get everyone a chance to talk about this one, even though it has nothing to do with technical sides. It's mostly about how we are as a person, working in the industry and working out work, how do we become more successful and so being able to organize the conference, putting a lot of it behind the scenes work to make this conference successful is the third part that I would say that's one of the things I'm very proud of. 

What are the recent developments in the field? How significant are these improvements over past work? What are their implications for future research & industry applications, if any?

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
I will use deep learning as one of the key developments that have happened in the past 10 years. A lot of research has been done. A lot of application has been done using deep learning and its impacts. How it changes our human life has been really felt too deeply. However, one of the things that I will also call out is practically we know how Deep Learning works and it's in a very magical way. However, we don't yet fully understand theoretically, why they work. There are some efforts that it's being made towards that. But so far the theoretical development understanding why deep learning works and can solve various different challenges or problems or, more importantly, understand where is the limit? What type of problems deep learning won't be able to help solve is one of the things at the moment is still a key challenge for all of us. So because we don't have this understanding of why deep learning works on the most practice of using deep learning is still the trial and error style. We put a model and between some neural nets architecture and let'spray it works and run a lot of computer resources. And eventually, hopefully something come out really great. So we have developed tools like Auto ML. That helps a little bit, but fundamentally, for us to actually really breakthrough that some of the theoretical understanding for why deep learning really can learn some of the problems will help us to shed more light. And that's what I'm sort of very excited to seek that level of development.

What was the hiring process like for your job? What were the roles of people who interviewed you? What kind of questions were asked?

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
I'm gonna use the Facebook interview process as a sort of example. So for most of the software engineers, the type of questions being asked are so very similar. So including one or two several coding questions, including some of the design questions or how you design a system. If you're a machine learning engineer there's also gonna be machine learning problems that will be asked, for example, how do you build a recommendation engine for a certain problem? Another thing that Facebook really values is cross-function collaboration. This will be one of the key areas that they will also assess. Can these candidates work with not just engineers, but with other functions as well? And for a certain level, once you get to a certain level of seniority, leadership is also part of key things that would be interviewed in the process. So basically they will say, what are some of the examples in the past year demonstrate leadership and how do you solve a challenging problem in demonstrating your leadership? So those are the typical set of questions that will be asked and for anyone and for any level. But the weights will be different, for entry-level jobs coding probably will carry more weight. 

What qualities does your team look for while hiring? How does your team interview candidates?

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
Soft skills will be mostly teamwork, communication, skills, leadership. Those are the key soft skills that will be assessed during the interview.

What are different entry-level jobs and subsequent job pathways that can lead students to a position such as yours?

Based on experience at: Principal Software Engineer / Engineering Director, Facebook
Summarized By: Jeff Musk on Fri Jan 03 2020
Every job function has entry-level positions and so the growth past for each function will come differently. Once you get the entry-level jobs, the key thing that is mostly being assessed is the technical ability to carry out the entry-level jobs. But once you get such entry-level jobs and for a person to continue to grow, eventually leading towards a leadership position, one of the things that we think we don't emphasize enough in school is eventually it's not IQ that determines a person's ability to lead all work in a bigger impact. Oftentimes, in the end, the level of success a person can have is determined by their EQ, not by their IQ. The way I phrase is IQ is the entry point. You have high enough IQ, raw intelligence to get an entry-level job, and eventually, it's the EQ that helps you to move into more successful roles.

What were the responsibilities and decisions that you handled at work? Discuss weekly hours you spent in the office, for work travel, and working from home.

Based on experience at: Head of Machine Learning, Sumo Logic
Summarized By: Jeff Musk on Fri Jan 03 2020
I was their head off machine learning team and basically was responsible for the strategy of how to build a machine learning system for Sumo logic and how to build a correspondent machine learning team somehow. However, I wouldn't mention that that turned out to be when I was there for six months that was actually not my biggest contribution to Sumo logic. It turned out to be the biggest contribution to Sumo Logic was far more on the non-technical side is actually helping the team, the company to organize the cross-function collaboration. There's a Sumo job logic at that point was starting to be three-sided. The headquarters is in Redwood City, California They have a team in Delhi, New Delhi, India and also another team in Warsaw, Poland. And so the company was actually going through a struggle for how to collaborate when people are in these three different continents. My experience in Google happened to be one of the key things that helped the Sumo Logic team get there. So the interesting piece was even though I was hired to lead the machine learning and strategy and building team. It turned out to be that part was not my biggest contribution to the company.

What was the hiring process like for your job? What were the roles of people who interviewed you? What kind of questions were asked?

Based on experience at: Head of Machine Learning, Sumo Logic
Summarized By: Jeff Musk on Fri Jan 03 2020
Very similar. The coding question, design question. Leadership questions. Of course, there's one thing, especially they did interview me that I spent a lot of time talking about and I never got that question in from anywhere else is actually how to build a cross-site collaboration. Because they were starting to do that. And they saw that on my resume that I was one of the first engineers in Pittsburgh. So sort of went through that process, really understand the challenge of how to have a remote site collaboration, so they actually really asked me a lot of questions around that one.

What major challenges did you face in your job and how did you handle them? Can you discuss a few accomplishments?

Based on experience at: Staff Software Engineer / Tech Lead Manager, Google
Summarized By: Jeff Musk on Fri Jan 03 2020
I think we already covered some of this topic earlier. I'm gonna go a little bit more detail about my Google time. So I've basically worked on four or five different projects during my Google 10 years. I worked on ISS, the machine learning system that predicts whether a user is gonna click on a given ad. And so I was the tech lead for that project, and it was a collaboration between Google headquarter, mountain view and Pittsburgh office. I was the early hired there, So that was the first project worked on and helped to build the team in Pittsburgh. And then I took a second role in the Pittsburgh office, which is leading towards catching the bad ads in Google. I already mentioned earlier that the interesting part was when we first started detecting that problem, we were purely treating this as a machine learning problem. How do we build a better machine on the models to catch or to predict a bad ad. It turned out to be that the journey was much longer. It was not just a technical problem, it involved human problems, involved the ecosystem, the entire ecosystem. How the incentive was being constructed, different components. How does that one bet here change a lot of other things? To some extent, that very much reminds me of the butterfly chaos theory. Then my wife got a job in the Bay Area, so that's when our family moved here from Pittsburgh to Bay Area. And then at that time, I took a different role. I started a new project, brand new project. At that time Google just acquired the company who was doing a knowledge graph and started to really use knowledge graph as one of the key foundations for Google Search. So I looked at that opportunity and realized this is also a way to revolutionize that using a knowledge graph as one of the powering engines. So I started off a new serious of projects to use knowledge graph and transform the Google ad system. The way we're saying is we are replacing the wheels of a running train and while the train is continuously running at double digit $1,000,000,000 revenue every year and to have to replace the wheels on that train with completely new sets of wheels. How to do that without actually losing any of the revenue was one of the key challenges we were facing. Along this way I eventually moved towards building end to end products. So my last round at Google, I was wth lead for the automotive vertical. The context here is, buying cars is still a very hard problem for most of the people. And people face that problem once every few years. And the mission of our team with how to enable, how to serve users in their car buying journey at the same time it comes with huge revenue contribution. Because that automotive was contributing billions of dollars in revenue for Google every year. And so how do we completely redesign and redefine the experience for helping people to go through this journey, buying cars while still maintaining a multibillion-dollar revenue opportunity or even growing bigger? That was one of the challenges that we were trying to solve there.