Học lập trình cho người mới bắt đầu | Học gì để trở thành lập trình viên?

0
6

Học lập trình cho người mới bắt đầu – Một chủ đề được rất nhiều bạn sinh viên công nghệ thông tin mong muốn có được một câu trả lời thỏa đáng. Cần phải học gì để trở thành một lập trình viên giỏi? Bắt đầu học lập trình như thế nào? Bài viết này sẽ chia sẻ cho các bạn, đặc biệt là những bạn sinh viên mới tiếp cận với lập trình. Nội dung bài viết sẽ trình bày cho các bạn cách để học lập trình cho người mới bắt đầu từ con số 0. Cũng như là lộ trình để trở thành một lập trình viên trong tương lai gần.

Lập trình viên cần học những gì?

Trong bài chia sẻ này, Nguyễn Văn Hiếu sẽ đưa ra cho bạn một lộ trình hoàn chỉnh, hướng dẫn từng bước đi để trở thành một lập trình viên xuất sắc. Chúng ta sẽ đi qua vài chủ đề khác nhau có liên quan mật thiết đến lập trình. Sau bài viết này, các bạn sẽ có thể tự trả lời được các câu hỏi:

  1. Công việc của một người lập trình viên là gì?
  2. Làm sao để trở thành một lập trình viên?
  3. Làm sao để học lập trình hiệu quả?

Câu hỏi đầu trong bài hướng dẫn “Học lập trình cho người mới bắt đầu” chúng ta cần nắm được. Những lập trình viên, họ làm gì? Hay cách nói khác: Công việc của lập trình viên là gì?

Công việc của lập trình viên là gì?

Trước khi đi vào vấn đề học lập trình cho người mới bắt đầu, tôi cần chắc chắn rằng bạn đã hiểu và biết về nghề lập trình, công việc của những lập trình viên là gì? Hiểu đơn giản nhất, lập trình viên là người viết các mã lệnh để điều khiển máy tính hoặc các thiết bị liên quan thực thi một công việc nào đó.

Đối với một nhà phát triển phần mềm, họ sẽ thiết kế và viết lên các chương trình máy tính giúp con người thực hiện công việc nhanh hơn. Chẳng hạn như các phần mềm quản lý nhân viên, quản lý tài chính,… Hay với những nhà phát triển web, họ sẽ viết các mã lệnh để thiết kế lên các website như blog này… Trong hầu hết các trường hợp, lập trình viên thường là người đi phát triển hoặc tạo ra các chương trình máy tính dựa trên thiết kế/ yêu cầu của khách hàng. Tất nhiên, bạn cũng có thể tự thiết kế và lập trình ra các chương trình cho chính mình hoặc sản phẩm của mình.

Lập trình là một lĩnh vực rất là rộng, những gì tôi trình bày trên đây chỉ mang tính chất khái quát. Việc của bạn là tìm cho mình một lối đi trong đó và học các để bước từng bước trên con đường trở thành lập trình viên. Khi đó, bạn cũng sẽ học được nhiều điều mà tôi không thể kể hết hoặc thậm chí chính tôi cũng chưa từng biết.

Lộ trình học lập trình cho người mới bắt đầu

Phần này tôi sẽ trình bày cho các bạn từng bước một chi tiết. Bạn cần làm gì, học gì để có thể trở thành một lập trình viên. Đây là những kinh nghiệm của cá nhân tác giả đúc rút cũng như những chia sẻ của tôi dành cho những bạn mới bắt đầu.

  • Lập trình là lĩnh vực cực kỳ rộng và luôn có những kiến thức, thách thức mới mà chúng ta phải tự cập nhật.
  • Lập trình viên có mức lương khá cao, nhưng đồng nghĩa công việc cũng không nhẹ nhàng.
  • Học lập trình cần một quãng thời gian đủ dài, thường thì sinh viên phải mất tới 3 năm để học lập trình nền móng trước khi đi vào chuyên môn cụ thể.

Dưới đây là những nội dung mà lập trình viên nên trang bị cho mình càng sớm càng tốt. Tôi sẽ lấy lộ trình học lập trình của một sinh viên công nghệ thông tin để trình bày với các bạn. Các nội dung này đã được sắp xếp theo thứ tự và đó cũng là lộ trình của hầu hết sinh viên CNTT.

