Học lập trình bắt đầu từ đâu

Giới thiệu nội dung bài viết

Chào các bạn, chắc hẳn bạn sẽ thắc mắc học lập trình nên bắt đầu như thế nào? Cần có những yếu tố gì để giúp mình trở thành một lập trình viên. Hôm nay anh sẽ chia sẻ cho các bạn chuẩn bị học lập trình nên trang bị những gì?


1. Định nghĩa đam mê về lập trình

Trước khi bắt đầu sẵn sàng cho học lập trình. Anh muốn các bạn xác định rõ tại sao mình học lập trình.

Anh lấy ví dụ như mình thích chơi game vì nó quá hay và cuốn hút mình dẫn đến việc mình đam mê nó, dành nhiều thời gian cho nó và mục đích của mình là trở thành cao thủ trong cái game mà mình đang chơi. Như vậy từ việc thích nó sẽ dẫn tới việc đam mê nó . Từ việc mong muốn trở thành cao thủ trong trò chơi dẫn tới mình đam mê nó.

Một số bạn bắt đầu học lập trình vì mình thích làm các ứng dụng, thích học code, thích làm các phần mềm để giải quyết các công việc cá nhân hoặc thích làm các phần mềm vì các bạn thích viết code. Từ việc thích làm một điều gì đó dẫn tới các bạn đam mê và dành thời gian cho nó hơn bất cứ việc khác. Có một số bạn khác không thích học lập trình nhưng vì mong muốn có một cuộc sống ổn định hơn, mong muốn có thu nhập tốt hơn dẫn đến mong muốn chuyển qua học lập trình. Vì quyết tâm cao là phải trở lập trình viên ,dẫn đến các bạn dành nhiều thời gian và dần dần đam mê nó.

Đam mê chính là yếu tố quan trọng nhất khi mình bắt đầu học lập trình hoặc học code. Nghề lập trình thì phải học cả đời từ lúc là lập trình viên tới lúc mình nghỉ hưu, vì công nghệ và kỹ thuật lập trình luôn luôn thay đổi và có cái mới do đó bắt buộc mình phải học để nâng cao bản thân. Nếu không có đam mê thì mình có thể bỏ cuộc giữa chừng như vậy mình sẽ rất lãng phí thời gian. Nếu không có đam mê anh nghĩ mình hãy chọn một ngành nghề mới để kinh doanh. Chắc chắn làm giàu không chỉ có bằng nghề lập trình mà còn các công việc khác giúp chúng ta làm giàu. Như vậy trước khi bắt tay vào học lập trình các bạn hãy xác định rõ mục đích của mình là gì từ đó phấn đấu cho mục đích đó nhằm tạo động lực và niềm đam mê trong lập trình. Đam mê có nhiều cách để mình có thể tự tạo ra nó, nhưng anh thấy có 2 xu hướng chính đó là mình thích lập trình dẫn tới đam mê, hoặc mình học lập trình vì một mục đích muốn có một cuộc sống tốt hơn và dẫn tới đam mê.


2. Lập trình là gì

Theo như anh thấy học lập trình cũng giống như học anh văn vậy. Mình học anh văn để giao tiếp với các bạn nước ngoài. Để giao tiếp được thì mình phải học từ vựng và ngữ pháp của ngôn ngữ đó ,từ đó mình sử dụng nó để nói chuyện và trao đổi các mong muốn của mình với các bạn nước ngoài.

Học lập trình cũng vậy mình sẽ học các từ vựng (các từ khoá về ngôn ngữ lập trình) các mệnh để, cấu trúc câu của ngôn ngữ lập trình từ đó mình có thể ra lệnh cho máy tính, hoặc phần mềm làm gì mà mình mong muốn dựa theo những dòng lệnh mà mình viết ra.

Như các em thấy ngày nay có rất nhiều ứng dụng như ngân hàng, thương mại điện tử được lập trình ra bời vì mình hiểu được cách giao tiếp , ra chỉ thị cho máy tính, ứng dụng thông qua dòng lệnh . Từ đó mình xây dựng các chỉ dẫn dựa trên nghiệp vụ mà mình biết để ra lệnh cho phần mềm phải làm những điều mình muốn.


