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

Chắc hẳn các bạn sẽ thắc mắc học lập trình nên bắt đầu từ đâu? 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 tôi sẽ chia sẻ cho các bạn những hành trang cần thiết mà người học lập trình nên trang bị:

  • Định nghĩa đam mê về lập trình
  • Lập trình là gì
  • Học lập trình bắt đầu từ đâu
  • Các phương pháp học lập trình
  • Các ngành nghề và chức danh
  • Kết luận

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

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

Lấy ví dụ như mình thích chơi game vì nó quá hay và cuốn hút 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 một cao thủ trong game mà mình đang chơi. Như vậy từ việc thích cái trò chơi ấy, muốn đứng xếp hạng cao thủ sẽ dẫn tới việc đ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 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 lập trình nhưng vì mong muốn có một cuộc sống ổn định hơn, 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 không chỉ riêng mỗi nghề lập trình mà là với tất cả các ngành, nghề, công việc khác. 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 khi nghỉ hưu, vì công nghệ và kỹ thuật lập trình luôn luôn thay đổi từng ngày và cái mới hiện đại hơn, tối ưu hơn sẽ dần dần thay thế cái cũ do đó bắt buộc mình phải luôn học tập để nâng cao tay nghề của bản thân. Nếu không có đam mê thì rất có thể các bạn sẽ bỏ cuộc giữa chừng như vậy là rất lãng phí thời gian. Nếu không có đam mê tôi nghĩ mình sẽ chọn một ngành nghề mới để kinh doanh. Như vậy trước khi bắt tay vào việc học lập trình các bạn hãy xác định rõ mục đích của mình ngay từ đầu là gì rồi từ đó phấn đấu cho mục tiêu đó 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ạo ra nó, nhưng theo tôi 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ê.

 III. Lập trình là gì?

Theo như tôi thấy, việc học lập trình cũng giống như học ngoại ngữ vậy. Mình học ngoại ngữ để 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 theo mong muốn của mình dựa theo những câu lệnh mà mình viết ra.

Như các bạn 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.

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

Bước 1: Xác định rằng mình sẽ học từ phần cơ bản nhất.

Đối với việc học lập trình web, mình bắt đầu học lập trình front-end (front-end 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 front-end 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ác công nghệ để tạo ra ứng dụng web như HTML, CSS và Javascript. Đề ra mục tiêu cho bản thân: “Trong giai đoạn này, tôi sẽ học cú pháp, cấu trúc cơ bản của HTML, CSS và Javascript rồi tự xây dựng một trang web riêng cho bản thân mình.

Bước 2: Back-end

Chọn công nghệ để làm phần backend cho ứng dụng web (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 mới học thì mình nên chọn ngôn ngữ Java để 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ủa các ngôn ngữ lập trình đều giống nhau. Chính vì vậy, nếu 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.

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 trang web. 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 học cơ sở dữ liệu với MySQL.

Sau khi trải qua 3 bước ở trên, khi đã hiểu nguyên lý về Front-end, Backend, Database, những từ khoá phải sử dụng , các câu lệnh viết ra để 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 và bắt đầu ở level 1 (Beginer).

Bước 4: Đạt các level còn lại trong 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ó level 1 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.

V. 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 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 mất phí 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 các bài thực hành qua các bài học, và tự mình đặt ra câu hỏi xem mình đã hiểu chưa, hoàn thành 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ường xuyên thì 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ữ đó.

VI. 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ó năng khiếu về thẩm mỹ thì mình có thể làm designer cho dự án. Yêu cầu có năng khiếu 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, đạt 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 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ể nâng lên 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, PM 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 được mục tiêu của bản thân 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.

Author: Lê Vũ Nguyên

Đăng ký nhận tài liệu: “Tất tần tật những điều người học lập trình không thể bỏ qua” tại đây

Xem thêm: Java Coding Bootcamp là gì? Tổng quan về Java Coding Bootcamp


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.