Nên học gì trước khi học lập trình

Dạo quanh các Group học lập trình với rất nhiều câu hỏi từ các bạn mới bắt đầu với ngành lập trình, xin chia sẻ với mọi người một số quan điểm và khuyến nghị sau nhé 😀

[1] , [2] và [3] là 3 câu hỏi tưởng chừng không mấy liên quan, nhưng tựu chung lại là câu hỏi của người mới, mình nên học ‘cái gì’ để theo ngành lập trình / CNTT?

Trước khi trả lời thẳng vào câu hỏi, từ kinh nghiệm cá nhân lướt các group, mình thấy được rất nhiều câu trả lời cho các câu hỏi trên. Người thì bảo nên học lập trình web cho dễ phát triển suy ra nên học html, css, javscript, PHP trước. Người lại nói học Java trước để theo Java Android hoặc Java Web. Người cho rằng tất cả phải bắt nguồn từ C, C++, phải học cái đó trước. Người nói rằng học Python trước đi cho dễ, từ kinh nghiệm cá nhân của tôi này, cũng sang ngang trái ngành, code từ Python đi lên bây giờ ‘ngon luôn’. Vân vân và mây mây. Kể ra thì dưới góc độ nào đó thì câu trả lời nào cũng ‘đúng’, vậy câu trả lời nào ‘sai’ và quan trọng là người hỏi học được gì từ những câu trả lời đó?

Cùng phân tích các câu trả lời thì tựu chung lại là các câu trả lời đều ‘đúng’ ở góc độ là người trả lời [hoặc bạn / người quen / người họ biết] học theo con đường đó thật và thành công thật. Có thể người trả lời là 1 ông Web Developer thì họ sẽ hướng bạn học các ngôn ngữ để theo đường lập trình web như html, css, javascript, PHP, C#, Java. Người trả lời là 1 bạn Mobile Developer thì khả năng cao sẽ hướng bạn học theo đường Java / Kotlin -> Android hoặc Swift -> iOS. Người trả lời là 1 anh lập trình viên chuyên làm mảng nhúng thì sẽ bảo nên học chắc và vững cơ bản C, C++ v.v. Vậy thì con đường học của họ từ mới bắt đầu đến ra nghề lập trình chuyên nghiệp là đúng và ok đúng không? Vậy cái nào là sai và sai ở đâu? Thì sai là đam mê của mỗi người mỗi khác, không phải ai cũng thích làm lập trình web hay không phải tất cả đều muốn lập trình game, hay 100% dân lập trình đều phải theo hướng nào đó thì điều đó là sai. Vậy nên, rõ ràng là không có 1 lộ trình chuẩn luôn cho người mới bắt đầu được. Vậy thì câu trả lời phải học ‘cái gì’ coi như chưa được trả lời, vậy phải làm thế nào?

Từ quan điểm và kinh nghiệm cá nhân của người viết, mình cho rằng câu trả lời tốt nhất cho câu hỏi học ‘cái gì’ thì người hỏi phải tự trả lời, phải dựa trên chính nguyện vọng và đam mê, khao khát, thế mạnh của bạn thì bạn mới tự trả lời được cho mình câu hỏi đó. Rõ ràng, đây là một câu hỏi khó nhưng rất may, bạn không phải trả lời ngay mà đến khi tương đối vững nền tảng lập trình cơ bản thì bạn tự lựa chọn ra hướng bạn muốn theo là mobile hay web hay game hay nhúng hay AI / Big Data v.v. Và để vững nền tảng lập trình cơ bản thì lời khuyên của mình là các bạn chọn đại 1 thứ bạn yêu thích và học vững cơ bản nó đi, C / C++, Java, C#, Python v.v. gì cũng được, cái gì bạn thấy thích hoặc thấy ‘dễ’ thì bạn bỏ ra vài tháng học vững cơ bản nó đi, thì lúc đấy bạn sẽ có cái nhìn tốt hơn về cấu trúc lập trình, tin rằng lúc đó bạn sẽ tự định hướng mình dễ hơn là nên theo cái gì tiếp theo. Vậy lại có câu hỏi, lỡ mình bỏ ra vài tháng học Java rồi sau đi làm lại không dùng Java mà dùng ngôn ngữ khác như C++, Python thì có ‘phí’ không? Câu trả lời là không hề phí. Thứ nhất, bạn nắm vững cơ bản 1 NNLT rồi thì bạn học sang cái khác dễ hơn, tốn ít thời gian hơn. Thứ 2, công nghệ phát triển hàng ngày, hàng năm lại có những ngôn ngữ mới ra đời và phổ biến dần, update dần bạn phải sử dụng ngôn ngữ mới chứ ít được dùng ngôn ngữ cũ khi làm việc thực tế [như Swfit thay Objective-C trong lập trình iOS, Kotlin thay Java trong lập trình Android v.v.], vậy thì càng có nhiều kinh nghiệm với nhiều loại ngôn ngữ thì càng học và sử dụng ngôn ngữ mới dễ hơn [ngôn ngữ mới luôn được xây dựng giống 60 70% ngôn ngữ cũ nào đó], thì có gì mà phí?

