, September 29, 2022

0 kết quả được tìm thấy

Lập trình mãi không giỏi được, nguyên nhân vì đâu?!


  •   6 min reads
Lập trình mãi không giỏi được, nguyên nhân vì đâu?!

Đơn giản là vì chúng ta chưa thực sự tập trung, quyết tâm và không có động lực đủ lớn (cũng như không có người chỉ dẫn).

Tính từ đầu tháng 2015 đến nay, mình đã tư vấn cho hơn 800 lập trình viên. Trong số đó có những bạn mới vào ngành lập trình và cũng không ít người có kinh nghiệm trên 3 năm. Tất cả đều có chung tâm tư: đã cố gắng rất nhiều, thậm chí đi làm nhiều năm rồi, nhưng cảm thấy không phát triển, bị mắc kẹt và dần chán nản.

Nhiều người đã chọn từ bỏ, chuyển sang nghề khác, hoặc chấp nhận như vậy, chạy KPI/Deadline thôi là đủ. Ngày qua ngày, họ quên mất lý do tại sao tìm đến ngành này, để lại những dòng code khô khan, trông chờ sự thăng tiến bằng số năm kinh nghiệm. Với ngành IT, đây là vấn đề khá nguy hiểm, vì ngành có sự vận động, biến đổi rất nhanh.

Quan trọng là với những người mới, trong mắt họ, ngành lập trình IT bây giờ như đi thám hiểm rừng mà không hề có dụng cụ chỉ dẫn. Đi một hướng sẽ dẫn đến rất nhiều hướng, sau một thời gian thám hiểm, họ quên mất đâu là lối ra.

Lấy ví dụ ngành đang có những topic cực hot: Blockchain, Big Data, Machine Learning, IoT... Bên cạnh là những mảng đang rất phát triển: Web App, Mobile App, Backend, DevOps... Chọn cái nào là một câu hỏi khó, chưa kể là đến ngôn ngữ lập trình, rồi DB nào, rồi công cụ nào nữa.

Nhiều người nói rằng "just do it", là cứ chọn rồi thử thôi, vế còn lại thì không nói, đó là "how to do". Vì cái "how" chúng ta phải tự khám phá.

Theo mình, việc lựa chọn mảng nào nên xét đến 2 yếu tố: "phù hợp" và "khả dụng".

Bạn chọn Backend nhưng cá tính và sở thích thì lại thiên về giao diện người dùng, màu sắc hài hoà, hoặc ngược lại chọn Frontend nhưng tâm tư nghĩ về dữ liệu và hệ thống. Đó là ví dụ về sự không phù hợp.

Còn về khả dụng? Giả sử bạn chọn Big Data, bạn đã hiểu được cách xử lý dữ liệu lớn, đổ dữ liệu từ khắp nơi về, phân tích và ra được những insight quan trọng. Nhưng bạn đang không có gì trong tay, cũng không có dự án nào đủ tầm và nhu cầu dùng đến. Từ đó sự lựa chọn này không khả dụng, ít nhất là ở thời điểm hiện tại.

Vì thế nếu bạn đã thử vài mảng rồi thì nên nhìn nhận lại xem mình có phù hợp và xài được nó hay không. Dấu hiệu nhận biết sự phù hợp đó là: càng học càng thấy thích, như đang chơi game chứ không phải đang làm việc, học xong mang ra dùng được ngay, phát triển theo nhu cầu thực tế. Ngược lại, càng đi vào càng thấy bế tắc, não từ chối hiểu. Đây là động lực, nếu làm đúng, động lực ngày càng lớn, gia tốc tiến bộ sẽ càng nhanh.

Bên cạnh đó là sự quyết tâm và tập trung. Riêng với ngành lập trình thì cần thêm sự tò mò để hiểu sâu tận gốc rễ vấn đề hơn. Đây hoàn toàn là vấn đề của bản thân, không ai có thể giúp ta được. Tuy nhiên, mình thấy rằng yếu tố môi trường có sự tác động không nhỏ:

Nếu bạn đang tự học ở nhà, kế bên là chiếc giường êm ái thì nên cẩn thận. Bộ não con người khi gặp áp lực, nó có xu hướng chọn giải pháp dễ dàng: "hãy ngủ một giấc". Ngược lại, bạn ở trong một không gian mà xung quanh là những người cũng đang tập trung và cần mẫn, bỗng dưng những mệt mỏi dần tan biến. Hãy tìm kiếm hoặc tự thành lập đội nhóm có chung đam mê và quyết tâm, từ đó động lực và quyết tâm cũng được lan toả và chia sẻ cùng nhau.

