Học cái gì và học thế nào?

Hôm trước tôi share bài viết này: The Only Skill You Should Concern With. Vì đây là một bài viết thú vị và cũng khá giống tôi về mặt quan điểm: dùng kĩ năng giải quyết vấn đề để làm xương sống trong việc phát triển kĩ năng.
Tuy nhiên, sau đó có khá nhiều bạn cảm thấy bối rối vì cảm nhận rằng mình đang đi sai hướng sau khi đọc qua bài này. Cũng có nhiều bạn chat với tôi và đặt nhiều câu hỏi thú vị liên quan. Vì vậy, mình muốn giải thích rõ hơn để các bạn đừng cảm thấy lo ngại và thực sự hiểu bản chất mà bài viết trên đề cập. Đồng thời, tôi cũng muốn chia sẻ những trải nghiệm mình đã đi qua từ việc phát triển kĩ năng bản thân theo quan điểm của bài viết này.
Để tôi đọc lại
Yếu tố then chốt mà bài viết tôi chia sẻ muốn nói rằng: bạn nên phát triển kĩ năng với tư duy giải quyết vấn đề làm nền tảng – chứ không nên đi theo những hướng ngược lại (chạy theo công nghệ, bám theo một ngôn ngữ, một trào lưu nào đó …). Nó không phủ nhận việc bạn học một ngôn ngữ, một công nghệ, một lĩnh vực cụ thể. Ở đây, chỉ là tư duy theo 2 hướng khác nhau:
- Hướng mà bài viết đề cập: hãy tìm vấn đề để giải quyết – học mọi thứ liên quan để giải quyết nó. Từ đó kĩ năng của bạn mới thực sự được làm giàu và có giá trị.
- Những hướng ngược lại: học những thứ mà mình hy vọng là nó làm mình có ích, nâng cao gía trị bản thân, hoặc đang là xu hướng thời thượng.
Phát triển kĩ năng với tư duy giải quyết vấn đề như thế nào?
Đầu tiên, để rèn luyện kĩ năng dựa trên tư duy giải quyết vấn đề – bạn phải tìm vấn đề để giải quyết.
Tìm vấn đề ở đâu? Nó nằm trong chính những công việc bạn phải đối mặt, ở công ty của bạn đang làm việc, ở những gút mắc cuộc sống bạn đang vấp phải, ở sản phẩm bạn đang muốn xây dựng, ở mục tiêu bạn muốn hướng đến.
Những năm đầu tiên tập tễnh đi làm, tôi gần như chỉ là một tờ giấy trắng với mớ lý thuyết học ở trường. Điều làm tôi khác biệt với những bạn đồng nghiệp cùng lứa là sự xông xáo lao vào giải quyết những bài toán khó của dự án. Bí – hỏi bạn bè – phối hợp với mọi người để brainstorming tìm giải pháp.
Tôi trải nghiệm kĩ thuật dựa theo những nhu cầu giải quyết những bài toán thực tế tôi gặp phải. Không ngại nhận những câu hỏi và những bài toán hóc búa. Khi cần lead dự án, tôi tự học những kĩ năng cơ bản để giải quyết những bài toán nhóm, phân công công việc, dự đoán rủi ro…
Khi cần thiết kế hạ tầng hệ thống, tôi tự tập tễnh cài web server, application servers, memcache, elasticsearch, rabbitmq, vọc AWS … Đôi lúc tự bỏ tiền ra để mua VPS, vọc để giải quyết một số bài toán tôi cần cho vài dự án startup nho nhỏ.
Tôi học đủ mọi ngôn ngữ, nền tảng – từ C++, Java, NET, PHP, iOS, Android … Tất cả đều chỉ vì thứ vấn đề tôi giải quyết cần dùng một giải pháp cụ thể mà tôi nghĩ là tốt cho ngữ cảnh tôi cần sử dụng. Dự án startup gần đây tôi làm sử dụng Python – vì tôi cho rằng giải pháp crawl dữ liệu cần cho dự án tôi đang làm nên là Scrapy. Uh, vậy thì học Python.
Hơn 11 năm đi làm và trải nghiệm, tôi cảm nhận rằng việc đáp ứng một nền tảng mới, hay một công nghệ mới – hoặc một kĩ năng mới đối với tôi gần như không có vấn đề. Bởi vì tôi cảm thấy mình tự tin từ nhiều “kinh nghiệm” xương máu đã trải qua – nên học gì cũng dễ.
Tổng kết từ những điều ở trên – tôi muốn nói với các bạn rằng: hãy tự tìm vấn đề bạn cần giải quyết – học mọi kĩ năng để xử lý nó. Và quan trọng hơn cả là đừng giới hạn mình trong 1 công nghệ hay một trào lưu. Cũng không nên giới hạn góc nhìn vấn đề của mình chỉ ở khía cạnh kĩ thuật – là mảng công việc mình đang có chuyên môn.
Những tips nhỏ … mà quan trọng
Đừng giải quyết vấn đề một mình
Hãy luôn tìm sự hỗ trợ, đặt câu hỏi cho những người xung quanh, tham khảo nhiều góc nhìn. Điều này giúp bạn quan sát, thu thập nhiều trải nghiệm và ý tưởng của mọi người. Nó sẽ làm vốn sống của bạn giàu hơn. Đôi khi lại làm phát sinh những ý tưởng và những hướng đi mới tuyệt vời hơn.
Phải hiểu được bản chất
Đừng làm những gì mình không hiểu. Khi bạn gặp bế tắc – hãy quay lại với những điều cơ bản. Hiểu thật rõ những ý niệm xung quanh một vấn đề – là cách rất tốt để phát hiện ra nền tảng của giải pháp.
Trên thực tế, tôi từng phỏng vấn rất nhiều bạn – có thể thao thao bất tuyệt về hàng loạt những framework đã dùng. Tuy nhiên, các bạn ấy lại không hiểu gì về design pattern, MVC và cách thức framework hoạt động. Và quan trọng hơn: tại sao phải sử dụng? Tôi không trách các bạn. Tuy nhiên, thiếu những kiến thức nền tảng sẽ không làm bạn đi xa và giải quyết những vấn đề hóc búa được.
Đặt mình ở nhiều góc nhìn
Tìm giải pháp cho một vấn đề – không chỉ liên quan đến việc trang bị kĩ năng kĩ thuật – mà còn liên quan rất nhiều đến cách bạn nhìn nhận vấn đề ở nhiều góc cạnh, ở những vai trò khác nhau.
Đôi lúc vấn đề có thể được giải quyết bằng 1 cách tiếp cận khác – nếu bạn đặt mình vào góc nhìn của khách hàng để hiểu họ muốn gì? Đôi lúc vấn đề có thể được giải quyết nếu bạn hiểu rằng đối tác của mình đang vướng mắc điều gì? …
Và quan trọng nhất: đừng bao giờ bỏ cuộc
Nếu bạn nghĩ: bạn không làm được. Chắc chắn, bạn sẽ không làm được. Nếu bạn tin tuyệt đối rằng mình sẽ làm được, bạn sẽ vượt qua mọi thử thách để thành công.
Tôi đã từng trải qua nhiều đêm thức trắng chỉ vì trằn trọc về một bài toán thực tế đang vấp phải. Ở những giây phút cuối cùng ngỡ là thất bại, thì tôi lại tìm ra được cách để xử lý.
Nếu bạn ám ảnh điều gì đó, sẽ có một sức mạnh tinh thần vô cùng lớn đến để giúp bạn thành công vào một thời điểm bất chợt. Rất nhiều nhà khoa học cũng đã phát minh ra những điều vĩ đại nhờ sự ám ảnh trong chính vấn đề họ đang vấp phải.
(Đôi điều chia sẻ cùng với các bạn bè và anh chị em đồng nghiệp. Tôi hy vọng các bạn sẽ tìm được lời giải đáp cho vài gút mắc của mình khi đọc qua bài viết này và những trải nghiệm của tôi mang lại cho bạn vài điều hữu ích)