Một ý nhỏ xin trả lời cho câu [3] về lựa ngành học. Cái này cũng vậy, từ kinh nghiệm thực tế của mình các bạn cứ chọn ‘bừa’ 1 ngành vừa sức, không quá quan trọng đó là ngành gì, miễn là trong khối ngành CNTT là được. Quan trọng là ngành đó vừa với sức [điểm] của bạn. Vì trong các trường ĐH thì 3 4 năm đầu chuyên ngành CNTT học các môn nền tảng như nhau, 1 2 năm cuối mới học các môn khác theo chuyên ngành thôi. Và thực tế, phần lớn nhà tuyển dụng cũng chỉ quan tâm bạn học trường nào, có phải ngành CNTT hoặc ngành liên quan không, khả năng thực tế bạn đã làm được việc chưa thôi. Ví dụ bạn học Khoa học máy tính ra làm lập trình Web ngta vẫn tuyển và bạn vẫn làm, phát triển bình thường. Ngược lại, bạn học Công nghệ phần mềm nhưng bạn xin vào vị trí AI Engineer thì nhà tuyển dụng vẫn ok và không một chút đắn đo nào, quan trọng là tố chất bạn thể hiện có ok và phù hợp với công việc hay không thôi.

Vậy tóm tắt lại, câu trả lời học ‘cái gì’, học ‘thế nào’ để theo và phát triển trong ngành lập trình, thì bạn hãy tự học vững nền tảng lập trình cơ bản bằng cách thực hành một hoặc một vài ngôn ngữ lập trình bất kỳ trong vài tháng và tự trả lời cho mình về lộ trình phù hợp với mình nhất nhé. Ngoài ra, bạn cũng có thể đầu tư hơn 2tr và 2 tháng để học khóa nền tảng lập trình cơ bản cho người mới bắt đầu tại đây: //codefresher.vn/khoa-nen-tang-lap-trinh-co-ban/ . Đầu tư khoảng 2 tháng với sự trợ giúp của trung tâm để học vững nền tảng lập trình cơ bản trước khi định hướng tiếp cũng là một lựa chọn tốt đúng không? 😀

Kết luận

Đến đây thì bài viết đã dài, xin tạm kết ở đây. Về nội dung bài viết thì rất welcome các bạn để lại ý kiến đóng góp vào phần bình luận để mọi người cùng trao đổi và tham khảo nhé. Quan điểm của bất cứ ai, dù là đã có kinh nghiệm về mảng gì đó hay chưa tiếp xúc nhiều với lập trình đều đáng quý, quan trọng là chúng ta có thể chia sẻ và học hỏi lẫn nhau.

Nếu như bạn chọn sai ngôn ngữ lập trình khi mới bắt đầu học thì sẽ có tác hại như thế nào?

Trong bài viết này, mình sẽ hướng dẫn bạn từng bước để lựa chọn ngôn ngữ lập trình phù hợp với nhu cầu của bản thân.

1. Top 5 ngôn ngữ lập trình phù hợp với người mới bắt đầu

Có hơn 600 ngôn ngữ lập trình trên thế giới.

Để việc học dễ dàng, bạn nên bắt đầu với những ngôn ngữ lập trình phù hợp với các tiêu chí sau:

1. Là ngôn ngữ lập trình bậc cao. Tại vì ngôn ngữ lập trình bậc cao có cú pháp gần gũi với ngôn ngữ tự nhiên, nên khá dễ học cho người mới.

Nếu bạn chưa biết ngôn ngữ lập trình bậc cao là gì, hãy tham khảo bài viết sau: //letdiv.com/ngon-ngu-lap-trinh-la-gi/#31_Ngon_ngu_lap_trinh_bac_cao

2. Được sử dụng phổ biến. Nếu một ngôn ngữ lập trình được sử dụng phổ biến; chứng tỏ nó có độ ổn định cao, nhiều cộng đồng hỗ trợ, và tài liệu tham khảo.

Bên dưới là Top 5 Ngôn Ngữ Lập Trình phù hợp với các tiêu chí nêu trên:

  • JavaScript
  • Python
  • PHP
  • Java
  • C#

2. Lựa chọn ngôn ngữ lập trình phù hợp với mục tiêu của bạn

Như vậy, bạn đã biết được Top 5 Ngôn Ngữ Lập Trình phù hợp cho người mới bắt đầu.

