, October 02, 2022

0 kết quả được tìm thấy

Nghề lập trình - Những hiểu sai phổ biến và cách học hiệu quả


  •   11 min reads
Nghề lập trình - Những hiểu sai phổ biến và cách học hiệu quả

Bạn đang tìm đến nghề lập trình vì nghe đồn rằng nghề này rất giàu, kiếm được nhiều tiền hoặc nghề này rất hot, nhu cầu tuyển dụng cao hay thậm chí ai đó nói về lập trình viên là những người rất giỏi Toán, IQ cao... Đó là những hiểu sai phổ biến nhất về nghề lập trình.

Thậm chí nếu bạn đang có ý định dấn thân mảng lập trình hay đã bắt đầu lập trình nhưng vẫn hoài nghi năng lực bản thân, về tương lai của nghề lập trình thì hãy cứ xem tiếp nha.

Hướng dẫn tự học lập trình cho người hoàn toàn mới
Bài viết này sẽ giúp các bạn yêu thích lập trình có thể tự học lập trình thông qua một số gợi ý cũng như các định hướng ban đầu
Lập trình mãi không giỏi được, nguyên nhân vì đâu?!
Đơn giản là vì chúng ta chưa thực sự tập trung, quyết tâm và không có động lực đủ lớn (cũng như không có người chỉ dẫn).

Những hiểu sai phổ biến của nghề lập trình

Lập trình cần IQ cao và giỏi Toán (Khối A: Toán, Lý, Hoá)

Theo một số tài liệu và bài viết mình tham khảo, Software Engineer (kỹ sư phần mềm) có trung bình IQ là 100-110, thất nhất là 93 và cao nhất là 129. Một số vị trí đặc thù như Computer Science (nhà khoa học máy tính) hoặc Data Science (nhà khoa học dữ liệu) thì có IQ khoảng 130, họ là những người trong top 2% thông minh nhất hành tinh. Tuy nhiên hầu hết ở độ tuổi trưởng thành, trên 18 tuổi, có trung bình IQ khoảng 103.

Bên cạnh đó là kỹ năng Toán học (thậm chí là khối A: Toán, Lý, Hoá). Ở thời điểm mình viết bài này, hầu hết các trường đại học có ngành "kỹ sư phần mềm" đều yêu cầu khối A. Trên thực tế là một lập trình viên hay kỹ sư phầm mềm, bạn hiếm khi dùng đến kiến thức Toán cao cấp cũng như Lý và Hoá. Ngoại trừ việc bạn phát triển những phần mềm có liên quan như lập trình Game (sẽ cần kiến thức Vật Lý và Toán).

Như vậy chúng ta có thể thấy rằng bất kỳ một người bình thường nào cũng có thể theo đuổi, học và làm tốt nghề lập trình.

Lập trình là nghề hái ra rất nhiều tiền

Dạo thời gian gần đây, các phương tiện báo đài truyền thông việc các kỹ sư phần mềm kiếm được rất nhiều tiền, mua được nhà và siêu xe. Theo mình thì đây cách truyền thông "một nửa sự thật" và có thể gây hiểu nhầm.

Bản chất nếu bạn thực sự giỏi trong một lĩnh vực bất kì, bạn đều có thể có thu nhập rất cao. Những bạn lập trình có thu nhập hàng trăm triệu mỗi tháng là những người top (5-10%) trong ngành, phần còn lại cũng bình thường như bao nghề khác.

Bên cạnh đó chúng ta cần hiểu nghề lập trình là lao động trí óc, cần kỹ năng và chuyên môn đặc thù. Các lập trình viên thường sống và làm việc trong áp lực công việc cao. Thu nhập cao đi đôi với trách nhiệm lớn. Việc chọn nghề lập trình không hiển nhiên là chúng ta sẽ giàu có.

Sự thiếu hụt trầm trọng nhân lực lập trình trên thị trường

Sự thiếu hụt nhân sự kỹ sư phần mềm hay lập trình viên là đúng nhưng chưa đủ. Thực ra chỉ thiếu nhân sự "được việc" và "phù hợp" chứ không thiếu người biết làm. Chỉ với 3-6 tháng bạn có thể lập trình được ở mức độ cơ bản dù cho khởi đầu bạn không biết gì. Nhưng để thành công trong nghề này, bạn sẽ cần vô lượng thời gian, nó tuỳ vào: khả năng, đam mê và động lực cũng như nhân duyên của mỗi người.

