by Googley as Heck

Bạn không nghe nhầm đâu. Mình đã dành hàng nghìn giờ để đọc sách, viết code, xem các bài giảng về khoa học máy tính để chuẩn bị cho kì phỏng vấn vị trí kỹ sư phần mềm tại Google!

Cơ duyên đến với IT

Mình có cơ hội học lập trình từ thời trung học nhưng lại quyết định theo học Kinh tế với tôn chỉ kiểu gì số lượng lập trình viên tìm việc lúc tôi tốt nghiệp sẽ là quá đông. Đương nhiên, tôi đã nhầm.
Sau đó, mình tham gia vào quân đội để trở thành một lập trình viên nhưng họ đã cất nhắc mình vào vị trí tình báo. Mình chuyển đến Hàn Quốc, công tác và học tiếng Hàn trong 2 năm tiếp theo.
Trước khi rời khỏi quân đội, mình đã rất cố gắng để quay lại “con đường lập trình" và không khỏi ngạc nhiên trước những khó khăn ập đến. BASIC mình đã tiếp xúc từ thời trung học nhưng C++, một cú nhảy vọt đầy khó khăn so với BASIC đã được mình lựa chọn như ngôn ngữ đầu tiên trên con đường lập trình.
Thật ra mình không mấy hứng thú với việc dựng websites và không hề biết làm thế nào để dựng một website từ con số 0 thay vì sử dụng một vài giao diện để phát hành web của bản thân.
Sau khi rời quân ngũ, mình ở lại Hàn Quốc thêm 1 năm để dạy tiếng Anh, đồng thời học lập trình web bằng Perl, HTML, CSS(siêu mới ở thời điểm đó), JavaScript, SQL mỗi buổi tối và cuối tuần.
Sau 1 năm học tập không cường độ cao, mình đã có một công việc liên quan đến lập trình ở Seattle. Đến nay, với 15 năm kinh nghiệm lập trình viên web, mình đã mở 3 công ty và 2 trong số chúng vẫn đang hoạt động và mang đến lợi nhuận. Mình đã từng nắm nhiều vị trí trong nhiều loại hình công ty, startup, xây dựng, tuyển dụng, quản lý như giám đốc sản phẩm, CEO, nhà thiết kế hay marketer.
Có thể nói đó là một sự nghiệp khá thành công với vốn kiến thức và kinh nghiệm được xây dựng đường dài, nhưng đó vẫn chưa phải điểm kết thúc.

Tìm kiếm cơ hội chuyển nghề

Dù không có bằng kỹ sư khoa học máy tính, trong 1 vài năm, mình nghĩ bản thân có thể làm việc ở bất cứ đâu với cương vị là một lập trình viên web full-stack. Tuy nhiên trong suốt năm 2013, sau nhiều lần tìm kiếm công việc, mình nhận ra rất nhiều thiếu sót về kỹ năng, mình đã dành nhiều thời gian, công sức chạy theo đồng tiền và không hề cập nhật những công nghệ tiên tiến mới. Mình có một bộ kỹ năng rộng nhưng lại không phải chuyên gia trong một mảng nào.
Đầu năm 2016, mình quyết định chuyển sang làm kỹ sư phần mềm, một công việc đòi hỏi cao về kiến thức cấu trúc dữ liệu và giải thuật, các ngôn ngữ, bộ nhớ. Mình đã có cơ hội kết nối với một anh là tại Google và hỏi rất nhiều về kinh nghiệm tại công ty, mình còn xin được ghi chú đào tạo mà Google phát cho ứng viên và biến nó thành nền tảng cho kế hoạch học tập của bản thân.

heck1

Tại sao là Google?