Tiếp theo, chúng ta cần xác định mục tiêu cụ thể của bản thân khi học ngôn ngữ lập trình là gì. Từ đó mới có thể lựa chọn ra một ngôn ngữ lập trình thích hợp nhất.

Ở đây, mình sẽ chia thành 3 mục tiêu phổ biến dựa trên một cuộc khảo sát với hơn 1500 học viên đang theo học chương trình của LetDiv:

2.1 Thị trường việc làm

Bạn hãy tiến hành khảo sát thị trường để xem ngôn ngữ nào có nhu cầu tuyển dụng cao, mức lương trung bình, và đãi ngộ của các công ty như thế nào.

Ngoài ra, bạn cũng nên xem xét xu hướng tuyển dụng của ngôn ngữ đó đang tăng hay đang giảm qua từng năm. Tránh trường hợp sau khi học xong, nhu cầu tuyển dụng của thị trường không còn nữa.

Để biết nhu cầu hiện tại của thị trường, bạn có thể vào các trang tuyển dụng như: itviec.com, techviec.com,… Sau đó, tìm kiếm bằng tên của ngôn ngữ lập trình cụ thể.

Hoặc bạn có thể tham khảo bài viết này: Link

2.2 Học để trải nghiệm

Nếu chỉ học để trải nghiệm thì bạn có thể chọn bất kỳ một trong 5 ngôn ngữ lập trình được nêu ở trên. Tại vì chúng khá dễ học cho người mới.

2.3 Học để làm sản phẩm riêng

Bạn cần xác định sản phẩm bạn cần làm sẽ hoạt động trên nền tảng nào [di động, web, máy chủ,…].  Từ đó chọn ra ngôn ngữ lập trình phù hợp.

Sau đây, mình sẽ liệt kê ứng dụng của mỗi ngôn ngữ lập trình để bạn tham khảo:

  • JavaScript: ứng dụng trong phát triển web, di động [IOS & Android], máy chủ, và Desktop.
  • Python: ứng dụng trong Trí Tuệ Nhân Tạo [A.I], và Khoa Học dữ liệu [Data Science].
  • PHP: ứng dụng phổ biến trong phát triển web.
  • Java: ứng dụng trong phát triển web, di động [Android], máy chủ, và Desktop.
  • C#: ứng dụng phát triển phần mềm doanh nghiệp, game, di động.

3. Tác hại gì khi chọn sai ngôn ngữ lập trình?

Điều quan trọng cần biết là trước khi bắt đầu học lập trình, thì cho dù bạn có chọn bất kỳ ngôn ngữ nào đi chăng nữa thì bạn vẫn học được những kiến thức giá trị.

Vì vậy, thực sự không tồn tại khái niệm được gọi là chọn “sai” ngôn ngữ lập trình.

Nhìn sơ qua thì các ngôn ngữ lập trình trông khác nhau về cú pháp, nhưng thật ra chúng có rất nhiều điểm chung.

Các ngôn ngữ lập trình đều có khuôn mẫu và cấu trúc tương tự nhau. Sau khi có kiến thức nền tảng cơ bản của một ngôn ngữ lập trình thì bạn sẽ học dễ dàng hơn các ngôn ngữ khác trong tương lai.

Bạn nên biết rằng, các lập trình viên thường xuyên chuyển đổi qua lại giữa các ngôn ngữ lập trình với nhau trong suốt sự nghiệp.

Chắc chắn trong tương lai, bạn cũng không phải là ngoại lệ. Vì vậy đừng quá lo lắng về việc nên học ngôn ngữ lập trình nào đầu tiên.

Thay vào đó, bạn hãy tập trung củng cố kiến thức nền tảng lập trình của mình một cách tốt nhất.

4. Kết luận

Cho dù bạn chọn bất kỳ ngôn ngữ lập trình nào đi chăng nữa, mình sẽ rất vui mừng nếu bạn có thể bắt đầu viết những dòng code đầu tiên.

Học lập trình không hề khó như mọi người lầm tưởng, hãy tham khảo ngay 9 chiến lược của mình sẽ giúp bạn học lập trình rất dễ dàng:

Học Lập Trình Có Khó Không? 9 Phương Pháp Giúp Bạn Học Lập Trình Hiệu Quả Hơn.

Đừng quên like fanpage //fb.com/letdiv.innovation để xem thêm các bài viết chia sẻ của mình nhé!

Tham Gia Cộng Đồng Học Lập Trình Thật Dễ!

Nếu bạn quan tâm đến ngành lập trình, và muốn tìm hiểu những kiến thức bổ ích khác, hãy tham gia ngay cộng đồng Học Lập Trình Thật Dễ nhé!

Tham Gia Cộng Đồng HỌC LẬP TRÌNH THẬT DỄ!

Video liên quan

Chủ Đề