Chiêu thức "xóa mù" code cho dân SE

27/08/2018
quyenttk3
362

Ở chuyên mục Cóc Học lần này, tôi sẽ dùng chút kinh nghiệm ít ỏi sau gần 4 năm học tại FPTU của mình để chia sẻ về một vấn đề khá nhức nhối cho các bạn học Công nghệ thông tin: Học code. Đừng bỏ qua bài viết này nếu bạn muốn “sống sót” mà ra khỏi trường.

Chẳng rõ có biết bao “sinh mạng” đã bỏ cuộc trước PE (Practical Exam), hay cố gắng một cách gượng gạo để cố thoát khỏi con số “định mệnh 3.9” ở FE (Final Exam). Đã thế, nó còn kéo theo Lab và một số môn học khác khi nghiễm nhiên trở thành môn tiên quyết ở các học kì tiếp theo. Bản thân tôi cũng chẳng đáng tự hào khi đã có lúc phải 2 lần mới thoát khỏi nó. Thế nhưng, tôi đang sử dụng như một vũ khí trên mọi mặt trận, vì thế xin phép được chia sẻ một số điều mà bản thân nhận ra sau những  vấp ngã bằng “4 Ngưng” và "4 Hãy” như sau:

Ngưng học thuộc – Hãy code thật nhiều

Công nghệ mang tính logic rất cao, cho nên hãy code thật nhiều để tính logic của từng bài toán “thấm” dần vào suy nghĩ và cách đặt vấn đề của bạn. Bắt đầu từ những bài toán có yêu cầu đơn giản nhất cho đến phức tạp. Thay vì phải học thuộc câu lệnh dài ngoằng như System.out.println(“”);, hãy chia cú pháp câu lệnh ra từng phần, cái nào thuộc thư viện nào, khi nào mình cần dùng đến nó, như vậy chẳng phải học 1 mà còn học được rất nhiều thứ chỉ từ 1 câu lệnh. Một điều rất quan trọng ở đây là: chỉ code những gì bạn hiểu, tất cả những thứ không hiểu hãy nghiên cứu hoặc hỏi người biết về nó. Về những môn lập trình cơ bản, tôi thường học trên w3schools.com – một trang web hướng dẫn rất chi tiết, còn có cả ví dụ minh họa cho từng trường hợp từ cơ bản đến nâng cao.

Chẳng phải bạn luôn chán chường vì những môn học thuộc như: Sử, Địa, Công dân? Đừng biến code trở nên nhàm chán như vậy chứ!

Ngưng rụt rè – Hãy “mặt dày”

Điều quan trọng nhất khi học là bản thân phải biết mình yếu cái gì và mạnh cái gì. Nếu như yếu hay không hiểu một lí do nào đó, mạnh dạn đưa tay lên hỏi giảng viên ngay lập tức vì chẳng giảng viên nào ghét bỏ bạn cả. Nếu như bạn không hỏi ngay lúc đấy, toàn bộ bải giảng phía sau của thầy cô coi như mất trắng. Vì đây là môn học của sự tiến bộ, cho nên từng bước giảng của giảng viên thường đi từ cái đơn giản nhất, từ sơ khai cho đến cái phúc tạp nhất. Mất một "module” nào đó trong chuỗi bài giảng thì e rằng khó có thể theo kịp được.

Có một bí kíp để hiểu lâu và nhớ dai kiến thức mà tôi thường áp dụng, đó là “mặt dày” xin học ké các lớp khác. Khi được giảng một lần không hiểu, chắc chắn lần thứ 2 sẽ hiểu hơn. Mà thường tâm lí đi học lớp của người khác sẽ khiến bạn nghiêm túc hơn, chăm chú hơn, và đương nhiên là nắm bắt toàn bộ bài giảng một cách ngon lành rồi.

Chẳng ai đánh giá bạn vì bạn “mặt dày” đi xin kiến thức cả, người ta chỉ đánh giá khi bạn thất bại trước thứ họ giỏi giang!

Ngưng “lười” – Hãy đọc thật nhiều, đặc biệt là sách tiếng Anh