3. Học lập trình bắt đầu từ đâu

Bước 1 : Đầu tiên chúng ta xác định là sẽ học code phần cơ bản nhất đó là bắt đầu với việc tạo ra được trang web của mình hay còn gọi là học lập trình frontend (frontend có nghĩa là những thứ mình có thể thấy được, vì dụ như website bán điện thoại di động, khi vào trang web thì mình thấy danh sách các loại điện thoại . Vậy frontend là những cái mình thấy được bằng mắt). Để làm được frontend mọi người phải học công nghệ HTML , CSS , và Javascript . Trong giai đoạn này mình sẽ học code về cú pháp, cấu trúc cơ bản của HTML,CSS,Javascript và tự xây dựng được trang web cho mình.

  • Học HTML tại đây
  • Học CSS tại đây
  • Học Javascript tại [đây] (https://www.w3schools.com/js/default.asp)

Sau khi đã qua các bài tập cơ bản về html,css,javascript rồi thì các bạn có thể tham khảo tiếp các môn học code tiếp các công nghệ được anh ghi ra tại đây

Bước 2 : Chọn công nghệ để làm phần backend (backend là những thứ mình không thấy được, như ví dụ điện thoại ở trên thì ta thấy những chiếc điện thoại mà mắt mình thấy được là do ở đâu mà có). Thông thường thì mình nên chọn học lập trình Java làm ngôn ngữ để học phần backend. Nhưng ở giai đoạn này mình đã có kiến thức (từ vựng, cấu trúc ở phần frontend) nên khi học Java mình chỉ thay đổi từ vựng (từ khoá về ngôn ngữ đó) khác đi một chút xí, còn về nguyên lý các ngôn ngữ lập trình na ná nhau. Chính vì vậy nếu mình học tốt Javascript thì các ngôn ngữ khác như : Java , Ruby , Python , PHP, .Net (đây chính là các ngôn ngữ lập trình) đều rất đơn giản

Sau khi đã qua các bài tập cơ bản về java rồi thì các bạn có thể tham khảo tiếp các môn học code tiếp theo tại đây

  • Hiện nay trên youtube có rất nhiều khoá học lập trình online miễn phí dạy học cho người bắt đầu với ngôn ngữ java

Bước 3 : Học về cơ sở dữ liệu

Ở ví dụ điện thoại thì mình phải hình dung ra là những thông tin về điện thoại như tên, giá , nhà sản xuất phải được lưu trữ ở đâu để mình có thể lấy được dữ liệu lên. Chính vì vậy mà mình cần học thêm phần cơ sở dữ liệu. Thường mình sẽ bắt đầu với Mysql

Sau khi trải qua 3 bước ở trên khi mình đã hiểu nguyên lý Front-end , Backend , Database những từ khoá phải sử dụng , các mệnh lệnh (dòng code) để phần mềm có thể làm những điều mình muốn thì mình đã có thể làm được một ứng dụng hoàn chỉnh bắt đầu làm được phần mềm ở mức độ level 1 (beginner)

Bước 4 : Đạt các level tiếp theo của lập trình

Khi đã được level 1 lúc đó mình đó có nền tảng về lập trình. Thông thường sẽ mất 2 năm để đạt tiếp level 2 (Medium) , 5->10 năm để đạt level 3 (advantage) và trên 10 năm có thể đạt level 4 (expert). Khi mọi người vào công ty thì tuỳ vào dự án mà mọi người sẽ được học các công nghệ khác nhau . Tuy nhiên khi đã có level1 rồi thì mình được các công ty tạo cơ hội làm trong các dự án để đạt các level tiếp theo.


4.Các phương pháp học lập trình

Thông thường khi học một ngôn ngữ mới hay một công nghệ mới các việc sau đây anh cần phải làm

  • Chuẩn bị 2 cuốn sách nói về công nghệ đó. Mục đích khi đọc sách mình sẽ được giải thích sâu hơn về ngôn ngữ đó
  • Tìm kiếm các khoá học online trả tiền hoặc miễn phí trên udemy, coursera hay pluralsight
  • Tìm kiếm các khoá học video trên youtube . Mục đích giúp mình có cái nhìn tổng quan về cái mình sắp học
  • Chuẩn bị cho mình một mentor (người hướng dẫn), trong lúc đọc sách và xem video chắc chắn sẽ có nhiều thứ không hiểu vì mình là người mới bắt đầu học lập trình. Nên chọn cho mình một người hướng dẫn để trả lời các thắc mắc của mình
  • Sau khi đã chuẩn bị xong mọi thứ thì bắt tay vào việc học. Học lập trình quan trọng là code nhiều để quen cú pháp và từ vựng của ngôn ngữ. Chính vì vậy cứ mỗi bài học mình xác định là đã hiểu nội dung , làm được bài thực hành của bài học, và tự mình đặt ra câu hỏi xem mình đã hiểu chưa, thực hiện các câu trắc nghiệm về bài học mình vừa hoàn thành. Sau khi kết thúc việc học thì mình sẽ làm 1 một phần mềm mang tính thực tế và áp dụng các kiến thức mình học trong môn đó vào lập trình. Cuối cùng mình phải xây dựng hay lập trình được một cái gì đó. Vì học lập trình mà không viết code thì mình sẽ quên kiến thức ngay. Chính vì vậy mà mình phải làm ra một phần mềm ở cuối chương trình để nắm lại những thức mà mình học. Thông thường thì mất tầm 1 tháng để học một công nghệ mới và làm được một ứng dụng mang tính hiểu các nguyên lý của ngôn ngữ đó.


5.Các ngành nghề và chức danh trong lập trình

Để làm ra được một phần mềm thì có rất nhiều vai trò cùng làm việc với nhau để cho ra sản phẩm. Nếu mình không giỏi về lập trình thì mình có thể tham gia dự án với các vai trò sau.

  • Tester (kiểm thử dự án) Mình không giỏi code thì mình có thể trở thành tester. Yêu cầu tính tỉ mỉ, có kiến thức lập trình , tuy nhiên chỉ cần level 1 là được
  • Designer (thiết kế giao diện cho sản phẩm) Mình không giỏi code nhưng mình lại có khiếu thẩm mình thì mình có thể làm designer cho dự án. yêu cầu có thẩm mỹ , hiểu được khách hàng (UX) , biết sử dụng các công cụ của design như photoshop, sketch . Nếu có thêm kiến thức lập trình thì sẽ tốt , chỉ yêu cầu lập trình level 1
  • Comtor/BA nếu bạn không giỏi lập trình nhưng giỏi tiếng Anh hoặc tiếng Nhật có thể tham gia dự án trao đổi với khách hàng sau đó truyền đạt lại với team của mình. Nếu có thêm kiến thức lập trình là một lợi thế . Không cần phải chuyên sâu về lập trình , nếu được level 1 cũng đã là tốt rồi.
  • PM (quản lý dự án) thông thường thì bạn phải làm việc một thời gian dài mới có kinh nghiệm về dự án . Bạn cần biết cách quản lý con người, biết tiếng ngoại ngữ để có thể trao đổi với khách hàng. Không cần phải biết quá sâu về kỹ thuật . Công việc của bạn là quản lý team và dự án.
  • Developer (lập trình viên) bạn phải biết lập trình , trong công ty sẽ tạo điều kiện cho bạn để bạn có thể trở thành level 2,3,4 . Bạn phải có kiến thức sâu về lập trình, chịu trách nhiệm với chất lượng sản phẩm do chính mình viết ra.

  • Ngoài ra ở các công ty khác thì sẽ có thêm các vai trò khác nữa để giúp dự án chạy tốt hơn, nhưng cơ bản 1 dự án thì cần các vai trò như tester, designer , developer, quản lý dự án cùng phối hợp với nhau để tạo ra sản phẩm.


Kết luận

Học lập trình không quá khó. Cái quan trọng mình phải xác định mục tiêu mình là gì? Từ đó chuyển mục tiêu đó thành đam mê để giúp mình có nhiều thời gian cải thiện bản thân và vươn xa trong sự nghiệp. Đam mê sẽ mang lại thành công


Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm

Các khoá học lập trình MIỄN PHÍ tại đây


Comments