Những câu hỏi thường gặp về ngành CNTT

13/04/2021

10 CÂU HỎI THÔNG DỤNG VỀ CNTT & LẬP TRÌNH

Câu hỏi 1. Thầy (cô) ơi, mới học lập trình thì học cái gì đầu tiên?

Câu hỏi này cũng tương tự câu hỏi “muốn nấu ăn thì cần mua nguyên liệu gì?”.

Không biết đồ ăn mình nấu là gì, làm sao biết được nguyên liệu để mà mua.

- Em cần xác định được đích đến của em. Nhìn phía xa xa em thấy một ngọn núi, đó là đích đến.

- Thấy ngọn núi rồi, sẽ hình dung ra được con đường, phương hướng để đi. Em sẽ xác định được trình tự các môn học cần học, mỗi môn học là một bước chân trên con đường ấy.

- Và dĩ nhiên, môn học đầu tiên trên con đường ấy, chính là câu trả lời dành cho em.

Và thông thường thì, môn học đầu tiên chính là “NHẬP MÔN LẬP TRÌNH”.

Vậy, nếu em không biết đích đến là cái gì, thì em làm sao biết được học cái gì đầu tiên? Đơn giản thôi, em cứ học “Nhập môn lập trình” trước để có ý niệm về lập trình – khái niệm nền tảng của ngành CNTT. Rồi từ từ tính tiếp.

Mở rộng hơn, dù hướng đi của em là gì, thì có lẽ em cần vượt qua khoảng 3 môn TAM TRỤ nền tảng nhất, kiểu như nó là gốc rễ đầu tiên của mọi hướng đi ấy.

3 môn tam trụ bao gồm:

1. Nhập môn lập trình (Introduction to programming).

2. Lập trình Hướng đối tượng (Object-oriented programming, viết tắt là OOP).

3. Hệ quản trị cơ sở dữ liệu (Database management systems). Nói chung gọi tắt là môn database đó.

Media/1_TH1062/FolderFunc/202104/Images/1-20210413074904-e.jpg

 

Câu hỏi 2. Em đã học xong ngôn ngữ C (hoặc C++), em nên học ngôn ngữ gì tiếp theo?

Trong ngành CNTT, học theo trình tự các môn học chứ không học theo trình tự các ngôn ngữ.
Đích đến của em sẽ định ra trình tự các môn học.

Tùy vào môn học sẽ cần học thêm một ngôn ngữ mới.

Ngôn ngữ phục vụ môn học.

Môn học phục vụ hướng đi.

  • Ví dụ 1: Mới học, thường em sẽ học môn “Nhập môn lập trình”, em có thể dùng ngôn ngữ C hoặc C++ hoặc Python để phục vụ cho môn học. Môn Nhập môn lập trình có 3 nội dung lớn: tư duy, ngôn ngữ và kỹ năng. Ngôn ngữ là 1 trong 3 phần đó thôi nhé.
  • Ví dụ 2: Nếu hướng đi của em là lập trình Android, thì khả năng rất cao em sẽ cần học về Java, và rất có thể em sẽ học thêm vài ngôn ngữ khác nếu em dùng “công nghệ cao” cho làm app Android.

Ngôn ngữ lập trình không phải là cái quái gì cả mà nhiều người tôn thờ nó như một tôn giáo. Ngôn ngữ là công cụ để thể hiện tư duy ra thực tế. Ngôn ngữ là một mảnh ghép trong 1 bức tranh tổng thể.

Vì vậy, câu hỏi này của em cũng gần tương tự như câu hỏi 1 – bị lạc lối, trái ngược trình tự. Em có thể xem thêm phần trả lời câu hỏi 1 ở trên để hiểu rõ hơn nhé.

Media/1_TH1062/FolderFunc/202104/Images/20601-20210413065452-e.jpg

 

Nếu em vẫn muốn câu trả lời từ Thầy (cô) mà thỏa đáng câu hỏi của em, thì tôi nghĩ là em nên học tiếp C# hoặc Java hoặc Python nhé em.

