Ngẫm – Không có khiếu code thì liệu có theo ngành lập trình được không?

Cuối năm rồi, nên hôm nay mình sẽ không post bài về technical làm đau não bạn đọc nữa. Thay vào đó, chúng ta hãy cùng chém gió và suy ngẫm về một vấn đề:

  • Để theo ngành lập trình này, liệu có cần năng khiếu hay không?
  • Không có khiếu code thì liệu có tiến xa trong ngành đuợc không?

Góc nhìn của mình là:

Méo cần đâu! Thật ra trong ngành lập trình, tài năng và năng khiếu cũng *éo quan trọng mấy! Đam mê và nỗ lực quan trọng hơn nhiều!

Năng khiếu liệu có quan trọng?

Trong những môn như thế thao hay nghệ thuật, năng khiếu đóng vai trò khá quan trọng. Những nguời có năng khiếu sẽ tiến xa hơn, đạt đuợc nhiều thành tựu hơn.

Nhiều bạn sinh viên cũng nghĩ rằng ngành lập trình cũng giống như thế. Do vậy, mình hay nhận đuợc nhiều câu hỏi dạng như:

  • Không có khiếu code có nên theo ngành này không anh?
  • Em suy nghĩ và giải quyết vấn đề hơi chậm, liệu em có làm lập trình viên đuợc không?

Theo kinh nghiệm của mình, năng khiếu chỉ đóng vai trò khá nhỏ trong ngành lập trình. Năng khiếu chỉ giúp bạn giải quyết vấn đề nhanh hơn, học hỏi cái mới nhanh hơn. Chấm hết!

Năng khiếu chỉ giúp bạn giải quyết vấn đề nhanh hơn, học hỏi cái mới nhanh hơn. Chấm hết!

Chỉ vậy thôi! Nếu bạn có thiên phú, biết cách giải quyết vấn đề nhưng không biết cách chuyển nó thành code đuợc thì cũng vô dụng.

Hoặc bạn có thể viết code giải bài tập một cách nhanh chóng, nhưng không biết tự học, tự trang bị kiến thức về các công nghệ mới thì cũng chỉ có thể đi thi thố giải này giải kia thôi.

Vậy, nếu năng khiếu không quan trọng, thứ gì mới quan trọng?

Thiên phú <<< Đam mê + Nỗ lực

Cá nhân mình thấy xã hội đang đánh giá cao thiên phú và năng khiếu mà quên đi cái gọi là cố gắng và nỗ lực.

Không phải cứ có đam mê, có nỗ lực là sẽ code giỏi. Nhưng mình chắc chắn 90% những nguời code giỏi, kĩ thuật giỏi đều đạt được điều đó nhờ vào sự đam mê và nỗ lực!

Để mình kể cho các bạn nghe nè. Thuở truớc, mình hay lên Quora xem các câu hỏi về chuyện: Phải giỏi cỡ nào thì mới được vào làm việc cho các công ty lớn như Microsoft, Facebook, Google?

Bạn nghĩ là phải cỡ thiên tài, có năng khiếu code mới vào được sao? Hoàn toàn không phải!

Bạn nghĩ là phải cỡ thiên tài, có năng khiếu code mới vào được Google, Facebook sao? Hoàn toàn không phải!

 

Bạn có biết lời khuyên của những nguời đã phỏng vấn vào đuợc Facebook, Microsoft là gì không?

  • Ôn thụât toán kĩ vào, nhớ tìm mấy cuốn như Cracking the Coding Interview, Element of Programming Interview mà đọc
  • Lên các trang như Hackerank, CodeFight mà luyện tập!
  • Cày bài tập nhiều vào. Nhớ học kĩ kiến thức nền Khoa Học Máy Tính. Học kĩ mấy cái algorithm và data structure hay dùng nữa
  • Nhớ chuẩn bị từ 2-3 tháng để ôn luyện nhé!

Đấy, những nguời vào đuợc Facebook, Google không phải thiên tài. Chỉ là họ bỏ nhiều công sức hơn để ôn luyện, nỗ lực nhiều hơn để chuẩn bị cho kì phỏng vấn mà thôi!

