Nhu cầu việc làm lớn, công việc đa dạng và thách thức, tiếp xúc với nhiều xu hướng công nghệ mới, mức lương khá cao, … Vì thế, ngày càng có nhiều bạn trẻ thích ngành lập trình, nhưng đa số lại hoang mang không biết nên bắt đầu từ đâu? Những yếu tố cần có để theo nghề lập trình!
Nhân mùa thi THPT quốc gia 2019 đang diễn ra sôi nổi trên cả nước, câu chuyện cũ “chọn ngành, chọn trường” một lần nữa được đem ra bàn luận. Với mong muốn giúp những bạn đã và đang có dự định trở thành lập trình viên có cái nhìn chân thực nhất về nghề, để có sự lựa chọn đúng đắn cho tương lai. Chúng tôi đã có buổi trò chuyện cùng PGS. TSKH. Nguyễn Văn Tâm – Đại Học Télécom ParisTech, Pháp & Đại học Stanford, Mỹ. Anh Tâm là người có nhiều năm tâm huyết với ngành CNTT, sẽ giúp chúng ta phác họa nên chân dung của một lập trình viên, và những tố chất cần có ở một lập trình viên thành công.
Học lập trình phải bắt đầu từ đam mê
Đã không còn cái thời lập trình chỉ dành cho những thiên tài như Bill Gates hay Mark Zuckerberg. Giờ đây với sự trợ giúp của Internet, bất kể ai cũng có thể tự học lập trình. Tuy nhiên, để theo đuổi lập trình như một nghề là điều hoàn toàn không dễ dàng. Hãy xác định rằng bạn phải thực sự nỗ lực và đánh đổi nhiều thứ để theo đuổi điều bạn muốn.
Con đường trở thành lập trình viên không chỉ dài, mà còn gian nan vô cùng: là phải “tiêu thụ” khối lượng kiến thức cơ sở khổng lồ về cấu trúc dữ liệu, thuật toán, cơ sở dữ liệu, Access, …Đòi hỏi bạn phải đầu tư không dưới 4 năm ở các trường Đại học với thái độ học tập cực kỳ nghiêm túc. Đó là còn chưa kể đến bạn phải cần ít nhất từng đó thời gian để tích lũy được kinh nghiệm và thử thách bản thân qua các dự án thực tế.
Thường xuyên phải đối mặt với mệt mỏi, căng thẳng và áp lực, làm thêm giờ chạy đua với thời gian để đảm bảo tiến độ dự án, hay thức trắng đêm để fix bug. Đôi khi “đứa con thai nghén” của bạn đã được ra đời nhưng đáp lại những ngày “vật lộn” của bạn lại chỉ là những cái lắc đầu từ phía khách hàng. Và còn vô vàn khó khăn khác mà lập trình viên phải đối mặt.
Do đó, học lập trình không xuất phát từ đam mê thực sự rất khó để thành công, khó có đủ động lực để vượt qua những khó khăn bước đầu ấy.
Nhưng đam mê thôi là chưa đủ
Tôi từng nói rằng: Hãy yêu những gì bạn làm và làm những gì bạn yêu. Nhưng tôi chưa bao giờ nói chừng đó là đủ để mang lại thành công – Steve Jobs-
Theo đuổi giấc mơ, thoả mãn đam mê là cánh cửa dẫn tới thành công, điều này là thứ chúng ta vẫn được nghe rất nhiều, thế nhưng trong thế giới lập trình, chỉ có đam mê thôi vẫn là chưa đủ.
Để đi xa trong ngành lập trình cần hội tụ đủ các yếu tố: Đam mê – Kinh nghiệm – Tư duy độc lập – Khả năng tự học – Tiếng Anh – Kỹ năng mềm– Nguyễn Văn Tâm – CEO INTEK
- Tiếng Anh
Các ngôn ngữ lập trình, platform, framework, các công cụ hỗ trợ, các diễn đàn trao đổi hiện nay đều dùng tiếng Anh là ngôn ngữ chính. Rõ ràng lập trình viên không thể chỉ giao tiếp giới hạn trong cộng đồng lập trình viên Việt Nam, trong khi ngoài kia cộng động lập trình viên thế giới bao la rộng lớn vô cùng.
Thêm vào đó, “ Xu hướng trong thời gian tới sẽ ngày càng có nhiều công ty, tập đoàn đa quốc gia muốn đầu tư vào thị trường công nghiệp phần mềm tại Việt Nam, mở ra nhiều cơ hội việc làm với những đãi ngộ hấp dẫn, lương cao môi trường tốt dành cho lập trình viên thì tiếng Anh chính là cầu nối giúp các lập trình viên tiếp cận những cơ hội đó” – anh Tâm cho biết thêm
- Kỹ năng mềm
Theo một báo cáo mới đây, được thực hiện bởi West Monroe Partners, thiếu kỹ năng mềm là nguyên nhân cản trở nhiều lập trình viên có kinh nghiệm thăng tiến trên con đường sự nghiệp.
Là một lập trình viên chắc chắn phải có kỹ năng lập trình nhưng kỹ năng mềm mới thực sự là yếu tố giúp các nhà quản lý quyết định liệu bạn có phù hợp với công ty hay không!
Kỹ năng làm việc nhóm, giải quyết vấn đề, giao tiếp, quản lý thời gian là những kỹ năng mềm cần được “ưu tiên hàng đầu” đối với mọi lập trình viên.
- Tư duy độc lập
Trong lĩnh vực CNTT, sự sáng tạo trong giải pháp vô cùng quan trọng. Bạn phải không ngừng tư duy để tìm ra cho mình một hướng đi mới, không theo một lối mòn cũ, phải sáng tạo để đưa ra các dòng code mới khác biệt hoàn toàn nhằm tạo một sản phẩm mới có khả năng tối ưu hóa vấn đề. Bạn phải có tư duy độc lập, bạn mới có thể tư duy khác người, sáng tạo và khác biệt.
- Khả năng tự học
Trong bối cảnh ngành CNTT đang phát triển rất nhanh và thay đổi hàng giờ, thậm chí bạn cũng không kịp có thời gian để trở nên tinh thông dù chỉ một công nghệ hoặc framework xác định nào đó — bởi vì mọi thứ thay đổi quá nhanh! Nếu bạn thực sự muốn có một kỹ năng giúp bạn luôn thuận lợi trong nghề lập trình, thì hãy học cách làm thế nào không bị phụ thuộc vào bất cứ môi trường nào vẫn có thể chủ động nâng cao kiến thức mới, tìm hiểu các công nghệ mới; từ đó bạn có thể tự giải quyết các vấn đề 1 cách sáng tạo và đổi mới.
- Kinh nghiệm thực tiễn qua nhiều dự án
Những kiến thức học được trên giảng đường hay qua sách vở, chỉ mang tính chất lý thuyết nền tảng và đôi khi xa vời thực tế. Chỉ có trải qua các dự án thực tế thì lập trình viên mới học hỏi nhiều và nhanh những kinh nghiệm từ các lập trình viên đi trước, rèn luyện khả năng viết code, sáng tạo, tư duy giải quyết vấn đề. Cập nhật những công nghệ mới, trải nghiệm công cụ lập trình mới giúp cho công việc học lập trình của bạn tốt hơn. Bạn thậm chí có thể tự mình tạo ra các dự án của riêng mình.
Càng tham gia vào nhiều dự án khả năng xin được việc sau khi ra trường của bạn càng cao, đây là một lợi thế giúp bạn ghi điểm trong mắt nhà tuyển dụng.