Yêu cầu tuyển dụng của Google rất cao - chúng ta đều quen với điều đó. Họ chỉ tuyển những người tốt nhất của nhóm giỏi nhất. Vì thế chắc nếu không được tuyển ở Google, vẫn còn khối những công ty tuyển mình =))).
Càng biết nhiều về Google, mình càng muốn làm việc ở đó.
Google mở những đợt tuyển dụng xuyên năm với những câu hỏi và yêu cầu hack não. Ứng viên sẽ được đánh giá dựa trên khả năng code, kiến thức kỹ thuật và Googleyness.
Cách thức quản trị của Google khác biệt ở chỗ họ tin tưởng vào khả năng đưa ra quyết định đúng của kỹ sư với cấu trúc phản tập trung hoá, khiến cho nhân viên có cơ hội để thể hiện và tham gia vào xây dựng công ty. Bộ phận nhân sự luôn sẵn sàng cải thiện hệ thống đánh giá, quy trình tuyển dụng, lương thưởng một cách phù hợp nhất.
Đương nhiên, những lợi ích khi làm việc nơi đây quả thật tuyệt vời. Chuyến tham quan trụ sở Google tại Kirkland đã vượt ngoài kỳ vọng vốn đã cao của mình.

heck2

Trường đại học “Ứng tuyển Google"

Bạn có nhớ ghi chú đào tạo mà mình xin được không? Mình không biết một thứ gì được đề cập trong đó.
Mình bắt đầu chia nhỏ và làm đầy kiến thức bằng những video bài giảng từ trường MIT, UC Berkeley trên Youtube, danh sách những video cần xem nối nhau tăng lên theo cấp số cộng.
Không những thế, mình thêm thắt cả những chủ đề mới được cóp nhặt trong quá trình học tập (những thứ mình cho là hữu ích và quan trọng)
Khá ngạc nhiên khi mình có thể tiến xa như thế mà không biết về chương trình xử lý CPU, bộ nhớ hoạt động như nào, tất cả chỉ là vừa đủ để thành công. Github tài liệu của mình dần dần nhận được vài sao, rồi 120 và 21.000 hiện tại. Mình mong rằng “trường đại học" này sẽ giúp ích cho các bạn trên con đường học tập và tìm kiếm sự nghiệp.
Link Github: (https://github.com/jwasham/coding-interview-university)

heck 3

Đừng học nhiều như mình đã từng

Phải, mình mất 8 tháng để học và đương nhiên có những sai lầm tốn thời gian. Có rất nhiều thứ mình chắc chắn sẽ không làm nếu có thể quay lại.
Mình học cả những chủ đề không cần thiết vì nghĩ rằng có thể sẽ xuất hiện trong buổi phỏng vấn với xác suất 0.1%. Mình dành 3 tuần đọc cuốn sách 1000 trang về C++ nhưng ngôn ngữ dùng trong buổi xét tuyển là Python. Cần phải hỏi thay vì đoán.
Mình có cả một bộ hàng tá những thuật toán, xem video Youtube hàng đống tiếng, nhồi nhét nhiều chủ đề vào bộ não theo thời gian.
Sau này mình mới nghiệm ra rằng: Nhắc lại ngắt quãng mới chính là chìa khoá của ghi nhớ. Mỗi lần ôn lại một cách ngắt quãng, trí nhớ của bạn sẽ hoạt động hiệu quả hơn nhiều so với việc liên tục lặp lại kiến thức vừa học. Đừng quên điểm này nhé!

heck4

Tổng quan

Trước đây mình chỉ muốn bỏ qua quãng thời gian học tập, nhanh nhanh để được tuyển dụng thay vì học hỏi thêm những ngôn ngữ và công cụ khác. Nhưng trên còn đường đó, mình nhận ra được tầm quan trọng của kiến thức và sẽ luôn cho bản thân thời gian nghỉ ngơi, học tập để đạt được một tương lai tươi sáng.
Cảm ơn đã lắng nghe những chia sẻ của mình! Hope it helps!
Mình đã không được tuyển ở Google nhưng câu chuyện vẫn có một cái kết đẹp nhé. Mình đang làm việc tại Amazon Web Service với vai trò Kỹ sư phát triển phần mềm.