Đơ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:
Việt Trần
Yêu thích tìm hiểu các công nghệ cốt lõi, kỹ thuật lập trình và thích chia sẻ chúng tới cộng đồng
follow me :
Bài viết liên quan
Whisper AI là gì? Công cụ chuyển giọng nói thành văn bản của Open AI
Oct 17, 2024 • 8 min read
Cursor AI là gì? Hướng dẫn Sử dụng Cursor AI cơ bản
Sep 16, 2024 • 13 min read
IDE là gì? Những công cụ IDE phổ biến nhất hiện nay
Aug 22, 2024 • 10 min read
Cookies là gì? Cookies được sử dụng như thế nào?
Aug 12, 2024 • 9 min read
SDLC là gì? Các mô hình Software Development Life Cycle phổ biến
Jul 13, 2024 • 27 min read
System Design là gì? Tại sao Thiết kế hệ thống lại quan trọng với Developer?
Jun 17, 2024 • 10 min read