Ghi chú thêm: Ở giai đoạn chuyên môn hóa, em sẽ bắt đầu học chuyên sâu về ngôn ngữ, khi ấy ngôn ngữ cũng sẽ bắt đầu trở nên thật sự quan trọng đó nhé, lúc này ngôn ngữ bắt đầu trở thành một tôn giáo trong lòng em. Bởi vì Thầy (cô) phát hiện ra một điều, ngôn ngữ không chỉ là công cụ, mà nó còn gợi ý cho em những kỹ thuật mới để em lên đẳng cấp cao hơn.

Câu hỏi 3. Mới học lập trình thì học ngôn ngữ nào vậy thầy (cô)?

Cái này tương tự câu hỏi 2 ở trên luôn. Em chịu khó xem lại phần giải đáp câu 2 ở trên nha.

Mới học lập trình em sẽ cần học môn “Nhập môn lập trình”. Trong môn này em có thể học ngôn ngữ C hoặc C++ hoặc Python hoặc ngôn ngữ khác (nếu được định hướng đúng đắn). Theo cá nhân Thầy (cô) thì em nên học ngôn ngữ C, vì nó đơn giản, đủ để em làm thủ công nhiều, làm thủ công nhiều sẽ rèn luyện tư duy tốt hơn nha. Còn nếu thích thì em học luôn C++ hoặc Python cũng được.

Câu hỏi 4. Học lập trình có khó không?

Một câu hỏi khá thú vị. Có người trả lời là dễ, có người trả lời là khó. Cũng có người nói là vừa dễ vừa khó luôn.

Media/1_TH1062/FolderFunc/202104/Images/20602-20210413065453-e.jpg

 

Ở góc nhìn của Thầy (cô) thì Thầy (cô) trả lời như sau:

Học lập trình khó lắm luôn.

Nhưng may mắn là Thầy (cô) có đam mê, kiên trì, kinh nghiệm.
Nên Thầy (cô) cảm thấy học lập trình dễ lắm.

Và nếu như em xác định được mục tiêu học của em, em sẽ cảm thấy có động lực nhiều hơn, em kiên trì chịu khó, khi ấy khó hay dễ là do bản thân em quyết định.

Câu hỏi 5. Học CNTT có cần biết sửa máy tính, cài Win dạo, hack Facebook?

Cái này chắc nhiều bạn thắc mắc lắm.

Với cá nhân bất kỳ ai, đều có thể chơi hết, từ smart tivi, đầu karaoke đến router modem, ios, android, macbook, sửa ảnh, video, diệt virus, cài máy tính chuyên nghiệp...

Nhưng điều quan trọng nhất là với kinh nghiệm máy tính có được, chúng tôi có thể làm mọi thứ dễ dàng hơn. Người khác gặp vấn đề mất 10 phút, chúng tôi chỉ mất 2 phút. Người khác thao tác mất 1 phút, chúng tôi mất 10 giây. Hơn nữa, cái gì cũng có cái giá của nó, sẵn lòng giúp nhiều thì tích đức, được uy tín, sau này nhờ vả quan hệ dễ dàng.

Media/1_TH1062/FolderFunc/202104/Images/20603-20210413065452-e.jpg

 

Chém gió cho mát vậy thôi, quay trở về với câu hỏi ban đầu: Học CNTT có cần biết sửa máy tính hay không?

Câu trả lời là: Rất Cần.

Câu trả lời cụ thể hơn là: Em cần phải học hỏi, rèn luyện các kỹ năng máy tính tối thiểu ở mức trên cơ bản, tức là biết cấu tạo máy tính gồm những gì, biết sử dụng nhiều phần mềm thông dụng (trình duyệt web, vẽ, WinRAR), biết sửa máy tính cơ bản ở mức độ phần mềm như cài đặt hệ điều hành, chia phân vùng, hiểu biết về boot, BIOS/UEFI Firmware, tạo USB boot cứu hộ, sao lưu dữ liệu v.v Những kỹ năng này chắc chắn sẽ giúp ích em rất nhiều, tạo đòn bẩy cho em phát triển tốt sau này. Học những thứ này không đồng nghĩa với việc em biết sửa mọi thứ về vi tính, nhưng thiếu nó thì em sống khó khăn hơn nhiều nếu 1 ngày đẹp trời em gặp vấn đề.

