Một sinh viên viết cho tôi: “Em tốt nghiệp trong Khoa học máy tính và muốn làm việc cho Google hay Facebook. Liệu có thể có được việc làm với những công ti này không? Xin thầy lời khuyên.”
Đáp: Em đã không nhắc tới em tốt nghiệp từ đâu cho nên tôi khó cho em lời khuyên. Giả sử rằng em tốt nghiêp từ một đại học Mĩ thì em có thể xin thẳng vào các công ti này. Nếu em tốt nghiệp từ một đại học bên ngoài Mĩ thì điều đó sẽ là khó trừ phi những công ti này đang thuê người ở nước của em.
Để có việc làm tại bất kì công ti công nghệ nào trước hết em phải xin vào và được phỏng vấn. Nếu em qua được cuộc phỏng vấn, thì em sẽ có được việc làm. Cả Google và Facebook đều yêu cầu kĩ năng lập trình giỏi trong các ngôn ngữ được dùng rộng rãi như Java, C++, Python, và JavaScript. Mọi cuộc phỏng vấn đều bắt đầu với việc đánh giá kĩ năng lập trình nơi họ sẽ yêu cầu em viết mã cho một số thứ.
Nếu em làm tốt các đánh giá lập trình này, thì họ sẽ kiểm tra kĩ năng của em trong giải quyết vấn đề bằng việc dùng cấu trúc dữ liệu và thuật toán nơi em phải giải quyết một số vấn đề trong một khoảng thời gian giới hạn. Nếu em làm tốt trong các đánh giá này thì bước tiếp sẽ hội tụ chủ yếu vào các câu hỏi thiết kế trong một miền xác định để xác định liệu em có khớp để làm việc trong công ti của họ không.
Phần cuối của cuộc phỏng vấn chủ yếu hội tụ vào nhân cách của em, kĩ năng trao đổi của em và thái độ của em để xem liệu em có “khớp” với “khía cạnh văn hoá” của công ti không. Nếu em có thể trao đổi rõ ràng, bầy tỏ đam mê của em để làm việc ở đó và tỏ ra tự tin và kính trọng, em sẽ có việc làm. Dựa trên các sinh viên của tôi làm việc ở đó, giải quyết vấn đề là khía cạnh quan trọng nhất của cuộc phỏng vấn cũng như phỏng vấn “kĩ năng mềm” vì một số người tốt nghiệp đã làm tốt trong các phỏng vấn kĩ thuật thường thất bại do việc thiếu kĩ năng mềm và có thể dường như kiêu ngạo trong phỏng vấn.
—English version—
Getting job at your dream companies
A student wrote to me: “I graduate in Computer Science and would like to work for Google or Facebook. Is it possible to get a job with these companies? Please advise.
Answer: You did not mention where you are graduating from so it is difficult for me to give you advice. Assume that you are graduating from a U.S. university then you can apply to these companies directly. If you are graduating from a university outside of the U.S. then it would be difficult unless these companies are hiring in your country.
To get a job at any technology company you must apply first and get an interview. If you pass the interview, then you will get the job. Both Google and Facebook require strong programming skills in widely used languages such as Java, C++, Python, and JavaScript. Every interview starts with the evaluation of the programming skills where they will ask you to code a number of things.
If you do well in these programming evaluations, then they will test your skills in solving problems using data structures and algorithms where you have to solve several problems within a time-limited. If you do well in these evaluations then the next step will focus mostly on design questions within a specific domain to determine where would you fit to work in their company.
The last part of the interview mostly focuses on your personality, your communication skills, and your attitude to see whether you “fit” with the “Cultural aspect” of the company. If you can communicate clearly, show your passion to work there and appear confident and respectful, you will get the job. Based on my students who work there, problem-solving is the most important aspect of the interview as well as the “soft-skills” interview because some graduates who did well in the technical interviews often fail due to their lack of soft skills and may appear arrogant in the interview.