Cần trang bị những gì để trở thành một kỹ sư cho Google, Amazon, Facebook?

10769

Trong bài viết này, tôi sẽ cho bạn thấy quy trình 6 bước để có được một công việc kỹ sư phần mềm không chỉ ở Google mà ở bất kỳ công ty công nghệ hàng đầu nào như: Amazon, Microsoft và Facebook. Ngoài ra, tôi cũng sẽ thảo luận về:

  1.   Cách học lập trình và đọc code
  2.   Những điều cần tìm hiểu sau khi học lập trình
  3.   Cách có công việc lập trình đầu tiên
  4.   Cách tốt nhất để xin vào vị trí software engineer
  5.   Cách tốt nhất để chuẩn bị cho các cuộc phỏng vấn lập trình
  6.   Bằng khoa học máy tính có quan trọng không?
  7.   Học tại đại học hàng đầu có cần thiết không?

Bước 1: Học cách viết code

Đây là trình độ tối thiểu tuyệt đối bạn cần phải có để trở thành kỹ sư phần mềm.

Đối với điều này, tôi khuyên bạn nên bắt đầu với một trang web học trực tuyến như Codecademy freeCodeCamp. Bạn có thể tìm hiểu hầu hết các kiến thức cơ bản của lập trình từ các trang web này.

Sau đó, bạn nên xem những video hướng dẫn để tìm hiểu thêm về các chủ đề nâng cao. Tôi khuyên bạn nên vào các trang như YouTube, Pluralsight, Lynda.com và Udemy. Trên các trang web này, bạn sẽ có thể tìm thấy các hướng dẫn về những chủ đề như:

  • Web development
  • Mobile development
  • Game development

Vậy thì tôi nên học ngôn ngữ lập trình nào trước tiên?

Câu trả lời ngắn của tôi là hãy chọn JavaScript hoặc Python, nhưng nó thực sự phụ thuộc vào sở thích của bạn.

Bước 2: Hãy làm một vài dự án cá nhân

Sau khi đã hoàn thành vài khóa lập trình trực tuyến thì bạn nên thực hiện một vài dự án cá nhân để vận dụng những kiến thức mình đã học.

Ví dụ: nếu bạn thích nhiếp ảnh, có thể bạn có thể tạo trang web để trưng bày tất cả các ảnh của mình. Nếu bạn thích cổ phiếu giao dịch, có thể bạn có thể xây dựng một hệ thống phân tích biểu đồ chứng khoán cho riêng mình. Hoặc, nếu bạn thích giải quyết vấn đề, bạn có thể thử cạnh tranh trong một cuộc thi lập trình.

Khi bạn làm project, trước hết hãy tự mình làm càng nhiều càng tốt. Sau đó, nếu gặp khó khăn, hãy kêu gọi sự trợ giúp từ người khác trên các diễn đàn trực tuyến.

Ví dụ: bạn có thể sử dụng Stack Overflow để hỏi các câu hỏi kỹ thuật cụ thể mà bạn đang mắc phải.

Bước 3: Nhận công việc lập trình đầu tiên hay chọn làm thực tập

Khi bạn đã xây dựng một vài dự án cá nhân của mình thì bạn cũng đã có thể nhận được công việc hoặc thực tập đầu tiên của mình. Với nó, bạn sẽ tích lũy một số kinh nghiệm trước khi bạn bắt đầu phỏng vấn với các công ty công nghệ hàng đầu.

Tất nhiên, bạn có thể nhận được công việc đầu tiên của mình tại một trong những công ty công nghệ hàng đầu, nhưng nó sẽ dễ dàng hơn khi vào một một công ty ít nổi tiếng trước.

Cách tốt nhất để xin vào vị trí software engineer

Tôi khuyên bạn nên sử dụng mạng xã hội của LinkedIn và mối quan hệ quen biết để có được công việc lập trình đầu tiên của bạn.

Trên LinkedIn, trước tiên hãy tìm nhà tuyển dụng của công ty bạn quan tâm. Sau đó, hỏi họ xem bạn có đủ điều kiện cho vị trí bạn quan tâm hay không. Bạn cũng nên hỏi họ cách bạn có thể chuẩn bị tốt hơn nếu như vẫn chưa đủ điều kiện.

Việc sử dụng mạng xã hội của LinkedIn sẽ rất hiệu quả nếu bạn đang nhắm tới các công ty vừa và nhỏ. Tuy nhiên, tôi nhận thấy rằng các chiến lược này kém hiệu quả hơn cho các công ty như Google và Facebook.