Muốn vào Facebook, Google thì phải nỗ lực ôn luyện. Vậy đấy!

Nỗ lực đến từ đam mê

Để thành công, năng khiếu không quan trọng bằng nỗ lực. Làm sao để bạn có thể nỗ lực hết mình, đạt được nhiều thành công hơn?

Nỗ lực đến từ đam mê!

Khi nghe nhiều bạn lớp 12, năm nhất năm 2 nói là mình “đam mê công nghệ”, mình thường không tin lắm! Có thể đó chỉ đam mê chơi game và sử dụng công nghệ chứ không phải đam mê lập trình, tạo ra công nghệ!

Vậy thế nào mới là đam mê lập trình?

  • Bạn có đủ đam mê để mỗi ngày học hỏi đủ thứ mới lạ, những thứ mình chưa từng biết hay không?
  • Bạn có đủ đam mê để ngồi đọc và viết cả ngàn dòng code buồn chán hay không?
  • Bạn có đủ đam mê luyện tập code, xem tutorial, tập làm dự án, build sản phẩm cho tới khi thành thục hay không?

Cá nhân mình hồi còn đi học cũng không đam mê lập trình đến mức này. Tuy nhiên, sau khi bắt đầu đi làm, code đuợc một thời gian, mình mới bắt đầu cảm thấy hứng thú với nó. Rồi mình bắt đầu dành nhiều thời gian hơn để học, viết code và viết blog chia sẻ kinh nghiệm.

Do vậy, mình chỉ tặng các bạn một lời khuyên đơn giản

Đam mê nó không tự đến. Muốn đam mê thứ gì, ta phải giỏi thứ đó.

Để có đam mê lập trình, bạn phải lập trình nhiều, làm nhiều, lập trình giỏi. Khi bạn đã giỏi lập trình rồi, đam mê lập trình sẽ tự tìm đến bạn!

Những tấm gương

Bạn nào đọc cuốn Outlier của Malcolm Gladwell sẽ thấy ông nhắc đến qui tắc 10000 giờ (Chưa đọc thì đọc đi, sách hay lắm ahihi). Qui tắc này rất ngắn gọn:

Để thành thạo một thứ gì đó, bạn phải bỏ ra khoảng 10000 giờ!

Linus Tovard (Cha đẻ hệ điều hành Linux) có năng khiếu code ko? Mình không rõ, nhưng để đạt đến trình độ hiện tại, ông đã bỏ ra hơn 10.000 giờ code thời còn là sinh viên.

Các developer nổi tiếng thế giới như Uncle Bob, Martin Fowler, Kent Beck, … cũng vậy! Tài năng và sự nổi tiếng họ có được là nhờ kinh nghiệm, nhờ phấn đấu, nhờ quá trình làm việc và chia sẻ kiến thức không ngừng nghỉ, chứ không phải là khả năng thiên bẩm!

Các developer nổi tiếng không phải nhờ khả năng thiên bẩm mà là nhờ cố gắng và nỗ lực

 

Bản thân mình, mình cũng biết một bạn artist chuyên nghiệp (nữ) vẽ khá đẹp, hiện đang làm freelance. Mình cũng từng hỏi bạn là vẽ đẹp có phải nhờ năng khiếu hay không?

Câu trả lời mình nhận được là

Không anh ơi. Có năng khiếu mà không có luyện tập thì cũng chỉ là tầm vẽ chơi chơi không hà!

Bản thân em tập vẽ từ năm lớp 3 lớp 4. Đến năm nhất Đại Học bắt đầu đi vẽ freelance kiếm tiền, luyện tập cho đến giờ.

Mấy ông thầy, mấy nguời nổi tiếng hơn em, ai cũng luyện tập cả, vài năm cho đến chục năm mới vẽ đẹp đuợc như bây giờ.

Đấy, một bạn trong ngành nghệ thuật còn cho rằng thiên phú không quan trọng. Vậy cớ gì những người theo ngành kĩ thụât như chúng ta lại tự giới hạn chính mình, đổ lỗi rằng mình “không có khiếu”!

