Huyền Trang (ghi)
Tối 6/9 vừa qua, sự kiện thứ 3 trong chuỗi livestream Hỏi đáp với chuyên gia IT – nằm trong chương trình #Mentor4All https://goo.gl/D1uGEx lần đầu tiên diễn ra trên Cộng đồng cùng học lập trình kiểu FUNiX. Trong suốt một giờ giao lưu trực tuyến, bloger Tôi đi code dạo – Phạm Huy Hoàng đã giải đáp các thắc mắc của khán giả và chia sẻ rất cởi mở và hóm hỉnh về con đường tự học để trở thành lập trình viên.
Dưới đây là một số câu hỏi – đáp trong phần livestream với FUNiX của anh Phạm Huy Hoàng.
Câu hỏi: Anh Hoàng thấy ngành lập trình có gì vui?
Anh Phạm Huy Hoàng: Thật ra ngành lập trình có cái vui thứ nhất là được trả tiền để làm những gì mình thích, chỉ cần lên ngồi máy tính và giải đố rồi cuối tháng lấy lương mang về. Bản chất của việc lập trình không phải là một việc nặng nề, lặp đi lặp lại mà thường đòi hỏi suy nghĩ và tư duy trí óc nên nếu bạn thích giải toán, giải đố thì nên đi làm lập trình sẽ được giải đố thoải mái và cuối tháng còn có tiền mang về.
Cái vui thứ hai đó là lập trình làm ra được rất nhiều thứ hay ho và thú vị. Giống như mình cách đây gần 1 năm có làm ra phần mềm Nhận diện Idol Nhật Bản được rất nhiều người biết đến, chỉ sau nửa ngày đã có hơn 80.000 lượt xem.
Câu hỏi: Gần đây trên một số tờ báo có đề cập đến thực trạng khan hiếm nhân lực và lương IT cao ngàn đô, việc này đang gây ra giả tưởng về bong bóng thị trường IT. Vậy anh Hoàng nghĩ về điều này như thế nào?
Anh Phạm Huy Hoàng: Thực tế mức lương nghìn đô là có thât. Có thể thấy trên một số trang như IT việc, Top IT họ cũng tuyển nhân lực lương nghìn đô thật nhưng dành cho những vị trí giỏi có từ 2-3 năm kinh nghiệm trở lên. Và số đó thì không có nhiều, ví dụ 10 người ra trường thì chỉ có 2-3 bạn đạt mức lương đó thôi.
Bong bóng nhân lực bởi vì ngành IT hiện đang rất thiếu người giỏi. Các trường đào tạo ra không đủ người thậm chí không đủ trình độ so với mức các nhà tuyển dụng yêu cầu.
Câu hỏi: Vậy theo anh tự đánh giá anh đã thuộc top nhân lực chất lượng cao hay chưa?
Anh Phạm Huy Hoàng: Theo mình nghĩ là chưa đâu (cười). Mức lương hiện tại bên Singapore thì mình không công bố được nhưng không dưới 3000 đô nhưng không biết về Việt Nam mình có được 1000 đô không nữa.
Câu hỏi: Anh có thể chia sẻ với những người mới bắt đầu về những khó khăn sẽ gặp trong những ngày đầu không ạ?
Anh Phạm Huy Hoàng: Khó khăn đầu tiên là lượng kiến thức khá lớn và khó từ C, C++ cho đến những kiến thức chuyên sâu hơn.
Khó khăn thứ 2 là khi đã tiêu hóa được những kiến thức đó thì đến khi đi làm lại có quá nhiều kiến thức cần phải học nữa nên rất dễ lạc hướng vì không biết bắt đầu từ đâu. Ngành CNTT rất rộng, một người dù đã đi làm 5,10 năm có thể chỉ giỏi về một ngành hẹp chứ không thể nào bao quát hết tất cả kiến thức.
Trên mạng có rất nhiều tài liệu nhưng đó cũng là một trong những khó khăn vì bạn cần phải phân loại và sàng lọc nó.
Câu hỏi: Vậy anh có thể giới thiệu và chia sẻ một vài tài liệu cho người mới bắt đầu hoặc đang quan tâm đến lập trình không ạ?
Anh Phạm Huy Hoàng: Theo mình, ngành CNTT không nên học theo trào lưu. Mình có viết một cuốn ebook miễn phí về Nhập môn lập trình không code trên Tôi đi code dạo (link sách: http://hoclaptrinh.toidicodedao.com/) không dạy về lập trình mà chỉ ra cho người học biết cần những kỹ năng, thái độ gì từ đó biết mình có thích và phù hợp hay không rồi mới theo học.
Câu hỏi: Anh Hoàng có phải là một người đã chọn con đường tự học lập trình hay không?
Anh Phạm Huy Hoàng: Khi mới bắt đầu, lập trình viên có 2 loại đó là học ở trường, lớp, trung tâm và tự học. Nhưng sau khi đi làm thì tất cả sẽ đều phải tự học vì các kiến thức mà nhà trường dạy chỉ ở mức cơ bản.
Bản thân mình khi bắt đầu cũng theo học chính quy, nhưng ngay từ năm 3 đại học mình đã cảm thấy những kiến thức được học ở trường không đủ để đi làm nên mình đã quyết định tự học.
Học lập trình cũng giống như “có bệnh thì vái tứ phương”, khi đó cái gì không biết thì tìm trên Google và thấy ebook gì thì đọc ebook đấy. Nói chung nên học cơ bản trước, học cách viết chương trình cho nó chạy đã rồi mới tìm tài liệu tiếp.
Câu hỏi: Vậy khi tự học anh thường học qua sách vở hay qua những video trên mạng?
Anh Phạm Huy Hoàng: Mình thì thích đọc sách nên thường học qua sách hơn. Tuy nhiên, thường khi gặp những công nghệ mới mình thường lên trang Googlesite.com (một trong những trang web dân lập trình hay vào nhất vì thường xuyên cập nhật những công nghệ mới bằng tiếng Anh mà tiếng Việt chưa có) xem video và làm theo trước. Sau đó, mình lên Amazon kiếm một cuốn Ebook liên quan có nhiều review để đọc lại. Bên cạnh đó cần phải có kỹ năng đọc và nghe tiếng Anh.
Câu hỏi: Anh có thể dự đoán về xu hướng công nghệ hiện nay được không, cả về front-end lẫn back-end?
Anh Phạm Huy Hoàng: Mình có thể dự đoán được nhưng đúng hay không thì mình không biết đâu nhé (cười). Front-end thì đang rất loạn như mê hồn trận vì các công nghệ ra mắt rất nhanh khiến người học dễ “tẩu hỏa nhập ma”. Nên những bạn có ý chí hơi yếu đuối định học Front-end bây giờ thì mình khuyên nên học từ từ chậm rãi.
Còn back-end ở Việt Nam thì không thay đổi mấy. Ngôn ngữ chính vẫn là Javascript, C#, PHP. Nếu các bạn còn lo lắng thì có thể học 3 ngôn ngữ đó mà không lo thất nghiệp. Còn những công nghệ mới ra mắt thì mình không đoán trước được, cứ để chờ 1,2 năm xem nó sống hay nó chết, nếu sống thì theo chết thì thôi (cười).
Câu hỏi: Vậy theo anh ngôn ngữ lập trình nào là tốt nhất và dễ kiếm tiền nhất?
Anh Phạm Huy Hoàng: Không có ngôn ngữ nào tốt nhất. Ngôn ngữ là công cụ. Coder như thợ xây, còn ngôn ngữ là công cụ như xẻng, xúc, gạch,…mỗi thứ có một công dụng riêng. Ví dụ làm web thì dùng Java, PHP, C#, còn để làm vi mạch thì dùng C++.
Dễ xin việc nhất thì có thể là Java, PHP, C#, còn ngôn ngữ hay nhất thì lại mang tính khách quan thôi nhưng trong công việc dù mình có ghét ngôn ngữ nào đi chăng nữa thì mình vẫn phải làm việc được với nó.
Câu hỏi: Em đang thử việc ở FPT Software môi trường vui nhưng lương quá bèo. Theo anh, em có nên làm ở FPT Software lúc mới ra trường không anh?
Anh Phạm Huy Hoàng: Mình nghĩ phải chịu khó hy sinh những năm đầu tiên sau khi ra trường nếu bạn chưa đi thực tập trước đó. Hồi mới làm ở FPT Software, lương của mình cũng chỉ ở mức 7 triệu. Giai đoạn đầu mới ra trường thì đừng nên quan tâm quá đến mức lương mà hãy quan tâm đến cơ hội và những gì mình sẽ học được. Hãy coi đây là giai đoạn bước đệm để học và lấy kinh nghiệm. Ngành lập trình thì nhu cầu tuyển dụng rất cao nhưng nếu bạn không có năng lực sẽ không thể làm được.
Câu hỏi: Anh nghĩ sao về việc tự học ngôn ngữ PHP?
Anh Phạm Huy Hoàng: Theo mình thì bạn nên tìm trung tâm để học những kiến thức cơ bản vì tự học sẽ khá là khó. Vì PHP là ngôn ngữ khá phổ biến nhưng tài liệu ở Việt Nam rất “thượng vàng hạ cám”, thường là những kiến thức sai. Giai đoạn đầu tự học như thế sẽ hình thành thoái quen và suy nghĩ sai sẽ không tốt. Nếu không bạn có thể học hẳn những ngôn ngữ cao hơn như C# và Java thì tài liệu “ok” hơn.
Câu hỏi: Anh nghĩ sao về công việc của lập trình viên trong tương lai khi AI gần như sẽ thay thế con người?
Anh Phạm Huy Hoàng: AI cũng đang phát triển nhưng chưa tới mức sẽ hoàn toàn thay thế con người mà thay thế lập trình viên thì ngày đó còn xa vời lắm. Vì lập trình không phải chỉ là code, mà còn làm việc nhóm, thiết kế hệ thống, quan hệ khách hàng,…cái đó AI chưa thể làm được.
Câu hỏi: Theo anh nên đi thực tập vào đầu hay cuối năm 3 đại học?
Anh Phạm Huy Hoàng: Mình nghĩ là càng sớm càng tốt nhưng nói chung cũng còn tùy xem bạn sắp xếp thời gian, công việc như thế nào. Làm sao để sắp xếp hợp lý việc thực tập để không ảnh hưởng đến việc học và thời gian ra trường.
Câu hỏi: Làm thế nào để cải thiện tư duy lập trình khi mới bắt đầu theo học ạ?
Anh Phạm Huy Hoàng: Theo mình khi mới bắt đầu học, cách hay nhất là làm bài tập. Hãy làm thật nhiều vì luyện tập là con đường nhanh nhất để cải thiện mọi thứ. Giống như muốn có cơ thì phải tập Gym, còn muốn giỏi thuật toán và lập trình thì phải code và làm bài tập nhiều. Làm nhiều ắt giỏi thôi.
Câu hỏi: Anh có thể chia sẻ kỹ hơn về vai trò của Framework trong lập trình không?
Anh Phạm Huy Hoàng: Framework cũng là công cụ nhưng ở bậc cao. Trong xây dưng, nó giống như máy xúc, máy ủi,…giúp công việc xây dựng phần mềm nhanh hơn, hiệu quả, tiết kiệm thời gian và công sức. Nếu biết framework thì khi đi làm bạn sẽ tiết kiệm được thời gian học và khả năng được tuyển dụng sẽ cao hơn.
Câu hỏi: Khi học Đại học thì nên học nhiều ngôn ngữ hay nên chuyên một ngôn ngữ? Và cơ hội việc làm của C# và Java khác nhau như thế nào?
Anh Phạm Huy Hoàng: Theo mình ở đại học học chuyên hay nhiều không quan trọng vì mỗi ngôn ngữ bạn chỉ học khoảng 2 đến 3 tháng và đó chỉ là những gì cản bản nhất. Nhưng khi đi làm thì nên chuyên một ngôn ngữ. Theo mình thấy thì cơ hội việc làm là ngang nhau, tuy Java có nhỉnh hơn 1 chút nhưng mức lương thì như nhau.
Câu hỏi: Để tự viết một ứng dụng hoàn chỉnh thì cần những kiến thức gì ạ?
Anh Phạm Huy Hoàng: Thật ra đây là một câu hỏi khá rộng vì ứng dụng bản thân nó có rất nhiều nghĩa, bạn viết một ứng dụng di động nhỏ cũng là ứng dụng, như Facebook cũng là một ứng dụng. Ứng dụng nhỏ thì chỉ cần biết code là được, còn những ứng dụng lớn thì cần biết cách thiết kế giao diện, biết back-end và front-end và biết thiết kế hệ thống để làm sao nó phục vụ được hàng trăm triệu người mà không bị sập…
Mời các bạn tiếp tục theo dõi những sự kiện tiếp theo trong chuỗi livestream Hỏi đáp với chuyên gia IT – nằm trong chương trình #Mentor4All https://goo.gl/D1uGEx của FUNiX trên Group Cộng đồng cùng học lập trình kiểu FUNiX.