Riêng vấn đề “có cần biết hack Facebook hay không” thì cái này ở 1 phạm trù khác, em đừng nên quan tâm và đừng nên học theo các bạn trẻ trâu nhé.

Một người làm về CNTT, là các “chuyên gia về máy tính” trong mắt người khác mà những vấn đề cơ bản máy tính không sửa được là rất nhục. Quan điểm của Thầy (cô) là vậy. Thấy nhiều bạn than thở học CNTT chỉ cần biết mỗi kiến thức chuyên môn lập trình là đủ, với Thầy (cô) nếu bám giữ lý do đó mãi thì khó phát triển sau khi ra trường lắm.

Câu hỏi 6. Học CNTT sau này đi làm nghề sửa máy tính có phải không?

Câu trả lời là không.

Nghề sửa máy tính chuyên nghiệp không thuộc phạm vi ngành CNTT. Người sửa máy tính chuyên nghiệp được gọi là “kỹ thuật viên máy tính”. Nếu em thích làm nghề này thì em theo học các trường nghề hoặc xin vào học hỏi ở các cửa hàng, trung tâm vi tính.

Vậy, học CNTT làm nghề gì? Em nên thử chủ động tìm hiểu xem.

Câu hỏi 7. Em yếu tư duy lập trình, em làm thế nào để cải thiện?

Đây quả là một căn bệnh nan giải. May mắn là Thầy (cô) làm nghề bác sĩ chuyên trị bệnh này.

Muốn chữa bệnh, phải xác định rõ căn nguyên của bệnh. Từ đó mới đưa ra phương thuốc.

Theo kinh nghiệm đào tạo lập trình, tư vấn lập trình cho “quá trời bạn” học sinh sinh viên, Thầy (cô) phát hiện ra một số nguyên nhân dẫn đến căn bệnh này & cách chữa như sau:

1. Yếu rèn luyện. Lý do này chiếm đến 80%. Đúng vậy, em rèn luyện quá ít, không thông thạo các bài toán cơ bản, làm sao mà giải quyết các vấn đề khó hơn.

Học lập trình là một quá trình rèn luyện lâu dài. Rèn luyện đến mức học thuộc như bảng cửu chương. Cho một bài toán. Làm đi làm lại hoài, thay đổi đề bài một chút, làm đi làm lại hoài. Đến mức học thuộc lòng hồi nào không hay. Khi ấy chỉ cần giảng viên cho ra 1 đề bài cơ bản, trong đầu em đã tuôn trào ra code rồi, và khi em đưa những dòng code từ não ra máy tính, chạy 1 cái là ok không bị lỗi gì luôn. Đó mới gọi là cứng code, là thành thạo.

Thành thạo các bài toán cơ bản chính là mấu chốt của vấn đề. Và hãy nhớ rèn luyện có trình tự em nhé.

2. Không có bài tập phù hợp để rèn luyện. Mỗi môn học sẽ gồm nhiều bài giảng nhỏ, mỗi bài giảng có thể có các bài tập đi kèm.

Nếu em tìm được các bài tập này rèn luyện theo từng bài giảng thì hay quá. Tiếc là có ít tài liệu kiểu như vậy.

Cho nên em cứ xem một loạt bài giảng, rồi đùng 1 cái em nhận bài tập để làm, cứ như trên trời rơi xuống không biết code từ đâu, ra sao. Tự dưng em cảm thấy em yếu lập trình.

Em hãy chủ động tìm hiểu, tìm kiếm các bài tập trên mạng để tự rèn luyện, và nhớ xác định mức độ khó của nó để định ra trình tự làm cho phù hợp nhé.

Câu hỏi 8. Em học lập trình kém, làm sao để cải thiện?