Nếu bạn yêu code ngay từ sớm, hãy đọc những cuốn sách về Thuật toán để xây dựng óc tổ chức bài toán thật tốt. Điều đó rất cần với một người học code, đặc biệt với những lập trình viên tương lai. Còn nếu như bạn đang cảm thấy mất phương hướng và chán nản code, có thể bắt đầu bằng những đầu sách không liên quan tới code, sau đó khi bắt đầu cảm thấy yêu nó rồi, và xác định mục tiêu khi học code thì chú tâm vào những tài liệu khó hơn, liên quan đến chuyên ngành hơn. Một số đầu sách và tài liệu tôi có thể gợi ý cho bạn như: Ebook “Nhập môn lập trình không code”, “Bảo mật nhập môn”, “Code dạo ký sự – Lập trình viên đâu phải chỉ biết code” của tác giả Phạm Huy Hoàng – một cựu sinh viên trường mình đang rất thành công ở lĩnh vực IT. Anh ấy cũng chính là chủ nhân của blog toidicodedao.com – một trang web rất hữu ích, đã và đang làm mưa làm gió trong giới Công nghệ. Bật mí với các bạn, tôi là một fan bự của toidicodedao.com. Tôi chưa bao giờ có cảm giác nó là một blog về IT, thay vào đó tôi phấn khích với những mẩu chuyện hài nhưng đầy sâu sắc từ chính công cuộc "hành nghề" của tác giả.

Đó là sách để giảm stress và tham khảo ngoài luồng, còn nếu như bạn muốn tìm hiểu sâu hơn về một ngôn ngữ nào đấy, hãy tìm những quyển sách nổi tiếng bằng tiếng Anh. Nếu trước một quyển sách có 2 sự lựa chọn tiếng Việt và tiếng Anh, hãy dùng bản tiếng Anh. Bạn có biết hầu hết sách công nghệ đều được dịch từ tiếng Anh, từ ngữ chuyên ngành rất khó để có thể dịch ra tiếng Việt một cách mạch lạc được, vì thế hãy hiểu luôn nghĩa từ ấy trong đầu và ghi nhớ bằng một "keyword” tiếng Anh.

Một số quyển sách như Code Complete 2 của tác giả Steve McConnell, The mythical Man - Moth: Esays on Software Engineering, Anniversary Edition (2nd Edition), hay chính những quyển giáo trình dày cộp của trường chúng ta là những tài liệu quý giá nhưng chất lượng mà chúng ta nên đọc. Vừa nâng cao trình độ IT, bắt kịp xu hướng mà còn giỏi tiếng Anh nữa, tại sai không nhỉ?

Ngưng than vãn – Hãy tập yêu code một cách đúng nghĩa

Có một sự thực là bạn muốn giỏi bất cứ cái gì, bạn phải thật sự yêu thích và có tâm huyết với nó. Nếu như chưa yêu, hãy tập cách yêu. Nếu yêu rồi, hãy vun vén tình yêu của bạn thật nhiều nhưng vừa phải để duy trì ngọn lửa ấy. Bạn cần xác định rõ có cần học code hay không, học code để làm gì. Cũng giống như tình yêu, code cần sự thường xuyên và rõ ràng. Lập ra cho mình một lộ trình để luyện tập mỗi ngày, tìm ra vài thứ hay ho mà code mang lại, code cho mình một sản phẩm nho nhỏ nào đấy cũng chính là cách mang tình yêu với code đến gần bạn hơn.

Ở đây, tôi còn bắt gặp khá nhiều trường hợp đã yêu nhưng dần chán code do không “fix” được bug. “Bug là tính năng, không phải lỗi” là câu chống chế mà chúng ta hay đùa nhau khi bắt gặp một “sạn” nào đấy trong các sản phẩm Công nghệ. Học cách đọc lỗi và “fix” lỗi cũng chính là cách khiến bạn hiểu sâu, nhớ dai và thuần thục hơn trong cả kĩ năng viết code và đọc code.

Theo tôi học code không khó, chỉ khó ở việc bạn có muốn giỏi hay không thôi. Mỗi người đều có 24 tiếng mỗi ngày, đều có một tình yêu với đam mê của mình. Làm sao để dùng quỹ thời gian ấy nuôi dưỡng niềm đam mê IT chính là học code thật giỏi, không có nghĩa là bạn bắt buộc phải biết code một cách làu làu, mà chính là bạn phải hiểu nó đang làm gì, mất lệnh đó chương trình sẽ ra sao, khi cho lệnh vào chương trình sẽ chạy đến đâu... và làm cách nào để chương trình chạy hiệu quả nhất, mang lại giá trị thực cho người sử dụng.

Hạ Ẩn

362
Tags: