Mở đầu
-
Nếu được quay trở lại, mình sẽ không học lập trình nữaaaaaa 🐧
-
I'm just kidding 😅 Học chứ, càng ngày càng cảm thấy có vô vàn kiến thức hay ho để mình học trong ngành này.
-
Mục đích chính của bài viết này là để tiếp thêm động lực cho những anh em đang là học sinh, sinh viên, đang đôi lúc cảm thấy mông lung về ngành IT. Đương nhiên là quá khứ của mình đã trải qua rồi, có bao nhiêu cái giá như thì cũng không thể quay lại được. Chỉ có thể bước tiếp về phía trước mà thôi.
-
Mặc dù bài viết chỉ dựa trên kinh nghiệm cá nhân của mình, nhưng nếu bạn đang ở một trong những thời điểm mình nhắc đến ở bên dưới, thì hi vọng bài viết này sẽ phần nào có ích với bạn.
Chọn thời điểm bắt đầu
-
Nếu được quay lại, chắc chắn mình sẽ lựa chọn thời điểm bắt đầu học lập trình là thời học sinh cấp 3.
-
Thực tế năm lớp 12 mình lựa chọn thi ĐH ngành IT đơn thuần chỉ là cảm tính, khi xem phim thấy các anh hacker áo đen gõ phím ngầu ngầu.
-
Mình không hề có kiến thức lập trình, cũng không hề quan tâm tìm hiểu cơ hội việc làm hay khó khăn, thách thức gì sẽ có thể phải đối diện ở ngành này. Có thể nói là “bàng quan với tương lai” của chính bản thân mình.
-
“Giá như” mình không ham chơi trong những tiết Tin học, giá như mình chịu khó tham gia các diễn đàn công nghệ, học hỏi từ những anh chị, bạn bè khác trên internet, giá như mình có trách nhiệm hơn với tương lai của mình, giá như ...
Tiếng Anh
-
Ngày xưa vì HỌC DỐT HÓA, nên sang năm lớp 11 mình chuyển qua học tiếng Anh để thi khối A1.
-
Thế nhưng mình cũng chỉ học chống chế, với tư duy thiển cận rằng: sau này không ra nước ngoài làm việc thì cần học tốt tiếng Anh làm gì!
-
Bây giờ mới thấy, việc không cố gắng học tiếng Anh nghiêm túc từ sớm, đã khiến mình bỏ lỡ rất nhiều cơ hội tiếp cận với những tài liệu học lập trình, những cộng đồng lập trình viên trên thế giới.
-
Những quyển sách chuyên ngành dày cộm, những video dạy lập trình siêu cấp pro từ các pháp sư Ấn Độ mà mình “ngấu nghiến” bây giờ, là những thứ mình chưa từng nghĩ sẽ chạm tay vào khi còn học cấp 3.
Học C/C++ cơ bản
-
Việc học lập trình C/C++ sẽ giúp mình hiểu rõ hơn về cách máy tính hoạt động, cùng các khái niệm cơ bản như biến, mảng, con trỏ, quản lý bộ nhớ và phân tích thời gian chạy của chương trình.
-
Những kiến thức này sẽ cung cấp một nền tảng vững chắc cho việc học các ngôn ngữ và công nghệ khác sau này.
Tư duy giải quyết vấn đề. Cấu trúc dữ liệu & Giải thuật
-
Tư duy giải quyết vấn đề là một kỹ năng RẤT QUAN TRỌNG mà mọi lập trình viên đều cần phải có. Nó giúp mình có thể phân tích và hiểu rõ vấn đề, sau đó tìm ra cách tiếp cận hiệu quả để giải quyết bằng việc lập trình.
-
Trong môi trường làm việc thực tế, các vấn đề thường phức tạp và đòi hỏi một phương pháp có hệ thống để giải quyết. Tư duy giải quyết vấn đề sẽ giúp mình xây dựng được các ứng dụng hữu ích, giải quyết được “điểm đau” của khách hàng.
-
Nhiều bạn hay nói rằng học lập trình web thì cần gì biết CTDL & GT. Nhưng theo quan điểm của cá nhân mình, học CTDL & GT chính là cách hiệu quả để mình phát triển tư duy giải quyết vấn đề.
Kỹ năng Debug
-
Thời sinh viên mình RẤT SỢ BUG. Chạy chương trình mà gặp lỗi là “chân tay bủn rủn, xây xẩm mặt mày”
-
Và để debug, mình luôn sử dụng phương pháp KINH ĐIỂN NHẤT, đó là console log/print những dòng mà mình “nghi nghi” là gây ra lỗi. Và đương nhiên cách này không hề hiệu quả trong hầu hết các trường hợp mình gặp phải.
-
Mãi sau này, khi đi thực tập, mình mới được các anh trong công ty training theo kiểu “cầm tay chỉ việc” kỹ năng debug sử dụng công cụ có sẵn trên IDE hoặc Chrome Dev Tools, một bầu trời chân lý lúc đó mới thực sự mở ra trước mắt mình.
-
Một lý do QUAN TRỌNG nữa, đó là sau này đi làm, có thể mình sẽ debug code không phải do mình viết ra, mà do đồng nghiệp của mình viết, khi ấy mà không có công cụ hỗ trợ thì quả thực là một cực hình 🥴
Version Control (Git)
-
Lại nhớ về hồi mình sinh viên, khi làm bài tập lớn theo nhóm, mình và anh em trong nhóm thường sẽ phân chia mỗi người code 1 phần, rồi gần đến hạn nộp sẽ hẹn nhau ra Circle K Ngõ 1 Ao Sen để ... ghép code.
-
Mỗi ông 1 chiếc USB, chọt chọt vào máy thằng trưởng nhóm để copy code sang. Và đương nhiên là khi ghép xong thì code ... không chạy.
-
Chưa kể xui rủi mà USB ông nào dính virus là thôi thằng trưởng nhóm xác định dính chưởng cùng. Kết quả là chỉ tốn tiền kem cho Circle K chứ chẳng làm được gì ra hồn (nhưng mà kem công nhận ngon nha 🤤)
-
Vậy mới thấu hiểu tầm quan trọng của Version Control như Git là như thế nào.
Kết bài
-
Học lập trình là một quá trình liên tục và cần rất nhiều sự kiên trì.
-
Đừng ngần ngại tìm kiếm các tài liệu học tập (kể cả là tiếng Anh), và quan trọng là thực hành thường xuyên, tìm cách cải thiện kỹ năng của mình.
-
Chúc bạn thành công trên con đường bản thân đã chọn ❤️