Câu hỏi này rộng hơn câu hỏi “Em yếu tư duy lập trình, làm sao để cải thiện?”.

Thầy (cô) sẽ liệt kê các triệu chứng, xem thử em bị dính triệu chứng nào nhé.

  • Triệu chứng 1. Cho một bài toán đơn giản (nhưng biến đổi thêm xíu mắm muối vào), em suy nghĩ rất lâu mới ra cách giải.
  • Triệu chứng 2. Em học không thấm, không tiếp thu được tốt. Hoặc dù có thầy cô tốt, dù có tài liệu đầy đủ, em học vẫn không thấm.
  • Triệu chứng 3. Em chưa cảm thấy có động lực để học.

Để Thầy (cô) xem nào, 3 triệu chứng là 3 căn bệnh, với các toa thuốc khác nhau như sau:

  • Triệu chứng 1 ==> Em yếu tư duy lập trình ==> Em hãy xem lại phần trả lời câu hỏi “Em yếu tư duy lập trình….” ở trên nhé.
  • Triệu chứng 2. Với các lý do sau:
    • Khách quan: tài liệu trình bày kém, thầy cô dạy dở ẹc. Muốn khắc phục thì em bỏ học đi khỏi học thầy cô nữa, hoặc em tầm sư học đạo người thầy tốt hơn, hoặc em tìm kiếm các tài liệu khác tốt hơn cho em nhé.
    • Chủ quan: em chưa chủ động trong học tập. Em cần đầu tư mạnh cho Google và Facebook nhé.
    • Trình tự học tập của em bị sai. Đây là 1 lý do sâu xa mà rất nhiều bạn dính phải. Em nên tham khảo các câu hỏi định hướng về web, mobile, game,… của Thầy (cô) để học tập theo trình tự hợp lý nhé.
  • Triệu chứng 3. Không có động lực không học nổi. Em hãy liệt kê ra giấy ít nhất 10 lý do khiến em cần học CNTT & lập trình. Đừng cảm thấy 10 lý do là “quá khủng”. Thầy (cô) có thể ví dụ như:
    • Em thích làm ra game đẹp.
    • Em thích kiếm nhiều tiền.
    • Em muốn có nghề nghiệp tốt để giúp đỡ gia đình.
    • Em thích được thử thách.
    • Em muốn được FA.
    • Em thấy lập trình thú vị.
    • Em thích làm hacker.
    • Vì đó là đam mê của em.

Đấy, có khó gì đâu. Càng cố đưa ra nhiều lý do càng tốt. Em ghi các lý do này ra 1 tờ giấy, dán nó chung quThầy (cô) phòng ngủ, chỗ làm việc của em, đừng ngại. Em sẽ thấy nó bắt đầu có tác dụng.

Nếu em thật sự không thể liệt kê ra nhiều lý do, Thầy (cô) nghĩ em chưa phù hợp với ngành CNTT & lập trình. Em hãy mạnh dạn đổi ngành, Thầy (cô) ủng hộ, em cần sống với đam mê của mình thì mới cảm thấy vui vẻ được, đúng không?

Nói thêm về việc học sai trình tự.

Media/1_TH1062/FolderFunc/202104/Images/20604-20210413065453-e.jpg

 

Nói thêm về môi trường học tập.

Môi trường ảnh hưởng cực kì lớn đến sự phát triển của em. Thầy cô dạy dở, bỏ thầy cô kiếm người khác học không sợ cái gì cả. Tài liệu dở, đốt đi em, tài liệu không thiếu, quan trọng là phải chịu khó tìm kiếm. Bạn bè em ai cũng thi đua học tập, em cũng ghen ăn tức ở phải học giỏi hơn cả nó nữa, chả phải tốt hơn sao. Đây cũng là 1 lý do sâu xa của việc chọn trường Đại học tốt, vào được trường tốt là em thành công bước đầu rồi.

Câu hỏi 9. Không học Đại học, Cao đẳng thì có theo CNTT được không?

Câu trả lời là ĐƯỢC.