1. Học tốt lập trình cơ bản

Là bước đầu tiên trong học lập trình cho người mới bắt đầu. Cũng là bước khó khăn nhất mà bạn cần trải qua. Đây cũng là bước quan trọng nhất với một lập trình viên thực thụ.

Trong 3 năm học đầu, các sinh viên công nghệ thông tin sẽ được học các môn học như: Nhập môn lập trình, Ngôn ngữ lập trình C/C++, Lập trình hướng đối tượng, Cấu trúc dữ liệu và giải thuật… Đây là khoảng thời gian cực kỳ quan trọng và tôi khuyên các bạn cần học thật tốt các môn học này.

Hầu hết các trường ĐH ở VN đều lấy C/C++ là ngôn ngữ giảng dạy đầu tiên cho sinh viên. Các bạn cũng nên học ngôn ngữ lập trình đầu tiên theo chương trình của trường đại học của bạn. Đối với các bạn không phải ngành CNTT, các bạn có thể tham khảo bài viết Nên học ngôn ngữ lập trình nào?

Khoảng thời gian 3 năm này sẽ cho các bạn các kiến thức nền tảng nhất. Nếu nền tảng bạn tốt, việc học lập trình về sau sẽ rất đơn giản với bạn. Lý do là hầu hết các ngôn ngữ lập trình đều có cấu trúc & cú pháp khá giống nhau. Các ngôn ngữ lập trình bậc cao vẫn sẽ dựa trên nguyên lý của lập trình C/C++.

Các kiến thức bắt buộc bạn phải nắm rõ trong 3 năm đầu

  • Biết sử dụng một ngôn ngữ lập trình, chẳng hạn như C/C++
  • Hiểu nguyên lý lập trình, nắm được tư duy lập trình
  • Có kiến thức về lập trình hướng đối tượng
  • Nắm rõ các kiến thức về Cấu trúc dữ liệu(array, stack, queue, linklist, map…), giải thuật cơ bản(tìm kiếm, sắp xếp…)
  • Học được khả năng tự học, tìm kiếm tài liệu trên internet
  • Có khả năng đọc hiểu tiếng anh tốt.

2. Học cách tra cứu thông tin trên internet

Lập trình và ngoại ngữ là 2 lĩnh vực có kho tài liệu lớn nhất trên internet. Do vậy, biết cách sử dụng công cụ tìm kiếm để tra cứu cái bạn cần là cái bạn cần học. Việc tra cứu là cực kỳ đơn giản và miễn phí, tuy nhiên lại không có nhiều bạn biết điều đó.

Nếu bạn cần tìm tài liệu C++, hãy tìm kiếm “tài liệu lập trình C++” trên Google. Hay nếu bạn cần cài một phần mềm tên xxx, thử tìm “cách cài xxx”…

Hầu hết các lỗi bạn gặp phải trong quá trình code đều đã có câu trả lời trên Google. Hãy copy dòng thông báo lỗi và tìm kiếm nó, có thể bạn sẽ tìm được câu trả lời đấy. Đặc biệt, nếu bạn có tiếng anh tốt thì bạn có thể hiểu thông báo lỗi đó là gì cũng như đọc hiểu được cách xử lý có ở trên mạng. Ví dụ:

Khi biên dịch/ chạy đoạn code này:

Bạn sẽ gặp phải thông báo lỗi: [Error] expected ';' before 'scanf. Nó báo rằng bạn thiếu dấu ‘;’ ở trước lệnh scanf đấy. Hãy hiểu nội dung của lỗi và thử mang những thông báo lỗi đó tìm kiếm câu trả lời trên Google nhé.

Internet là kho tri thức khổng lồ, nó có thể giúp bạn từ lúc bạn còn đi học, đi thi 🙁 và cả khi đi làm. Hãy tìm cho mình những tài liệu hay, những website có nhiều kiến thức bổ ích. Học tất cả những gì bạn thích từ internet mà chẳng mất một đồng phí nào cả.

3. Đọc hiểu tài liệu tiếng anh chuyên ngành

