Cách đây 2 3 hôm, mình có đọc một bài viết trên diễn đàn tin học, từ một người anh đi trước. Anh ấy phàn nàn rằng các năm gần đây, sinh viên, học sinh bắt đầu có trend "học công nghệ thông tin", đăng ký vào các trường công nghệ như ong vỡ tổ, bây giờ thì vô làm loạn cả mấy group với page khiến nhão cả nội dung. Ừ thì đấy cũng là dấu hiệu tốt cho thời đại công nghệ 4.0 5.0 69.0 bây giờ, khi mà việc hack account người khác trở nên thường xuyên hơn, khi mà việc deface với ddos một trang web không còn là vấn đề kinh khủng như hồi trước,...
Nói đùa vậy thôi, chứ các cậu chọn học ngành nào đấy là điều từ quyết định chủ quan của bản thân và khách quan của n thứ khác không phải đam mê thì là xoay quanh đồng tiền và danh vọng, nhưng những người đó đã bao giờ suy nghĩ rằng mình đang thật sự có cách tiếp cận đúng đắn với ngành này hay chưa, khi bản thân mình nhận ra rằng càng ngày càng nhiều những câu hỏi ngớ ngẩn inbox cho mình, những bài đăng mang tính chất "hỏi thì ít, khoe thì nhiều" trên các diễn đàn tin học lớn, nơi toàn những cao nhân trải cả triệu lần trên đó, thậm chí đọc comment, còn có nhiều em đi cãi tay đôi lại với các anh chị, các cô chú đã từng đi làm. Điều này làm mình khá buồn, nên cầu xin các bạn hãy đọc hết bài này, xem như là lời chia sẻ và hướng dẫn chân thành nhất để những người mới bắt đầu có một con đường chính xác nhất bước chân vào nghề lập trình.
Hãy tránh những điều sau
1. Hỏi những câu hỏi mang tính chất đại khái, chung chung
Example: Anh ơi em mới bắt đầu học lập trình, anh cho em hỏi hiện giờ ngôn ngữ nào là tốt nhất để học ạ?
Trước khi quyết định hỏi một câu, cách tốt nhất là bạn nên google nó. Lý do, những câu hỏi chung chung thường sẽ không có một câu trả lời chính xác , bạn hỏi: 1+1= mấy thì tôi có thể nói rằng nó bằng 3 hoặc 4 tùy tâm trạng, nhưng nếu những câu hỏi có nhiều đáp án như thế này, đòi hỏi chính bạn là người phải đi tổng hợp nó, đi tìm tòi nó, và tự đúc kết cho riêng bạn. Nhiều người cho rằng ông này làm quá, recommend cho nó vài ngôn ngữ là được chứ gì? Ừ thì đúng là tôi vẫn trả lời cho nó, nhưng lúc này câu trả lời của tôi là do tôi đúc kết => nó vô dụng cho bạn ấy, thậm chí là sai. Nên nhớ rằng câu hỏi dạng này xuất hiện rất nhiều trên mạng, nếu thật sự cần sự trợ giúp của cộng đồng hay một người bạn nào đó, thì bạn nên đặt câu hỏi cụ thể nhất có thể (những câu chưa từng xuất hiện trên google hoặc có với tần số thấp, không đủ dữ kiện để tổng hợp), nếu có tham khảo thì nên tham khảo từ nhiều nguồn, tôi cũng không trách bạn này mà trả lời lại rất nhiệt tình vì có thể tôi cũng là "một nguồn tham khảo" của bạn ấy, tôi reply như sau:
Free Pascal
2. Hỏi những câu hỏi mang tính chất đại khái, chung chung (nhưng kinh khủng hơn)
Example: Anh ơi cho em hỏi cách sửa lỗi này ạ <Quăng 1 hình ảnh với 100 dòng bug đỏ lè>
Ca này thì ít, nhưng không phải là không có, đa số các bạn đã "bắt đầu trải" thì sẽ không còn hỏi những câu hỏi ngớ ngẩn như trên nữa mà bắt đầu hỏi những câu "pro" hơn. Mình thực sự đánh giá cao những bạn hỏi mình sai chỗ nào nhưng miêu tả rõ ràng thứ bạn đang làm, cung cấp đủ "thuộc tính" của sản phẩm cho mình biết đường mà mò. Nhưng không, cũng có vài bạn đăng lên diễn đàn mấy câu rõ ràng là như thách thức giới hạn bộ não của con người, không miêu tả, không dữ kiện, thậm chí hình ảnh còn bị pixel hóa nữa. Nên ghi nhớ rằng 1 lỗi có thể do nhiều nguyên nhân và 1 nguyên nhân có thể dẫn ra nhiều lỗi, cung cấp đủ dữ kiện thì mình và các anh chị không ngại ngồi fix bug giúp bạn tới sáng luôn đâu.
3. Hỏi những câu hỏi mang tính chất khoe nhiều hơn hỏi
Example: Em biết về Java, Python, C, C++, C--, C#, CC,... anh chị cho em hỏi là vào trường nên học ngôn ngữ gì ạ
Đây là trường hợp mình ngứa mắt nhất, và mình đoán rằng cách anh chị cũng vậy. Một câu hỏi mâu thuẫn hơn cả Mỹ và Triều Tiên, ngay cả khi bạn này không có ý khoe khoang thì 10 người hết 9 người đọc là ra ý khoe khoang đó của bạn rồi, nên bạn hãy đặt câu hỏi cho thực sự answer-able tí, hỏi xong mà cả diễn đàn của họ cứng họng luôn không biết trả lời sao, nên họ chửi thay cho câu trả lời vậy. Thì đây là câu mình bịa ra thôi nhưng có trên dưới 10 lần mình đã thấy nó xuất hiện ở các fanpage hoặc group nhiều rồi, đại khái nó cũng na ná như vậy, công thức như sau:
<Vế khoe khoang> + "thì" + <Vế câu hỏi> + (nếu ai lịch sự hơn tí) + "như nào ạ"
Và thường là vế khoe khoang với vế câu hỏi không liên quan gì với nhau, hoặc vế khoe khoang đã trả lời mẹ cho vế câu hỏi
4. Thể hiện trên diễn đàn (R.I.P)
Cũng là phần 3, nhưng nếu thể hiện rằng mình biết thứ này biết thứ nọ, chả ai thèm quan tâm đâu. Hãy phân biệt rõ ràng giữa: chia sẻ và khoe khoang. Bạn rành về Python, bạn lên diễn đàn chia sẻ khóa học của mình (good), bạn biết Java, bạn lên diễn đàn viết một bài blog về tính Polymorphism của nó (good). Nhưng đây không phải là một cái Google Notepad để bạn lên liệt kê những thứ bạn biết , ờ thì em biết cái A, em biết cái B, em biết cái C nhưng giờ muốn học cái D, em không biết cái E nhưng em biết cái F, em không biết gì hết nhưng em co làm cái Y. Vô nghĩa, và mình đã gặp vô số lần trên hơn 10 diễn đàn / group khác nhau. Hãy im lặng và tiếp tục học, các bạn nếu chỉ mới bước vào lập trình, đừng nghĩ bắt được vài con cá mà muốn nắm cả đại dương
5. Suy nghĩ sai lầm của những chiếc chiếu (có thật 100%)
Tấm 1: Học xong ngành này thì hack wifi chuyện nhỏ ấy mà
Tấm 2: Chờ đi vài năm sau lương t gấp 2 3 lương bác sĩ
Tấm 3: Trí tuệ nhân tạo dạo này hot quá anh, em đang học đấy | Uh em, thế em tìm hiểu được bao nhiêu giải thuật rồi | ..... giải thuật là gì thế a, em làm bằng python chứ ko học giải thuật
Tấm 4: Lên diễn đàn hỏi => Pro vô giải đáp thắc mắc => "cái này mình biết từ lâu rồi bạn còn giải thích làm gì thế"
More(not)over
Cấm hết vậy bây giờ làm thế nào
1. Công thức khi có những câu hỏi chung chung:
B1: Vào GOOGLE
B2: Search <Câu hỏi> + 'đáp án là gì vậy ạ' (bỏ cũng được)
B3: Tham khảo ít nhất 3-5 trang khác nhau (nên chọn trang tiếng Anh tại dịch nghĩa qua Việt nó hơi sai)
B4: Tự tổng hợp lại đáp án cho mình, nếu cần thiết đem đáp án đó lên diễn đàn cho mọi người cùng góp ý thêm
B5: Quay lại đây và like bài viết
2. Công thức khi có bug:
B1: Vào GOOGLE
B2: Search <Dòng bug màu đỏ đầu tiên hoặc cuối cùng> + 'stackoverflow' hoặc <Bug bạn nghĩ> + 'fixing ways'
B3: Tham khảo cho tới khi sửa được
B4: Nếu bug quá to hoặc quá lạ, lên diễn đàn bảo rằng mình tìm mòn đít rồi nhưng vẫn chưa nghĩ ra cách, đồng thời cung cấp đầy đủ tang chứng vật chứng (cũng sẽ có đứa vô chửi bạn thôi nhưng yên tâm vì dev thì tính tình nó hay toxic vậy)
3. Một số công cụ hay:
1. GitHub (Lưu code, tập làm việc nhóm, quản lí dự án, quản lí phiên bản)
2. Codelearn (Không PR nhá nhưng nó thật sự tốt, có nhiều khóa học dành cho mấy bố hay đặt câu hỏi "Lộ trình học ABCXYZ là gì vậy ạ")
3. StackOverFlow (Bí quá thì lên đây đặt câu hỏi, sau đó chịu khó nghe họ chửi tí rồi họ chỉ cho cách sửa)
4. Notepad (dành cho mấy em thích khoe mấy thứ mình đã học cho các pro trên diễn đàn ấy, mấy em vô đây xong liệt kê ra, mỗi thứ 1 dòng, rồi lưu lại sau đó 10 năm sau mở ra xem thử nha)
Nói đi cũng phải nói lại
Ngoài những con người nhưng trên, có cái nhìn lệch lạc và ảo mộng về thế giới lập trình, thì cũng có một số anh chị, một số bạn, một số em thật sự có tìm hiểu, có đam mê và cố gắng theo đuổi ngành này, mình mong rằng hướng đến của thời đại này là chất lượng chứ không là số lượng và trong tương lai khi bước ra ngoài thì họ không còn nhờ mình sửa win hộ nữa
Bản quyền thuộc về: Đoàn Đức Tín, cảm ơn anh nào đó trên group (bây giờ tìm không ra) đã viết một bài nói về vấn đề tương tự và truyền cảm hứng cho mình, các bạn sao chép nội dung nhớ ghi nguồn giúp mình nha.