Kết

Đấy, túm tắt lại một câu là:

Đừng lo lắng bạn không đủ năng khiếu hay không đủ khả năng. 

Sự thành công trong ngành không phụ thuộc vào năng khiếu, mà phụ thuộc và mức độ đam mê của bạn, phụ thuộc vào nỗ lực mà bạn bỏ ra.

Nếu bạn có đam mê, nếu bạn đủ nhẫn nại thì cứ nhảy vào ngành này thôi!
Thành công trong ngành này phụ thuộc vào chính nỗ lực mà bạn bỏ ra!

Tất nhiên, những điều mình chém gió nãy giờ chỉ là góc nhìn của cá nhân mình mà thôi.

Vậy góc nhìn của bạn thì sao? Liệu bạn có từng phân vân khi nghĩ rằng mình không đủ “năng khiếu” để theo ngành này không? Hãy thảo luận trong mục comment nhé!

Advertisements

17 thoughts on “Ngẫm – Không có khiếu code thì liệu có theo ngành lập trình được không?”

  1. Theo nhân quả thì, những người có tài năng ít nhiều hôm nay là do sự cố gắng chịu khó ở quá khứ, ngay cả doanh nhân cũng phải cố gắng và luyện tập, vậy nên mình thấy cứ cố gắng đi, khi thấy dù là một thành quả thì đam mê tự khắc tìm đến và dẫn lối chúng ta 😀

    Like

  2. Em học hoài mà chẳng vào anh ơi , kiểu làm bài tập thì cũng chỉ nhìn vào code mẫu mới code lại được , chứ chẳng thể tự giải cái bài tập code nào ra hồn cả 😦 . Em đã năm cuối đại học rồi , em chán đời quá anh ơi , giờ chẳng biết làm sao nữa đây ! Hu hu

    Like

      1. Giờ em đang code C++ thấy nó nãn quá , không biết có nên chuyển sang C# không nữa vì giờ chắc chọn bừa cái mà đi làm quá , còn không chắc chuyển qua cái nghề gì khác kiếm ăn cho rồi ! Chị khó thì em chịu được , còn khó quá thì em chịu rồi anh Hoàng ơi ! Hu hu 😦

        Like

    1. Vấn đề không phải là bạn tự giải được hay là tự tạo ra được 1 cái gì đó của riêng mình, mà vấn đề bạn hiểu được cái bài giải đó tường tận như thế nào và chỉnh sửa theo ý của mình hoặc tối ưu hóa đoạn code của họ. Mình cũng giống bạn thôi !

      Like

    2. Từ cái mẫu đó mà bác rút ra bài học của bài toán đó suy ngẫm một chút xem rằng cách giải đó khác cách chúng ta suy nghĩ kiểu nào rồi tìm hiểu xem những dòng code từng dòng một có ý nghĩa gì và liên kết nó lại( Em thường học theo cách đó cũng không rõ là tại sao chứ tìm hiểu càng tìm hiểu thì càng cuốn đó bác). Rồi sau đó em tìm bài toán tương tự nháp ra giấy hoặc chỗ nào đó bác có thể lên ý tưởng cho bài toán của mình. Hãy cố gắng những thứ bác đã liên kết được ở bài trên để vận dụng vào bài của mình. Nếu khó quá lại xem code mẫu và lặp lại như từ đầu.

      Like

  3. Cam on anh da chia se. Nhan day, anh co the viet luon mot bai ve kinh nghiem hoc thuat toan duoc khong a? Lam sao de nho thuat toan mot cach hieu qua? Em cam on on anh lan nua.

    Like

  4. Đồng ý. Với đa số các nghề thì yếu tố quan trọng nhất là đam mê. Lập trình nằm trong số đó. Có đam mê thì sớm muộn gì cũng giỏi. Có thể không xuất sắc, nhưng giỏi.

    Like

  5. Anh ơi, có lỗi chính tả ở chỗ “Bạn có biết lời khuyên của những nguời đã phỏng vấn vào đuợc Facebook, Mỉcosoft là gì không?”, chỗ này phải là Microsoft anh à :D.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s