Tiêu đề của mục 3 là ở mức tối thiểu bạn nên có. Ít nhất bạn cũng phải có được khả năng đọc hiểu tiếng anh chuyên ngành. Hãy thử ngẫm xem nhé:

  1. Việt Nam có 90 triệu dân, trong đó có bao nhiêu phần trăm làm ở lĩnh vực lập trình? Trong số những người lập trình đó, có bao nhiêu % người đi chia sẻ kiến thức lập trình?
  2. Tiếng anh là ngôn ngữ quốc tế
  3. Vậy nếu bạn muốn tiếp cận nền tảng tri thức của nhân loại, đừng bỏ qua tiếng anh.

Khi bạn còn đi học, các kiến thức lập trình là cơ bản. Do đó, việc tìm kiếm tài liệu tiếng việt vẫn sẽ có rất nhiều. Nhưng nếu so với tiếng anh, nó chỉ là giọt nước của đại dương thôi. Mai này, bạn đi làm những công việc chuyên môn, công việc đó sẽ ít người biết hơn, đồng nghĩa là rất ít tài liệu. Thậm chí, tiếng anh là sự lựa chọn duy nhất để bạn làm việc với nó.

4. Học cách tự học

Tự học là cách tốt nhất để bạn tiến bộ nhanh chóng. Bạn không thể trông chờ vào 45 phút trên giảng đường mà giỏi được. Từng đó thời gian chỉ đủ để giới thiệu về các keyword trọng tâm. Học đại học chỉ giúp bạn khai sáng các con đường có thể đi, việc của bạn là phải tự chọn một con đường và tự đi.

Nếu bạn đang học C/C++, hãy tham gia các group trao đổi về lập trình; các forum lập trình. Tại đó, bạn sẽ học được kiến thức từ người khác. Hãy trả lời các câu hỏi mà bạn biết,…  và tự mình giải các bài tập lập trình C/C++

Hãy thử tự học một khóa học lập trình trên youtube và viết ra một ứng dụng nào đó cho riêng bạn. Đọc các kiến thức mới và thử nó.

Bạn có thể tạo cho mình một blog riêng và chia sẻ những gì mình học được. Hoặc ghi chép lại quá trình tự học của mình.

5. Lựa chọn một hướng đi cho riêng mình

Lập trình có nhiều lĩnh vực khác nhau, và các ngôn ngữ lập trình sinh ra cũng chỉ để đáp ứng một nhu cầu nào đó. Có một vài lĩnh vực lập trình khác nhau phổ biến nhất như sau:

Web developers

Trong lập trình web, người ta tiếp tục chia ra làm 2 loại: front-end dev và back-end dev. Lập trình viên Front-end chịu trách nhiệm viết mã quy định trang web trông như thế nào và nội dung của nó được trình bày như thế nào. Các lập trình viên back-end được yêu cầu viết các ứng dụng web và các chương trình phức tạp khác cung cấp khuôn khổ cho trang web để chạy.

Software programmers

Là những lập trình viên tạo ra các phần mềm máy tính. Hiện nay, các công ty outsource ở Việt Nam thường nhận các dự án đã có sẵn bản thiết kế từ nước ngoài về; Lập trình viên là người viết nên các phần mềm theo thiết kế đã có đó.

Data scientists

Bạn sẽ là các nhà khoa học dữ liệu và thường làm việc trong nghiên cứu hoặc học thuật. Công việc của họ là phân tích kho dữ liệu để tìm, phát hiện ra các thông tin hữu ích. Chẳng hạn như tìm ra sở thích của từng khách hàng dựa trên lịch sử mua sắm của họ.

Database Administrator

Họ là những người chịu trách nhiệm quản lý, tổ chức, phân tích, bảo mật kho dữ liệu của các công ty.

Mobile app development

Khi số lượng người dùng điện thoại thông minh tăng lên, nhu cầu về các ứng dụng di động mới thú vị cũng tăng lên. Phát triển ứng dụng trên thiết bị di động nhanh chóng trở thành một trong những lĩnh vực lập trình sinh lợi nhất, đặc biệt là nếu bạn giỏi làm việc một mình. Công việc của họ là phát triển các game/ ứng dụng cho các thiết bị di động.

