Thời điểm mình viết bài này (2020) đang là giai đoạn mà nghề lập trình hot như nước sôi, rất nhiều các công ty tuyển lập trình viên mà không tuyển được dù đã đưa ra nhiều chính sách phúc lợi tốt và trả lương cao. Tóm lại, ngành IT nói chung và lập trình nói riêng đang rất "khát người", và có cơ hội nghề nghiệp trong lĩnh vực này cũng rất rộng mở.
Dưới tâm lý "ổn định nghề nghiệp, có việc làm sau khi ra trường", rất nhiều bạn trẻ đã chọn con đường trở thành lập trình viên với mong muốn có được một công việc tốt sau này. Và đây là một bài viết ngắn ngọn, giới thiệu qua về lập trình là gì, học lập trình có khó không, các điểm sáng, điểm tối của nghề. Hy vọng sẽ giúp ích cho các đang có ý định trở thành lập trình viên trong tương lai.

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

Lập trình là việc tạo ra một phần mềm máy tính nhằm xử lý một thông tin nào đó, các lập trình viên sẽ viết code để tạo nên phần mềm hoàn chỉnh.
Trên là cách hiểu nôm na nhất về lập trình, tức là một định nghĩa mà ai cũng có thể đưa cho dù không tham khảo wikipedia, hay một từ điển nào. Nhưng các bạn hãy lưu ý 2 điểm sau:
- Lập trình là việc tạo ra phần mềm
Đúng, lập trình sẽ tạo ra phần mềm, nhưng để tạo ra một phần mềm có ý nghĩa, có thể áp dụng trong cuộc sống thì lập trình thôi là chưa đủ. Trước khi tới bước lập trình, thường sẽ có bước thu thập yêu cầu, phân tích, thiết kế. Sau lập trình, phần mềm thường trải qua một bước kiểm thử, để đảm bảo phần mềm hoạt động đúng theo yêu cầu. Trước khi có một phần mềm hoàn chỉnh trên máy tính, người ta đã có một phần mềm "khá hoàn chỉnh" trên giấy rồi.
- Các lập trình viên sẽ viết code để tạo nên phần mềm
Đúng, viết code là một công việc của lập trình viên, nhưng không có nghĩa là các lập trình viên chỉ biết viết code. Ngoài viết code, họ cũng phải tham gia nhiều cuộc họp, cũng phải đóng góp ý kiến vào các bước thu thập yêu cầu, phân thích, thiết kế,... Chúng ta sẽ tìm hiểu về các công việc của một lập trình viên ở một bài viết khác.
Mình lưu ý 2 điểm trên vì muốn các bạn hiểu rằng, để tạo ra phần mềm thì không chỉ có bước lập trình, và lập trình viên cũng không phải chỉ biết code. Đừng nghĩ rằng bạn chỉ cần tìm hiểu về lập trình, rồi chăm chăm học code là có thể trở thành lập trình viên.

II. Học lập trình có khó không?

Câu trả lời là Không. Đừng vội trách mình là thằng ba phải, hay bảo ông nói thế thì nói làm m* gì. Vì thực tế, nó là như vậy.
Mình năm nay 25 tuổi, bắt đầu học lập trình từ lớp 10, trải qua 5 năm đại học và 2 năm đi làm. Mình gặp nhiều bạn mà với họ việc lập trình còn khó hơn cả lên trời, dù cho các phương trình toán học tìm x, y, đạo hàm, nhị phân, ma trân,... họ giải nhoay nhoáy. Nhưng có những bạn tính nhẩm còn sai, thì việc học lập trình lại khá dễ dàng.
Cho nên học lập trình khó hay không, chẳng thể kết luận được qua một hai câu, cũng chẳng thể dựa vào đặc điểm kiểu "bạn học giỏi toán thì mới học được lập trình". Muốn biết dễ hay khó, chỉ có thử mới biết. Bạn cũng có thể tham khảo series Nhập môn lập trình với JavaScript của mình để biết rõ hơn lập trình là như thế nào.
À mà khoan, có điều này sẽ giúp bạn đánh giá được học lập trình khó hay không này, đó là bạn có đam mê nó không, nếu có thì sẽ dễ và ngược lại.

III. Các điểm sáng của nghề

Một vài đặc điểm khiến nghề lập trình có giá hơn so với nghề khác:

3.1 Dễ dàng có công việc tốt và lương cũng khá cao

Cái này dễ hiểu, vì ngành IT ở Việt Nam đang thiếu hụt rất nhiều nhân sự, nghĩa là số lượng đang không đáp được nhu cầu. Vì thế mà các công ty họ phải đưa ra các chính sách tốt để thu hút, hoặc giữ chân các nhân sự IT chất lượng.
Riêng đặc điểm nay thôi đã đủ để ngành IT sáng hơn đa số các ngành khác.

3.2 Cơ hội phát triển bản thân rộng mở

Khởi đầu bạn có thể là một lập trình viên đi làm thuê cho các công ty, nhưng sau đó một vài năm, bạn có thể là CEO, CTO của một startup công nghệ nào đó.
Cơ hội phát triển bản thân của ngành này cực kỳ rộng mở, giống như cánh cửa thần kỳ của Doraemon vậy, bạn chỉ cần mở ra, còn đi theo hướng nào, đi tới đâu thì quyết định là ở bạn. Không có gì giới hạn việc bạn "lớn" cả.

3.3 Có thể làm việc ở nhiều nơi trên thế giới