Vì ngành CNTT mang tính tự học rất cao. Trường Đại học góp 10% kiến thức cho em, còn 90% còn lại là do chính em tự học tự rèn luyện.

 

NHƯNG, có 2 vấn đề quan trọng em nên biết:

Vấn đề một. Trường Đại học cho em:

  • Môi trường để em phát triển, giao lưu kết bạn, học thầy không tày học bạn. Học và rèn luyện luôn cả kỹ năng mềm, teamwork,… (Nếu em tự học, liệu em có rèn luyện được teamwork hay không?).
  • Người thầy cô có khả năng định hướng tương lai, gợi ý các vấn đề mà em học để đạt kết quả, thay vì em tự học tràn lan mông lung.
  • Kiến thức nền tảng tốt. Không phải trường nào cũng đào tạo tốt, nhưng nhiều môn ở trường Đại học là nền tảng tốt mặc dù nhiều thầy cô dạy dở. Nền tảng tốt thì sau này phát triển lên không sợ bị lung lay vì móng nhà yếu.
  • Cơ hội việc làm tốt hơn. Nếu em có tấm bằng giỏi từ những trường top, nổi tiếng, điều này có thể giúp em dễ có việc làm, đạt mức lương cao hơn người khác. Phân biệt sinh viên trường này trường nọ ở công ty lớn là có thật.
  • Những thử thách, áp lực,… để em làm quen sớm.

Vấn đề hai. Nếu em thích không học Đại học/Cao đẳng mà tự học ở nhà:

  • Tự học thì cần phải có đam mê cực lớn.
  • Nên có một người thầy Có Tâm, Có Tầm" dẫn lối, định hướng. Phải có hướng đi mục tiêu cụ thể, không có định hướng thì học lệch lạc không sâu không làm gì ra hồn cả.
  • Phải rèn luyện nền tảng tốt, nhất là kỹ năng máy tính (nén, giải nén, thành thạo duyệt web, gõ phím nhThầy (cô),…).
  • Phải rèn luyện kỹ năng tự học, như phương pháp tra cứu Google, đọc tài liệu bằng tiếng Thầy (cô).

Do đó em hãy cân nhắc cho kỹ, liệu em không học Đại học/Cao đẳng, tự học ở nhà thì có đáng hay không. Nếu đáng thì hãy mạnh dạn em nhé, liều ăn nhiều.

Gợi ý cho em: sau một quá trình tự học chinh chiến, em nên xác định rõ sau này em sẽ làm nghề gì, ở lĩnh vực nào trong CNTT. Từ đó em tra cứu các job (việc làm) của nhà tuyển dụng. Em cố gắng hoàn thiện, đáp ứng các tiêu chí việc làm ở job thì em ok rồi đó.

Câu hỏi 10. Không học Đại học, Cao đẳng mà học trường nghề có được không?

Trường Đại học, Cao đẳng hơn trường trung cấp, trường nghề ở mấy điểm sau:

  • Đào tạo bài bản, chuyên sâu, học nhiều, lý thuyết vững chắc.
  • Giảng viên trình độ cao.

Cũng có một số điểm thua:

  • Học nhiều môn hàn lâm hơn so với trường nghề.
  • Vài bạn sinh viên ĐH/CĐ ra trường có khả năng thích nghi môi trường làm việc chậm hơn so với sinh viên trường nghề. Đơn giản vì trường trung cấp, trường nghề dạy theo kiểu học thợ, thực hành nhiều, nên các bạn sẽ nhThầy (cô) chóng nắm bắt nhThầy (cô) nhạy với thực tế hơn. Tuy nhiên đó là giai đoạn đầu, giai đoạn sau các bạn ĐH/CĐ có khả năng đi nhanh đi xa hơn.
  • Học trường trung cấp, trường nghề, em sẽ có nhiều thời gian rảnh rỗi để tự học hơn.

Nói gì thì nói, quan trọng nhất vẫn chính là bản thân mình em nhé.

Nhưng dù sao đi nữa, học Đại học/Cao đẳng vẫn có ưu thế hơn.