Và còn nhiều lĩnh vực khác nữa…

Những gì tôi liệt kê trên đây là những lĩnh vực phổ biến. Ngoài ra còn có rất nhiều ngành nghề, lĩnh vực khác nhau trong lập trình.

6. Học một ngôn ngữ lập trình(nhiều càng tốt)

Nếu bạn muốn trở thành một nhà phát triển website, hãy học HTML, CSS, JS,… PHP hoặc .NET… Tôi đã có một bài viết riêng dành cho người muốn trở thành lập trình viên web: lộ trình học lập trình web.

Mỗi ngôn ngữ lập trình sẽ đáp ứng một lĩnh vực nào đó. Không có ngôn ngữ nào là đáp ứng tất cả các yêu cầu của bạn. Do vậy, hãy lựa chọn ngôn ngữ lập trình theo lĩnh vực mà bạn theo đuổi. Một số bài viết tôi đã chia sẻ, các bạn có thể đọc lại:

  1. Nên học ngôn ngữ lập trình nào?
  2. Các ngôn ngữ lập trình phổ biến nhất trên thế giới

7. Thực hành, thực hành và thực hành

Thực hành là cách duy nhất và tốt nhất để bạn tiến bộ. Hãy tìm cách làm ra các sản phẩm sử dụng ngôn ngữ lập trình mà bạn đang học. Điều này sẽ giúp bạn tiến bộ nhanh và giúp tránh chán nản trong khi học lập trình.

Bạn phải thực hành thật nhiều, chìa khóa để trở thành lập trình viên xuất sắc là thực hành.

Thực hành viết các đoạn mã ngay từ thời điểm bạn bắt đầu học; Hãy tự viết lại các đoạn code mẫu và chạy nó. Tải xuống các chương trình của người khác; tìm hiểu và sửa lại nó theo ý thích của bạn. Chia sẻ và nhận xét, giải đáp các thắc mắc của các bạn khác. Hãy cố gắng học một điều gì đó mới mỗi ngày cho tới khi bạn cảm thấy đủ và chúng ta sẽ sang bước tiếp theo.

8. Tìm kiếm một công việc phù hợp

Nếu bạn chỉ tự mình học thôi chưa đủ. Cũng đừng suy nghĩ phải học thật giỏi mới đi làm. Việc học chưa bao giờ là đủ và cũng chẳng có hồi kết. Do vậy, khi đã nắm vững cơ bản, hãy tìm cho mình một ví trí công việc phù hợp với thứ mà bạn đang học.

Chỉ khi tham gia vào các doanh nghiệp, bạn mới hiểu được họ cần gì ở bạn. Cái bạn cần thể hiện là khả năng chịu khó, ham học hỏi. Tất nhiên, bạn biết nhiều kiến thức sẽ tốt, nhưng nó không phải tất cả. Tại nơi làm việc, bạn sẽ được học và ứng dụng luôn vào công việc. Cá nhân tôi nhận thấy, việc học khi đi làm sẽ hiệu quả hơn rất nhiều so với tự học ở nhà.

Một ví dụ về yêu cầu công việc đối với Android Developer:

Yêu cầu công việc của nhà tuyển dụng
Yêu cầu công việc của nhà tuyển dụng

Hãy lên các trang tuyển dụng để biết nhà tuyển dụng cần gì ở các lập trình viên. Hãy xem mình còn thiếu gì và học bổ sung nó.

9. Không bao giờ ngừng học hỏi

Hình ảnh dưới đây là nội dung của chuyên mục này.

Học lập trinh cho người mới

Kết luận

Hi vọng bài chia sẻ giúp cho các bạn sinh viên mới học lập trình thấy được con đường mà mình sẽ phải đi. Cũng hi vọng bạn đã có câu trả lời cho câu hỏi học lập trình cho người mới bắt đầu như thế nào?

Hãy để lại comment nếu bạn có bất kỳ ý kiến đóng góp nào nhé. Chúc các bạn chinh phục con đường mơ ước của mình!

ĐỂ LẠI BÌNH LUẬN

Vui lòng nhập nội dung bình luận
Vui lòng nhập tên