Lập trình là một nghề "toàn cầu", một trang web được lập trình tại Việt Nam cũng giống như một trang web được lập trình tại Mỹ, Úc, Canada. Chỉ cần có Tiếng Anh (đương nhiên là cả trình độ chuyên môn nữa) là bạn có thể làm việc ở nhiều quốc gia trên thế giới.
Lập trình cũng là một công việc lý tưởng để "Work from home", bạn có thể đang ăn phở ở quê nhưng lại làm việc cho một công ty ở xứ ăn "Hăm bơ gơ". Sống ở Việt Nam, nhưng thu nhập lại ở Mỹ. Ấy, đọc câu này nhiều bạn chắc sẽ ảo tưởng nghĩ thế này thì nhanh giàu lắm. Việc sống ở Việt nhưng thu nhập ở Mỹ là điều có thật, nhưng nó cũng tỷ lệ thuận với công sức bạn bỏ ra để vượt qua các khó khăn như khác ngôn ngữ, khác múi giờ, khác văn hóa, không tiện trao đổi. Nên nhớ "có làm thì mới có ăn", nếu không người ta đã giàu hết rồi.

3.4 Rất nhiều lĩnh vực cho bạn lựa chọn

Các lĩnh vực của lập trình rất rộng: lập trình web, lập trình ứng dụng di dộng, lập trình ứng dụng máy tính, lập trình thiết bị điện tử, lập trình ô tô, ... Chưa kể mỗi lĩnh vực kể trên lại có thể chia nhỏ được nữa. Nói chung là rất nhiều.

IV. Các điểm tối của nghề

Bên cạnh những điểm sáng như mặt trời, thì cũng vẫn tồn tại những điểm tối:

4.1 Kén người

Người chọn nghề, nhưng nghề cũng chọn người. Mà mình nghĩ chắc ngành nghề nào cũng vậy thôi chứ chẳng riêng nghề lập trình này. Nhưng thôi cứ kể ra để các bạn cùng biết.
Bạn phải là người say mê công nghệ: Công nghệ nó đổi từng ngày bạn ạ, công nghệ của năm nay chưa chắc áp dụng được cho năm sau. Bạn phải là người say mê công nghệ thì mới chạy theo được sự thay đổi nhanh hơn cả người yêu cũ trở mặt này.
Rất cần tư duy logic: Tư duy logic đặc biệt quan trọng trong lập trình, vì lập trình vốn dĩ là một chuỗi các sự kiện nối lại với nhau, kiểu nếu xảy ra A thì mới xảy ra B. Mình cũng không rõ làm thế nào để đánh giá một người có tư duy logic hay không, cái này bạn tự xem lại bản thân nhé.
Có lối sống lành mạnh: Đừng tin vào việc một lập trình viên thường xuyên phải thức đêm để hoàn thành công việc như mọi người vẫn nói. Mình không hoàn toàn phủ nhận điều này, có điều nó không thật sự THƯỜNG XUYÊN. Và nhiêu đó, không đủ để các bạn nghĩ rằng "Lập trình viên thì phải biết thức đêm". Thực tế, có lối sống lành mạnh (sức khỏe tốt, ít rượu bia, ít chất kích thích, ăn ngủ nghỉ đúng giờ) là một trong những yếu tố quan trọng của lập trình viên. Bởi tư thế làm việc là ngồi làm việc, ít đi lại, và cái đầu luôn trong tình trạng căng thẳng suy nghĩ mà lại cộng thêm lối sống không lành mạnh thì khác gì bạn đang "dùng đồ như phá".
Một số yếu tố khác có thể như: chịu được áp lực công việc cao, giữ đúng tiến độ,... nhưng mình cho rằng bất kỳ công việc nào cũng cần có những yếu tố này nên thôi không kể ra.
Đó, nghề lập trình nó kén người vậy đó. Tuy là bạn không cần phải có đầy đủ các yếu tố trên, nhưng càng thiếu thì càng giảm khả năng bạn trở thành lập trình viên giỏi.

4.2 Tuổi nghề thấp

Nghe các bậc tiền bối nói rằng tuổi nghề lập trình thường <= 35 tuổi. Không phải vì tuổi đó chúng "lú lẫn" tới mức không code được, mà tầm tuổi đó chúng ta "không đủ tuổi" để đọ độ nhiệt huyết với mấy anh thanh niên 20, 25. Ngoài 35 tuổi, chúng có nhiều vấn đề cần lo lắng hơn là sự nghiệp (thậm chí sự nghiệp đã ổn định), tuy không cố tình xao nhãng công việc, nhưng mỗi người chỉ có 24h, nên buộc chúng ta phải giảm sự tập trung vào công việc.
Nhưng cũng đừng lo quá, chẳng có ai code mãi đâu, khi có kinh nghiệm, bạn sẽ dần được bổ nhiệm những vị trí cao hơn như trưởng nhóm, trưởng phòng, quản lý dự án, hoặc startup công ty riêng... Vị trí càng cao, thì càng cần nhiều trải nghiệm, kinh nghiệm hơn là code. Hay thậm chí, trải nghiệm của bạn còn đáng giá hơn là code.

V. Lời kết

Theo mình đánh giá, mặc dù có cả điểm sáng và điểm tối nhưng suy cho cùng lập trình vẫn đem lại nhiều điều tốt đẹp cho những ai theo đuổi nó. Vì vậy, nếu thấy phù hợp, thì bạn cũng nên thử học lập trình xem sao, biết đâu bạn sẽ trở thành huyền thoại trong giới công nghệ.
----
Từ blog phambinh.net