Hẵn là chúng ta cũng thường nghe về tỉ lệ thất nghiệp sau đại học của các bạn chọn nghề lập trình cũng lớn không kém. Theo Tuổi Trẻ, trong số hơn 55.000 sinh viên công nghệ thông tin (CNTT) tốt nghiệp mỗi năm, chỉ có khoảng 16.500 sinh viên (30%) đáp ứng được những kỹ năng và chuyên môn mà doanh nghiệp cần. Thống kê này chưa tính các trung tâm đào tạo lập trình viên và các bạn học trái nghành tự học lập trình.

Như vậy chúng ta cần hiểu đầy đủ rằng nhân lực thiếu hụt trên thị trường nhưng vẫn rất cạnh tranh. Việc học lập trình không hiển nhiên là sẽ có việc làm. Bạn cần phải học tốt và nỗ lực nghiêm túc.

Nghề lập trình có sự đào thải cao và thay đổi nhanh chóng

Dưới thời địa kỷ nguyên số, công nghệ phát triển rất nhanh. Chúng len lỏi vào mọi ngóc ngách nhu cầu cuộc sống. Nếu trước kia bạn phải tìm một chiếc máy tính để bàn mới có thể làm việc được thì ngày nay chúng ta có những chiếc máy tính bảng, điện thoại thông minh vẫn đủ sức giải quyết công việc hàng ngày. Bên cạnh đó là nhu cầu giải trí, giao tiếp mạng xã hội, điều khiển thiết bị trong nhà,... Tất cả những mảng này đều cần lập trình.

Những công nghệ đáp ứng các nhu cầu lập trình từ đó cũng thay đổi và cập nhật nhanh chóng. Những ngôn ngữ mới, những nền tảng lập trình mới hay công cụ phát triển phần mềm mới đua nhau ra đời. Vì thế, bạn sẽ không phải học một lần rồi đi làm là hết, nó cần bạn phải học liên tục qua thời gian.

Vì thế khi chọn ngành này, các bạn cần xác định rõ lý do bạn chọn nó. Nếu các bạn chọn đơn giản là ngoài máy tính ra bạn không biết những cái khác hay vì thu nhập cao thì hãy cân nhắc kỹ. Có thể bạn còn những thiên phú khác hay những sở thích mà bản thân bạn chưa kịp khám phá ra. Đừng lo, ai cũng có, vì hầu hết mọi người sẽ hiểu người khác hơn chính bản thân mình.

Việc không rõ những điều trên có thể khiến cho con đường sự nghiệp của bạn gặp rất nhiều khó khăn, hệ quả là không "thiết kế được cuộc đời mà bạn mong muốn".

Bắt đầu học lập trình như thế nào để hiệu quả?

Có nhiều cách tiếp cận và tự học lập trình, tuy nhiên mình sẽ kể lại câu chuyện của chính bản thân mình nhé. Biết đâu bạn cũng đã hoặc đang giống mình ngày xưa thì sao!

Ngày xưa mình rất mê game. Vì tò mò game hoạt động thế nào, và vì muốn làm website để tải nhạc game Audition mà mình đã vô tình tìm tới nghề này. Nó là công cụ để mình làm được những thứ mình cần. Đây là động lực chính khiến mình say mê lập trình từ sớm, có thể là một may mắn với bản thân mình.

Mình đã bắt đầu với với HTML, một ngôn ngữ để hiển thị các nội dung trên website. Khi đó mình viết một dòng code mà cho chữ nó chạy qua chạy lại. Thật ra nó đơn giản là vầy:

<marquee>Viet</marquee>

Mình ngỡ như đã trở thành một hacker có thể làm được mọi thứ. Và đương nhiên là để tiến đến mục tiêu làm website phát nhạc Audition mình đã phải dành rất rất nhiều thời gian, công sức nữa. Nhưng giả định nếu ngày đó mình chỉ học lập trình với mục tiêu là nộp đơn đi làm và giàu sang thì rõ ràng mình cũng không biết là nên học cái gì cho đủ. Vì lập trình rất rất rộng lớn, không ai có thể biết được tất cả mọi thứ trong nghề này.

Hiện tại, nghề lập trình đã phát triển rất nhiều, phần lớn cũng đã phổ cập cho nhiều người biết đến hơn. Chúng ta cũng sử dụng nhiều sản phẩm công nghệ hơn nên hẳn là các bạn sẽ thích một vài trong số chúng. Song cũng là một trở ngại vì rất nhiều bạn cũng không biết nên lập trình cho mảng nào, cho cái gì và sản phẩm làm ra sẽ thế nào.