Đối với những công ty lớn này thì tôi khuyên bạn nên kết hợp ba chiến lược sau:

  1.   Tham gia hội chợ nghề nghiệp và sự kiện tuyển dụng tại các trường đại học
  2.   Nhờ vào sự giới thiệu từ những người bạn làm việc tại một trong những công ty này
  3.   Cứ việc đăng ký trực tuyến.

Kết hợp tất cả các chiến lược này sẽ giúp bạn tăng cơ hội có được một cuộc phỏng vấn với một trong những công ty công nghệ hàng đầu này.

Image result for engineers at big companies

Nguồn: engineering.com

Bước 4: Tìm hiểu cấu trúc và thuật toán dữ liệu

Các công ty công nghệ hàng đầu như Google và Microsoft thường đặt câu hỏi về cấu trúc dữ liệu và thuật toán trong các cuộc phỏng vấn của họ. Vì vậy, bạn nên tìm hiểu chúng.

Để tìm hiểu kiến ​​thức cơ bản, tôi khuyên bạn nên sử dụng series video này về cấu trúc và thuật toán dữ liệu.

Vì chỉ có 7 video trong loạt bài này nên bạn sẽ cần nhiều tài liệu hơn để tìm hiểu thêm về các chủ đề nâng cao.

Sau đây là một số lựa chọn tiêu biểu, bao gồm:

Các khóa học của Stanford trên Coursera

Khóa học MIT này trên YouTube

Sách hướng dẫn thiết kế thuật toán của Skiena

Algorithms

Bước 5: Chuẩn bị cho các cuộc phỏng vấn

Các cuộc phỏng vấn mã hóa tại các công ty như Google và Microsoft rất khó.

Khi bạn đã có kiến ​​thức vững chắc về cấu trúc và thuật toán dữ liệu, tôi khuyên bạn nên sử dụng ba khóa này để thực hành:

Leetcode – một nền tảng tương tác để thực hành các vấn đề về mã hóa thường được hỏi trong phỏng vấn.

Cracking the Coding Interview– một cuốn sách nổi tiếng về các cuộc phỏng vấn mã hóa.

Daily Coding Problem – Danh sách mail cung cấp cho bạn một vấn đề lập trình mỗi ngày.

Sau khi tập luyện trong vài tuần, bạn sẽ sẵn sàng để bắt đầu thử các buổi phỏng vấn giả.

Về cơ bản, ghép nối với bạn bè của bạn và đưa ra các vấn đề về lập trình từ 3 nguồn trên.

Sau đó, giải quyết từng vấn đề trên giấy và giải thích giải pháp của bạn cho họ nghe.

Khi bạn thực hiện được tầm 20 cuộc phỏng vấn giả thì có thể gọi là sẵn sàng rồi đấy!

Bước 6: Áp dụng, áp dụng và áp dụng lại

Sử dụng ba chiến lược tôi đã đề cập ở trên để xin vào làm cho các công ty công nghệ hàng đầu:

  1.   Sự kiện tuyển dụng / hội chợ nghề nghiệp
  2.   Nhờ bạn bè giới thiệu bạn
  3.   Và đăng ký trực tuyến.

Nếu bạn không nhận được trong lần đầu tiên, đừng lo lắng. Trong thực tế, bạn nên mong đợi một số thất bại bởi việc nhận được vào bất kỳ của các công ty này là rất khó.

Bản thân tôi cũng mất tới 5 lần trước khi được nhận vào Google tại vị trí công việc kỹ sư phần mềm.

Một vài lưu ý khác

 – Tôi có cần lấy bằng khoa học máy tính không?”

 – Không nhất thiết, Tuy nhiên, việc học chúng sẽ giúp ích cho bạn rất nhiều.

Ngoài ra, xin lưu ý rằng ngay cả khi bạn có bằng cấp đủ chuẩn cần phải mất rất nhiều thời gian để có được một công việc kỹ sư phần mềm tại một trong những công ty này.

 – Vậy tôi có cần học tại một trường đại học hàng đầu như MIT, Stanford, Carnegie Mellon, v.v. không?

Không. Nó có thể giúp một chút nhưng không hề cần thiết.

– Vậy Tôi có cần điểm GPA cao không?

Không.

Có điểm trung bình cao có thể giúp một chút để có được một cuộc phỏng vấn nhưng kinh nghiệm thực tế vững chắc và các dự án thú vị còn quan trọng hơn nhiều.

 – Làm thế nào để tôi có thể viết một CV – lý lịch tốt?

  – Nếu muốn, bạn có thể sử dụng bản CV – lý lịch mà tôi đã sử dụng để xin vào Google làm mẫu.

Đây là phiên bản PDF.

Đây là phiên bản Word.

Đây là phiên bản Pages.

Chúc cho những ước mơ còn dang dở sẽ sớm trở thành hiện thực. Thanks all!

TopDev via Medium