Còn về tò mò, có luyện được không? Thật ra là không cần luyện. Bản chất con người sinh ra đã có sẵn sự tò mò khám phá thế giới xunh quanh. Tiếc thay những nền tảng và phương thức giáo dục hiện tại có khả năng triệt tiêu sự tò mò này. Ta dần trở nên nhút nhát, sợ làm sai, sợ thử cái mới, sợ hỏi và bị phán xét. Hãy tự tin và vững bước với lựa chọn của mình, hãy cứ luôn dại khờ để tiếp tục học hỏi những cái mới bạn nhé.

Một mai chúng ta sẽ lập gia đình, sẽ có con nhỏ. Những đứa trẻ sẽ suốt ngày hỏi bạn đủ thứ trên trời dưới đất. Bạn có thể vẫn giữ tinh thần mò mò học hỏi này đi search Google để trả lời dù bạn không biết. Chính bạn cũng sẽ được lợi từ việc này. Nên có nhiều những người tò mò xung quanh cũng là điều tốt. Bản thân mình thấy tiến bộ khi đi debug, search lỗi giúp đồng đội.

Với những ai có may mắn có được người chỉ dẫn, đặc biệt trong giai đoạn đầu, đây là điều trân quý nhất. Cảm giác giống như bao người xuất phát không có gì trong tay thì bạn đã có cả tấm bản đồ. Có những cái mất rất nhiều thời gian mới đút kết ra được. Nhưng bạn cũng đừng quá ỷ lại mà hãy tĩnh táo, tìm ra cách học của riêng mình. Đến một ngày rồi bạn cũng sẽ là người chỉ dẫn cho các thế hệ tiếp theo.

Đôi lời chia sẻ cho các bạn mới vào ngành và những bạn đang gặp khó khăn trong lập trình. Chúc các bạn luôn không ngừng học hỏi và tiến bộ, bức phá được những rào cản hiện tại.

Sau đây là các bài viết các bạn có thể quan tâm:

Nghề lập trình - Những hiểu sai phổ biến và cách học hiệu quả
Bạn đang tìm đến nghề lập trình vì nghe đồn rằng nghền này rất giàu, kiếm được nhiều tiền hoặc nghề này rất hot, nhu cầu tuyển dụng cao
Vì sao phải nên học nhiều ngôn ngữ lập trình
Học nhiều ngôn ngữ lập trình giúp chúng ta học hỏi được nhiều hơn và quan trọng nhất là lựa chọn phù hợp hơn cho các sản phẩm công nghệ cần phát triển

Bài viết liên quan

Bitbucket là gì? GitHub là gì? So sánh Bitbucket và GitHub

Sự khác biệt giữa Bitbucket và GitHub là: Bitbucket chủ yếu sử dụng cho private repositories trong khi GitHub sử dụng cho public repositories....

Bitbucket là gì? GitHub là gì? So sánh Bitbucket và GitHub
Các VS Code extension dành cho React Developer

Với sự phát triển không ngừng của các công cụ và công nghệ mới hiện nay, các developer có thể...

Các VS Code extension dành cho React Developer
Agile là gì? Scrum là gì? Tìm hiểu về mô hình Agile và quy trình Scrum

Agile Scrum là một hệ thống quản lý dự án dựa trên Sprint với mục tiêu cung cấp giá trị cao nhất cho các bên liên quan....

Agile là gì? Scrum là gì? Tìm hiểu về mô hình Agile và quy trình Scrum
Những ngôn ngữ lập trình tốt nhất NĂM 2022

Một số gợi ý về các ngôn ngữ lập trình tốt nhất để học trong năm 2022, với những ưu nhược điểm của từng ngôn ngữ....

Những ngôn ngữ lập trình tốt nhất NĂM 2022
Tầm quan trọng của trừu tượng hóa trong kiến trúc ứng dụng

Trừu tượng (abstract) nghĩa là một cái gì đó chung chung, không rõ ràng. Đây là khái niệm rất quan trọng trong lập trình mà bạn không nên bỏ qua....

Tầm quan trọng của trừu tượng hóa trong kiến trúc ứng dụng
You've successfully subscribed to 200Lab Blog
Great! Next, complete checkout for full access to 200Lab Blog
Xin chào mừng bạn đã quay trở lại
OK! Tài khoản của bạn đã kích hoạt thành công.
Success! Your billing info is updated.
Billing info update failed.
Your link has expired.