Học kỹ năng lập trình hay ngôn ngữ lập trình

Xin chào mọi người,
Mình đang theo đuổi việc học lập trình nhưng qua một cuộc nói chuyện về người đi trước đã có nhiều kinh nghiệm thì mình nhận được một câu phải suy nghĩ là: " Lập trình là học kỹ năng lập trình chứ không phải học ngôn ngữ lập trình ".
Mình cứ suy nghĩ mãi nếu đã xác định được hướng đi và roadmap về ngôn ngữ đó thì mình có thể tập trung học tập để thành thạo ngôn ngữ đó hay là bất kì ngôn ngữ nào cái yếu tố then chốt vẫn là " Kĩ năng lập trình ". Mình học để tìm kiếm việc làm và cơ hội mới trong nghề nghiệp. Cảm ơn mọi người.

Có lẽ không có cái gọi là “kỹ năng lập trình” đi so với “ngôn ngữ lập trình” đâu. Dường như người ta thường gọi cái ấy là mindset (ở VN dịch là tư duy) chứ không phải skills. Còn trong lĩnh vực tuyển dụng, họ không cần mấy cái chữ như vậy, họ cần “năng lực” (kỹ năng kém, tư duy kém, ngôn ngữ không biết không sao, nhưng năng lực phải đảm bảo :smiley: )

Trước hết: Học lập trình nghĩa là học cách sử dụng một ngôn ngữ.

Việc học ngôn ngữ này cũng giống như học mọi thứ khác ở đời nói chung, học một thứ “tiếng” (ngôn ngữ tự nhiện như Anh, Pháp, TQ,…).

Mục đích học ngôn ngữ để làm gì thì tùy mỗi người, lập trình cũng vậy.

Đầu tiên là học một thứ tiếng cụ thể, nhưng nếu muốn “sống chết” với ngành ngôn ngữ người ta sẽ phải biết thêm những thứ liên quan đến ngôn ngữ. Điều này là bình thường như mọi lĩnh vực khác: phát triển theo chiều rộng và/ hoặc theo chiều sâu.

Những ai cứ quan tâm lộ trình thường sớm bỏ cuộc, những ai thấy hình ảnh mình như thế nào trong tương lai sẽ khôn khoan hơn.

Mình học để tìm kiếm việc làm và cơ hội mới trong nghề nghiệp. Cảm ơn mọi người.” - là một mục tiêu không chính chuyên mặc dù nó chính đáng. Con người ta cần hướng đến sự cao cả, mặc dù nghe có vẻ viển vông, ngớ ngẩn,… nhưng nhờ vậy người ta mới gắn bó với nghề, mới vượt qua khó khăn để vươn tới top 20%, còn nếu chỉ học để kiếm việc vì nghĩ lâp trình là dễ kiếm việc, ít nặng nhọc, rộng đường kiếm cơm thì thường người ta cũng sẽ có thể bỏ cuộc, dễ dàng nhảy sang cái khác khi mà kiếm việc, cơ hội nghề nghiệp cao hơn. Để rồi sao, đẽo cày giữa đường là chuyện xảy ra.

Mục tiêu cao cả là sao? Là kiểu như tui muốn học lập trình để tạo ra phần mềm giúp con gái nhỏ đang học tiểu học có game mini làm toán, giúp vợ có shop có thể dùng phần mềm POS do tui viết ra hoặc nghe có vẻ hơi buồn cười nhưng cũng “cao cả”: giúp những thằng khác thực hiện ước mơ tỉ phú của nó.

(Để test xem bạn có học lập trình nên nổi hay không, mình có 1 quiz nhỏ: theo bạn, khá nhiều người tin rằng hoặc đọc thấy đâu đó “lợn (con heo) không thể nhìn lên trời, không thể nhìn thấy trăng, sao” - đây là chuyện có thật hay chỉ là lời đôn bậy bạ) :smiley:

Túm lại: chủ topic phải hiểu “lập trình là để tạo ra sản phẩm phần mềm”. Một thợ code hay lâp trình viên hay gì đi nữa thì phải làm ra được phần mềm, nếu chỉ tham gia vào kiếm việc gia công thì thà đi làm công nhân may công nghiệp.

Học cái gì không biết, một gã nào xưng là lập trình viên, cốt-đơ, thợ code hay gì gì đó mà dám nói mình là người làm về lập trình, phần mềm mà khi được mình phỏng vấn “hãy cho tui biết anh có đang dùng phần mềm nào do anh viết”? Nếu trả lời là Không, cho về luôn, không cần phải phỏng vấn thêm nữa.

2 Likes

Ảo quá, em cũng chưa làm được phần mềm nào mà bản thân dùng được cả.

Lại bắt đầu nghĩ đến phần mềm là cái gì đó cao siêu rồi chứ gì? Không, đó không phải là phần mềm kiểu Photoshop, Word hoặc những thứ công cụ như Docker, jQuery, Laravel. Nó có khi đơn giản thôi, có khi chỉ là một file PowerShell, Bash Shell chừng 2 trang màn hình với code tự viết để thực hiện một số tác vụ nào đó. Mình thì làm web, rất bực minh khi khách cứ thường tranh cãi là cãi gì đó có nằm chính giữa màn hình hay không nên có một “phần mềm” khá đơn giản đó là khi bấm phím nó sẽ kẻ những đường kẻ dọc, ngang trên màn hình, và có thể nhập cách dòng trước bao nhiêu pixel.

Có nhiều bạn suy nghĩ rất kỳ: công cụ có sẵn sao phải phát minh lại bánh xe. Và rồi trên máy tính của họ, hoặc trên trang web của họ, không có bất cứ phần mềm tiện ích nào do họ làm ra. Những người này xem ra không nên theo nghề lập trình vì không tạo ra sản phẩm, họ nên đi dạy làm giàu thì hơn.

Nói chung, đã là dân lập trình thì phải có cái gì đó tự hào rằng đó là sản phẩm phần mềm do tui làm nên, dù nó nhỏ, chứ toàn đi sử dụng công cụ người khác và đi vô mấy công ty gia công phần mềm để gõ code thì xem ra có khác gì công nhân may công nghiệp.

3 Likes

người này có giải thích cho bạn đó là gì không?

Learning a programming language is like learning a living language. You can memorize the entire dictionary, but if you don’t have the talent to formulate something intelligibly or express it clearly, your dictionary knowledge is dead knowledge. Living languages ​​additionally require good knowledge of the social and traditional life of the people whose native language is that language.
A programming language without knowledge of computer science (eg bit, byte, OS, DB, math, logic, analytical algorithms, etc.) is like a living language without knowledge of the social and traditional life of that language.
I know many Vietnamese people who are excellent at writing an essay in English, but they speak terribly and very incomprehensibly…
I also know many people who boast about knowing C#, C++, JAVA, PYTHON, etc., but have trouble creating a decent app…

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?