Hơn một tuần sau khi nghỉ việc ở Zalo, và chuẩn bị khoảng 2 tuần cho một bắt đầu mới ở nơi khác, mình có một khoảng lặng trong cuộc sống để nhìn nhận lại thời gian đã trải qua.

Mặc dù tiêu đề blog là “sau 3 năm”, nhưng có lẽ mình sẽ bắt đầu xa hơn. Mình coi mọi thứ điều có những điểm bắt đầu và chuyển biến, và thời gian đại học sẽ là điểm đầu tiên.

Những thói quen xấu

Mình trải qua thời gian đại học dễ dàng tới mức kì lạ.

Không phải mình tài giỏi hơn người, thực tế điểm số của mình không cao, không xuất sắc; nhưng những gì mình làm thật sự không gặp nhiều khó khăn, vất vả. Điều này đã góp phần hình thành nên những thói quen (tốt hoặc xấu) sau này của mình.

Các môn học trong 1-2 kỳ đầu tiên quá đơn giản khiến mình lười biếng và thường xuyên bỏ học. Thêm vào đó, vì tính thực dụng, mình chỉ tập trung vào giải các bài trên Codeforces để chuẩn bị cho các cuộc thi lập trình. Tuy nhiên, hầu như không có hậu quả nào xảy ra trong thời gian này, và những thói quen xấu đó đã làm hại mình sau này.

Sự tự tin ngút trời và tính cách ngạo mạn dần dần mang đến cho mình những thất bại đầu tiên. Mình không đủ điểm để vào lớp Cử nhân tài năng của trường, không vượt qua được vòng đầu tiên của ICPC, và cuối cùng là trượt phỏng vấn về thuật toán ở một vài công ty đầu tiên.

Ngoài những điều trên, mình nhận ra rằng việc kém giao tiếp và ngại tiếp xúc cũng làm hạn chế mối quan hệ của mình. Mình gần như chỉ quen biết những người bạn cùng phòng (tới tận bây giờ), còn bạn bè cùng lớp thì chắc mình cũng chẳng biết ai, mà có khi cũng chẳng ai biết mình.

Công việc đầu tiên

Công việc đầu tiên mình có được vào đầu năm 2, khá tình cờ khi mình đang hỏi hướng để trở thành một Web Developer từ một đàn anh cùng trường cấp 3 (và cùng trường đại học), anh ấy có một công ty outsource và kéo mình tham gia.

Phải nói rằng đây là một quãng thời gian tuyệt vời. Mình nhận được phản hồi trực tiếp từ khách hàng và từ anh sếp (chính là đàn anh mình nhắc tới), từ đó hiểu được những kiến thức đầu tiên trong ngành Software.

Lần đầu tiên trong đời mình cảm nhận được sự tự học rất quan trọng, và áp dụng ngay vào thực tế lại tạo ra ảnh hưởng tới kết quả của mình tới như vậy. Mình còn rủ thêm một đứa bạn để vào làm chung, thằng đó trình coding khủng hơn mình, đặc biệt là rất hay share những update mới để mình học. Mình giống như miếng bọt biển, có cái gì hấp thu cái nấy.

Người ta hay nói công ty đầu tiên và môi trường làm việc đầu tiên sẽ định hình cả sự nghiệp sau này của mình. Thật vậy, mình cảm nhận một môi trường mà mọi người có thể học hỏi và chia sẻ lẫn nhau mới thực sự quan trọng. Đối với mình, ưu tiên sự học của bản thân và được áp dụng kiến thức vào thực tế là điều mình mong muốn nhất.

Những sự lựa chọn

Để nói thời gian làm công việc đầu tiên của mình thế nào, có thể là: “vui nhưng áp lực”. Mình vui vì mình cảm thấy bản thân tiến bộ, nhưng áp lực vì thời gian hằng ngày vừa học, vừa làm, đối mặt với những project mà mình cảm thấy khó khăn để nói chuyện với khách, và thấy được bản thân mình còn thiếu sót nhiều thứ.

Giây phút mình cảm thấy nghi ngờ về bản thân, về nền tảng của mình liệu có vững chắc để mình tiếp tục công việc. Có lẽ mình đã cảm thấy mình vô dụng thật :) hoặc là mình kém cỏi thật, đấy là lúc mình đã dừng lại.

Kết thúc 7 tháng đầu tiên với một công việc part-time, mình quyết định dừng lại và tập trung vào việc sửa những sai lầm đã mắc trong năm đầu đại học.

Khởi đầu mới

Một khởi đầu mới vào cuối năm 2 đại học, có thể coi là thời gian mình làm lại mọi thứ, xem lại tất cả những môn lập trình mình đã bỏ qua, học lại toán và đọc sách nhiều hơn. Trong những thời gian đấy, mình cũng tự làm một vài trang web như là dự án cá nhân.

Mình thấy rằng học một thứ mới mẻ hoàn toàn rất dễ, nhưng lúc phải xem lại, học lại, ngẫm lại thì thật sự không hề dễ dàng.

Ví dụ như sau khi học OOP, lý thuyết, ví dụ đều rất dễ hiểu; nhưng khi làm quen với các Design Pattern, khi xem lại về OOP ta thấy mọi thứ rất lạ :) Lúc tiếp xúc với Design Pattern mới làm mình hiểu vì sao cần Interface và vì sao cần Abstract Class.

Giờ mình phải nhìn nhận lại về việc học, nó không dễ dàng như mình nghĩ. Đôi khi mình phải vật lộn với những thứ mình học được, xem lại và tự thực nghiệm nó. Đó chính xác là cảm giác lúc mình mới làm quen về Machine Learning, một chân trời mới hoàn toàn.

Việc mình tìm hiểu về Machine Learning cũng tương đối tính cờ, cụ thể là một lần mình thấy qua demo người ta chỉ huấn luyện một mô hình máy học cách học được một hàm $y=x^2$ bằng các đưa vào các dữ liệu và tham số đơn giản. Nhưng từ cái đơn giản đấy có sức hút rất lớn với mình. Mình dành thời gian để học lại toán, xác suất; tự học khoá học Machine Learning của thầy Andrew Ng. Một thời gian mình tự học từ Machine Learning, Computer Vision, NLP, … tự học lại toán và tự viết các dòng code để huấn luyện from scratch đầu tay. Cảm giác nó khó khăn, thử thách nhưng cũng thú vị.

Những bài học

Có lẽ sau một thời gian dài, trải qua nhiều thất bại và thay đổi, mình cũng đã tìm được một Khung học tập cho bản thân.

Một quãng thời gian trong ngày có thể từ 3-4 tiếng, sáng sớm dậy bật những video từ các khoá học, ghi chép và đọc lại. Sau đó là thời gian để thử thách lập trình lại, kiểm tra kết quả và đọc các bài báo khoa học, chiêm nghiệm và thực nghiệm nó. Một quãng thời gian tươi đẹp để sống đấy :D

Để mọi thứ cho sự tò mò và để sự khó khăn hướng mình tới giải pháp, đó là bài học đầu tiên cho cách tự học của mình.

Leave a comment