
Moderator: Bachelor’s degree in Chemistry in China; master’s degree in the U.S.; transitioned from Chemistry into software engineering.
Guest 1: Bachelor’s degree in Automation in China and master’s degree in Electrical Engineering in the U.S. Previously worked at Airbnb China, where he was responsible for product functions including reservations and payments. Currently a Senior Software Engineer at Meta, with more than ten years of experience in software development and design.
Guest 2: Ph.D. in Computer Vision and Senior Machine Learning Engineer at Spotify, with a career focused on recommendation systems. He shared how his career planning has been influenced by fluctuations in the technology job market driven by the adoption of AI, particularly deep learning, in industry. The tech industry can undergo significant changes every two to three years.
Guest 3: Ph.D. in Chemistry who switched career tracks at age 28 and joined a major tech company as a Senior Software Engineer. Currently a Software Engineer at LinkedIn, specializing in backend development. He also runs a Xiaohongshu career blog under the name “程序员枫.”
He was initially influenced by the idea that “every profession has its own outstanding practitioners” and considered staying in Chemistry for the long term. After coming to the U.S., however, he began to reconsider his career path. The U.S. environment is relatively receptive to career transitions, while finding employment in Chemistry can be difficult and academic career opportunities are limited. He ultimately decided to pursue a master’s degree in Computer Science and transition into software engineering.
He emphasized that the sunk cost of changing fields can be significant, and that people often place high expectations on themselves. For those considering a transition into software engineering, he recommends building a solid foundation rather than expecting to make the leap in one step. Spend substantial time and effort strengthening the fundamentals, learn to enjoy coding, and maintain a balanced mindset—taking it one step at a time.
Guest 4: Bachelor’s and master’s degrees in Mechanical Engineering, followed by a Ph.D. in Robotics with a focus on control systems. After entering the workforce, he discovered an interest in computer science and joined Bloomberg, where the transition into software engineering was relatively accessible.
He emphasized that software engineers need both technical skills—such as various software technologies—and knowledge of the domain they serve, such as finance, markets, and billing.
He later transitioned to Amazon’s AI platform, then moved into a “feature star” role at Amazon, and eventually joined Waymo, returning to robotics with a focus on computer algorithms. He noted that transitioning into software engineering can be a good choice and a major career change, but people should also listen to their own inner voice.
Q&A
Q1: What are the career paths in computer science? What are the mainstream career paths in each area? Given the current environment, which areas offer relatively more opportunities for new graduates?
Guest 1: There are two major career paths:
Management track
Technical track, where one can either specialize in a particular area or become a generalist, working across teams and collaborating with product managers and other departments.
Guest 2: Career opportunities can generally be divided into frontend development, such as Android and iOS, and backend development, including distributed systems and recommendation systems.
Interviews for new hires are usually relatively general. After joining a company, engineers typically further specialize in a particular area. One can choose to specialize in areas such as payment systems or recommendation systems, or pursue a management career.
Given the current environment, AI is a particularly active area, especially Large Language Models (LLMs).
Q2: What is the current job market like? When might conditions improve? Will tech companies continue to lay off employees? Which companies are still hiring heavily? What are some emerging companies?
Guest 2: The current hiring environment is challenging for new graduates. Because computer science is an enabling function across many industries, he recommended that new graduates focus first on finding a job, even if the position is not perfectly aligned with their preferred industry.
Guest 3: The development of large language models has increased programming efficiency, while also raising employers’ expectations for candidates. Companies are increasingly looking for candidates who closely match their requirements.
Guest 4: Major technology companies are currently focusing primarily on hiring experienced professionals. New graduates can consider starting at smaller companies, gaining experience, and then pursuing opportunities at larger tech companies.
Q3: How high is the bar for SDE internships at major tech companies? How should students prepare for tech internship interviews? How important is internship experience in the hiring process?
Moderator: The threshold for internships at major tech companies is currently very high, with intense competition. Companies often recruit from local undergraduate programs, and internship interviews can be nearly as difficult as full-time interviews.
Guest 1: New graduates should focus primarily on algorithms, while experienced candidates should place greater emphasis on system design.
Candidates can practice using the LeetCode problem set and company-specific interview question banks. They can also improve their performance through mock interviews with alumni and experienced professionals.
The primary value of an internship is to gain practical experience and create an opportunity to demonstrate one’s abilities to the company and potentially secure a full-time position.
Q4: What aspects of Waymo’s corporate culture have impressed you the most? What is the working environment like? What is the typical career-development path? What qualifications and standards do recently hired interns need to meet? At what stage of the interview process do candidates meet technical team members?
Guest 4: As a relatively young company, Waymo has a positive working environment. Although career-development paths vary from team to team, employees generally need to develop a deep understanding of the fundamentals relevant to their field.
For interns, hiring decisions depend primarily on the candidate’s background and ability to learn. During interviews, candidates are encouraged to ask thoughtful, in-depth questions that leave a strong impression on interviewers.
Waymo focuses primarily on autonomous driving and path planning. Some positions may require a certain level of hardware knowledge, while others do not require a hardware background.
Q5: What does the interview process for SDE and DS positions typically cover? Where can candidates find interview question banks for major tech companies? Is there a target number of LeetCode problems candidates should practice?
Guest 2: Interviews at major tech companies typically include two coding problems. He recommended preparing through websites such as 一亩三分地 (1Point3Acres) and practicing at least 300–400 problems.
Guest 3: Although the types of questions have not changed dramatically from previous years, the difficulty may have increased. He recommended focusing on deep understanding and the ability to apply concepts flexibly, rather than simply maximizing the number of problems solved. Candidates can also refer to blogs written by engineers at major tech companies for additional interview tips.
Guest 1: Candidates should categorize problems to make their practice more efficient. He also recommended looking for question banks specific to individual major tech companies and suggested two books on system design:
System Design Interview – An Insider’s Guide
Designing Data-Intensive Applications
Guest 4: Candidates should pay attention to problem frequency on LeetCode and understand different approaches to solving each problem. During an interview, do not rush to start coding. First discuss your approach with the interviewer, listen to feedback, and then proceed.
Moderator: He shared his own experience preparing for coding interviews and recommended categorizing problems—for example, search algorithms and dynamic programming—and regularly reviewing fundamental problems. Practicing with a partner can also provide mutual accountability and improve preparation.
Q6: What should I do if my resume is rejected immediately and I cannot get interviews? Can an employee referral make a decisive difference? If I can pass the coding assessment, can an internal referral from someone on the relevant team help me enter the interview process more quickly?
Guest 2: Employee referrals can be helpful, but they are not always decisive. The key factor is whether the candidate’s resume matches the requirements of the position. The primary role of the person making the referral is to help the candidate better understand the position and adjust the resume accordingly.
Guest 1: Candidates can also explore opportunities through relationships between their university or academic advisor and companies.
Guest 4: Candidates can try contacting HR or relevant members of their target team directly, or use university career fairs to increase their opportunities. He emphasized that the effectiveness of a referral depends on whether the candidate is directly referred by a member of the target team.
Moderator: If a target team has an urgent hiring need, an internal referral can be extremely valuable. For more routine internship positions, however, the impact of a referral may be smaller. Candidates can also try contacting the person responsible for recruiting directly.
Q7: Is there currently strong demand for AI talent? What are the prospects? What kinds of positions are available? Do you need a Ph.D. to work in artificial intelligence?
Guest 2: Demand for AI talent is growing rapidly. Because the industry is relatively young, however, the talent pool remains limited, creating substantial opportunities.
Current openings include traditional areas such as search, advertising, and recommendation systems, as well as positions related to Large Language Models (LLMs), including model training.
As for whether a Ph.D. is necessary, Zhang Zhong emphasized that a Ph.D. is not the only path into AI. More important are core capabilities such as a strong mathematical foundation—including linear algebra, calculus, and probability and statistics—as well as the ability to learn quickly and strong hands-on skills.
Guest 4: AI positions can be further divided into several categories:
Roles related to data and feature engineering;
Roles focused on model deployment and optimization;
Roles responsible for model training;
Roles focused on developing and optimizing the models themselves.
He emphasized that different areas place different demands on candidates, and job seekers can choose a direction based on their interests and abilities.
Q8: Questions About Transitioning into Software Engineering
Guest 4: He recommended pursuing a master’s degree as a way to transition into the field, because this provides access to university recruiting channels as well as support from classmates and professors. Self-study through online resources is also a viable option.
Guest 3: Before making a long-term decision to transition into software engineering, candidates can first try writing some code to see whether they genuinely enjoy the process of finding logic and structure within an abstract problem. This can help determine whether they truly have an interest in programming.
Guest 2: For academics transitioning into software engineering, a key factor is whether their existing background matches the needs of major technology companies. This can directly affect the likelihood of a successful career transition.
Moderator: If an academic background happens to align well with the needs of certain projects, the candidate may have a stronger position when transitioning into software engineering. Even candidates with broad research experience or backgrounds that are not directly related to computer science can successfully make the transition with sufficient determination—including people coming from fields such as the arts.
Q9: How can beginners with no prior experience quickly enter the computer science field? What should career changers pay particular attention to early in their careers?
Moderator: Consistent learning is key. In preparing for his own transition into software engineering, he studied for four hours every day for four years, building a solid foundation.
Guest 3: Beginners can improve their efficiency by solving more problems and working on projects to become familiar with the material. Hands-on practice and project experience help reinforce and apply what they have learned.
Guest 1: Coding practice can help candidates master algorithmic problems, but in the workplace, the ability to solve problems is even more important. Many real-world problems do not have a single correct solution, so candidates need to be able to get up to speed quickly and tackle a wide range of challenges.
He also recommended communicating frequently with colleagues and managers, learning from them, and seeking their support.

