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, Mỉcosoft 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é!