TẠI SAO CODE MÃI MÀ KHÔNG GIỎI
Có nhiều nguyên nhân!!! Nhưng ở phần này mình sẽ nói về các nguyên nhân chính.
Tư duy không tốt
Lập trình là một công việc yêu cầu có tư duy logic khá tốt.
Công việc của chúng ta gói gọn trong 4 chữ là “giải quyết vấn đề”, đúng vậy, dù có chia nhóm, tập hợp hay cố có một khái niệm chung cho nghề này thì mục đích cuối cùng vẫn là giải quyết những bài toán cụ thể.
- Ví dụ: ông nào muốn hẹn hò nhưng không muốn ra ngoài thì có tinder
- Muốn khẩu nghiệp thì dùng X
- Hay các anh em FA muốn giải quyết nỗi buồn thì sẽ có một số web như pỏn…
Những vấn đề lớn lại có nhiều vấn đề liên quan và các vấn đề bé. Vì vậy, nếu không có một tư duy logic đủ nhạy bén, tốt, tổng quan thì sẽ khó mà tiến xa trong công việc lập trình.
Cố gắng thôi là chưa đủ. Ở câu chuyện trước mình có một ví dụ, đó là chị tester trong dự án của mình. Chị ấy rất cố gắng nhưng điểm chính khiến chị ấy không thể bắt nhịp và đóng góp cho dự án là chị ấy không có tư duy logic đủ tốt.
- Vì vậy những ai có tư duy logic, toán không tốt lắm, hoặc đã nhiều tuổi, mình nghĩ các bạn phải cân nhắc thật kỹ trước khi quyết định theo ngành.
Cố gắng không đủ.
Có những người tư duy logic rất tốt, thậm chí điểm thi đại học thuộc dạng top nhưng họ lại không cố gắng đủ (nhất là cố gắng trong việc phát triển kiến thức với ngành IT).
Điều mình có thể dễ nhìn thấy nhất là nghiện game, hoặc nghiện một thứ khác, khiến thời gian học bị đốt cháy quá nhiều. (mình là một ví dụ điển hình). Hồi cấp 2 mình ở lớp chọn, trường chuyên. Mình là người duy nhất trong xã (thi đỗ vào được lớp chọn xịn nhất của trường cấp 3 mình theo học) nhưng từ năm lớp 10 mình đã chơi game khá nhiều, điều này kéo dài đến năm 2 đại học. Và mình chắc chắn mình sẽ tiến xa hơn nhiều (về kiến thức, kỹ thuật ), nếu không dính vào game. Nhưng mình không hối hận, và đó là bài học rất tốt cho mình, và mình đã vượt qua được ải khó khăn đó. Một số người bạn của mình, không may mắn như vậy, họ dính vào game, đa cấp đến mức không ra dc trường. Mình không nói họ kém hơn mình, vì có thể hiện tại họ cũng nhận ra và cố gắng cho những thứ họ thực sự muốn. Tóm lại điều mình muốn nói là nếu không cố gắng đủ, thì không chỉ IT, bất cứ ngành nào bạn cũng sẽ bị bỏ lại phía sau.
Bạn không thích lập trình nhiều như bạn nghĩ
Việc thích ngồi code, học kiến thức khác hoàn toàn với việc tìm hiểu công nghệ và sử dụng công nghệ. có nhiều người rất thích trải nghiệm công nghệ, ví dụ các youtuber hay review điện thoại laptop, một số người hay tìm hiểu về những gì AI có thể làm được. Nhưng những việc đó thuộc về việc thưởng thức, sử dụng công nghệ ở tầng bề mặt, chứ không phải việc tìm hiểu, nghiên cứu đi sâu vào gốc rễ và các phần bên dưới của công nghệ.
Nhiều người không phân biệt được 2 chuyện này, họ nghĩ họ hợp với ngành, họ học thuộc rất nhiều loại thuật ngữ hay thậm chí chém rất tốt nhưng thực chất họ không hiểu gì về phía bên dưới, việc thuộc được nhiều thuật ngữ khác xa với việc bạn có hiểu và sử dụng cũng như tạo ra được công nghệ hay không.
Những người thuộc nhóm này mình nghĩ sẽ có người hợp với ngành, nhưng có 1 số không. Điều cần làm là tự hỏi bản thân mình có thực sự tích mày mò, vọc, code, đến tận tầng thấp hơn không, hay mình chỉ thích trải nghiệm công nghệ. Nếu bạn thích trải nghiệm thì bạn cũng khó đi xa được.
Không biết lượng sức và ảo tưởng sức mạnh
Khi học một thứ ngôn ngữ, công nghệ, điều quan trọng là cần nắm được kiến thức cơ bản, tổng quan một cách chắc chắn, sau đó hãy cố gắng tạo ra những thứ nhỏ nhắn xinh xắn.
Mình biết có 1 số bạn học xong 1 vài công nghệ thì rất háo hức, muốn viết ra 1 game hoặc 1 mạng xã hội. Mong muốn này là rất tốt nhưng nó sẽ làm chậm quá trình học của các bạn, cũng như chưa chắc đã mang lại kết quả.
Việc tạo ra một thứ lớn lao, phức tạp là việc của nhiều người hoặc của một người đã master gần như rất nhiều công đoạn trong một dự án.
Hơn nữa, cố gắng tạo ra những thứ lớn sẽ có nhiều thách thức, khi bạn gặp thách thức, một là nó tiêu tốn thời gian, 2 là nó làm cho chúng ta bị nản. hãy tạo ra những thứ nhỏ xinh, áp dụng những điểm mạnh của công nghệ bạn đang học để giải quyết 1 vấn đề nhỏ. bạn sẽ học được một thứ hay ho, và có thể chuyển qua học thứ khác một cách nhanh chóng, tiết kiệm thời gian.
Thụ động, phương pháp học sai.
Mình là một người rất bình thường, nhưng mình có thể chia sẻ cách mình học, khi mình học 1 ngôn ngữ, công nghệ hay kiến trúc mới, mình sẽ có 1 repo cho những thứ liên quan, mình sẽ implement những thứ nhỏ xinh để hiểu về nó.
Quan điểm của mình, đọc sách, xem video, nghe chém gió nhiều đến đâu cũng không hiệu quả bằng việc ngồi thực hành, hiện thưc hoá những kiến thức đó ra code, ra sản phẩm.
Điều này khá giống với một phương pháp học là active recall, các bạn có thể tìm hiểu về nó.
Mình cũng biết nhiều người chịu khó đọc sách, xem video, khi chém thì tưng bừng nhưng khi làm thì lại khá là bí nếu không có chatgpt, tutorial video. Cái này là không sao nhưng khi chúng ta muốn tiến lên, muốn không bị thay thế bới Ai thì ít nhất là khi học hãy hạn chế dùng nó.
Dọc doc rồi viết code cũng hiệu quả hơn xem video khá nhiều. khi đọc chúng ta có xu hướng suy nghĩ nhiều hơn khi xem + nghe.
Đó cũng là lý do vì sao mình làm những video mình ngồi code, rồi mình không cut những đoạn mình tra cứu, hay fixbug, nó có thể khiến video của mình dài. nhưng nó sẽ làm cho các bạn dễ chịu, và hiểu rằng, một coder bình thường thì khi code sẽ có lỗi, khi có lỗi anh ấy sẽ cố gắng giải quyết. Những turtorial video nội dung cô đọng nhưng nếu xem qua, rồi tự mình làm theo, mình nghĩ các bạn sẽ gặp đầy lỗi mà không thể giải quyết được.