Lời khuyên của mình là bạn hãy chọn một mảng hoặc một sản phẩm (app, game) mà bạn quan tâm nhất để bắt đầu.

Đừng vội khi mới học lập trình

Khi mới bắt đầu có thể các bạn sẽ mong muốn rất nhiều thứ. Nào là kiến trúc ứng dụng, hiệu năng cao, tư duy lập trình, thuật toán, clean code,... bên cạnh việc muốn trở thành full stack làm A-Z,... Những điều đó vẫn là một thử thách lớn thậm chí với những người đã làm lâu năm.

Cái sự học có một quy luật bất biến: muốn giải bài toán lớn thì các bạn phải giải qua những bài toán nhỏ. Thay vì muốn một bước lên mây, các bạn cần tìm lấy cho mình lộ trình phù hợp rồi bước từng bước nhỏ. Khi bước lên thì vững vàng chứ đừng bước lùi lại... Cứ như thế sau một thời gian bạn đã ở một đỉnh cao mà rất nhiều người vẫn nhìn bạn ở vạch xuất phát.

Theo kinh nghiệm cá nhân của mình, các bạn có thể bắt đầu với ngôn ngữ Javascript hoặc Python để có được nền tảng đủ tốt và đủ dùng cho nhiều hướng đi khác nhau. Sau một thời gian, bạn có thể chọn tiếp nên chuyên sâu mảng nào. Lựa chọn này là của riêng bạn, dựa trên sở thích, đam mê, nhu cầu và "nhân duyên" như mình đã nói. Hãy hạnh phúc với lựa chọn của mình!

Chúc các bạn sớm tìm được hành trình thành công với nghề. Có thể đích đến mỗi người là khác nhau nhưng hành trình luôn là sự thú vị.

Các thống kê tham khảo trong bài viết

Chỉ 30% sinh viên công nghệ thông tin ra trường đáp ứng được nhu cầu doanh nghiệp
Theo báo cáo thị trường công nghệ thông tin Việt Nam 2021 Developers Recruitment State, chất lượng sinh viên sau tốt nghiệp đáp ứng yêu cầu tuyển dụng của doanh nghiệp hiện đại vẫn còn thấp.
What is the average IQ of a software developer?
Find out what the average IQ of a software developer is an how they compare to the rest of the population in terms of intelligence
What Is the Normal Range for IQ? Chart, Factors, Uses
Intelligence quotient or IQ is a standardized method to know the mental ability of a person, usually against a peer group. IQ scores between 90 and 109 indicate a normal or average intelligence. Individual adults usually score somewhere in between the 70-130 range, with 100 being the theoretical ave…

Bài viết liên quan

Bitbucket là gì? GitHub là gì? So sánh Bitbucket và GitHub

Sự khác biệt giữa Bitbucket và GitHub là: Bitbucket chủ yếu sử dụng cho private repositories trong khi GitHub sử dụng cho public repositories....

Bitbucket là gì? GitHub là gì? So sánh Bitbucket và GitHub
Các VS Code extension dành cho React Developer

Với sự phát triển không ngừng của các công cụ và công nghệ mới hiện nay, các developer có thể...

Các VS Code extension dành cho React Developer
Agile là gì? Scrum là gì? Tìm hiểu về mô hình Agile và quy trình Scrum

Agile Scrum là một hệ thống quản lý dự án dựa trên Sprint với mục tiêu cung cấp giá trị cao nhất cho các bên liên quan....

Agile là gì? Scrum là gì? Tìm hiểu về mô hình Agile và quy trình Scrum
Những ngôn ngữ lập trình tốt nhất NĂM 2022

Một số gợi ý về các ngôn ngữ lập trình tốt nhất để học trong năm 2022, với những ưu nhược điểm của từng ngôn ngữ....

Những ngôn ngữ lập trình tốt nhất NĂM 2022
Tầm quan trọng của trừu tượng hóa trong kiến trúc ứng dụng

Trừu tượng (abstract) nghĩa là một cái gì đó chung chung, không rõ ràng. Đây là khái niệm rất quan trọng trong lập trình mà bạn không nên bỏ qua....

Tầm quan trọng của trừu tượng hóa trong kiến trúc ứng dụng
You've successfully subscribed to 200Lab Blog
Great! Next, complete checkout for full access to 200Lab Blog
Xin chào mừng bạn đã quay trở lại
OK! Tài khoản của bạn đã kích hoạt thành công.
Success! Your billing info is updated.
Billing info update failed.
Your link has expired.