Nhiều bạn mới bắt đầu học lập trình thường phân vân "nên chọn học lập trình web hay lập trình di động" và không biết phải chọn cái nào, cùng đọc bài viết dưới đây để tìm được câu trả lời phù hợp nhé! 

Đầu tiên, hãy tập trung xuất sắc cho một và chỉ một kỹ năng. Đối với những người mới bắt đầu, trong khoảng thời gian 2 năm đầu tiên, bạn chỉ nên tập trung và rèn luyện xuất sắc một công nghệ, hoặc LẬP TRÌNH WEB, hoặc LẬP TRÌNH DI ĐỘNG

Đối với lập trình web, bạn học và tập trung sử dụng thành thạo một framework tạo ra sản phẩm là các website cụ thể. Đối với lập trình di động, chỉ cần xuất sắc một trong hai nền tảng: Android hoặc IOS là thoải mái xin được việc. 

1. Lập trình web

Nếu bạn chọn lập trình web, mình có một vài lưu ý sau đây.

Ngành này rất rộng, nhưng có thể tóm lại 2 mảng chính là FrontendBackend. Hiển nhiên, để lập trình web bạn cần phải biết HTML, CSS và JavaScript - đó là những ngôn ngữ dễ học ban đầu. Nhưng đừng nhầm lẫn với những ngôn ngữ dễ dàng tiếp cận với khả năng thực sự để có thể làm việc. Ví dụ, để tạo ra được một thư viện JavaScript tốt tương thích nhiều trình duyệt sẽ cần rất nhiều thời gian và kinh nghiệm. Vai trò của lập trình viên Frontend sẽ càng lớn nếu anh ta tận dụng công nghệ để giúp trang web thân thiện hơn, còn không, vị trí của anh ta sẽ rất mờ nhạt bởi công ty có thể mua được những giao diện chuyên nghiệp bán sẵn với giá rất rẻ. 

 

giao-dien-co-san

 

Đối với Backend, lập trình viên cần phải nắm vững một ngôn ngữ lập trình và một framework, ngoài ra lập trình viên Backend cần phải nắm rõ việc truy xuất với các CSDL phổ biến như MySQL, PostgreSQL hay MongoDB. Kinh nghiệm về bảo mật, triển khai website lên web cũng là yêu cầu cần thiết. Nhìn chung, theo mình công việc của lập trình viên Backend nặng nhọc, đòi hỏi thời gian học, thực hành, tích lũy kinh nghiệm tối thiểu 24 tháng.

 

backend-techmaster

 

Ở nhiều công ty gia công phần mềm (outsourcing), vì không thể kiếm được lập trình viên Backend nhiều kinh nghiệm, họ sẽ chia nhỏ công việc cho vài lập trình viên tập trung làm đi làm lại một kỹ năng chuyên môn. Lúc này công việc của lập trình viên Backend là một kỹ năng nhỏ khá đơn điệu, khó hình dung ra tổng thể ứng dụng được xây dựng như thế nào. 

Mức lương khởi điểm tại Hà Nội cho lập trình viên web rất đa dạng.

  • Với một lập trình viên non tay nghề, dưới 6 tháng kinh nghiệm, chưa từng có việc làm thì có một chỗ ngồi, một máy tính và được tham gia dự án nhận thù lao 500,000 VND/ tháng không hề tệ chút nào.  
  • Nhưng với lập trình viên web đã làm ứng dụng cụ thể, tích lũy được nhiều kỹ năng, tiếng Anh tốt, nắm vững quy trình làm dự án thì mức lương chắc chắn từ 10,000,000 VND trở lên

Để nắm vững nhiều kỹ thuật khó trong lập trình web cần nhiều năm, và không phải ai cũng kiên trì để làm được. Việc học lập trình web đòi hỏi các bạn phải học nhiều ngôn ngữ, nhiều công nghệ nhưng mình vẫn mạnh dạn khuyên các bạn không quá giỏi, không có background công nghệ thông tin học lập trình web bởi đây là một thị trường rất rộng, màu mỡ, thượng vàng hạ cám, giỏi thì kiếm, còn kém nếu đứng đúng chỗ vẫn có thể sống được

2. Lập trình di động

lap-trinh-di-dong-techmaster

Nếu bạn chọn lập trình di động, đây là một số kinh nghiệm của mình. Học lập trình di động dễ hơn học lập trình web ở mấy điểm. 

Thứ nhất, chỉ phải học một ngôn ngữ lập trình: Swift, hoặc Objective C, hoặc Java, hoặc C++. 

Thứ hai, cả hai nền tảng IOS và Android đều cung cấp rất đầy đủ các API, code mẫu, các pattern để lập trình viên học và tạo ra ứng dụng. 

Lợi thế thứ ba là các công cụ lập trình đều là các IDE chính hãng như Xcode hay Android Studio, vừa tốt vừa miễn phí. 

Thứ tư, các hãng Apple hay Google đều hỗ trợ lập trình đi theo nền tảng của họ rất nhiệt tình. Còn đối với web, hầu hết các framework đều miễn phí và opensource, hỗ trợ từ cộng đồng. Rất nhiều ứng dụng di động hiện nay kết nối, lưu trữ và truy xuất dữ liệu trên internet thực chất nơi lưu trở về dữ liệu là những web service backend do đội lập trình web backend xây dựng. Công việc của lập trình viên ứng dụng di động giống với lập trình viên Frontend ở trên. 

Nếu không có ý tưởng nổi trội hoặc năng khiếu đồ họa, lập trình viên di động vẫn có thể kiếm việc ở các công ty gia công, phát triển ứng dụng di động cho doanh nghiệp. Ở đó di động hóa hoạt động nghiệp vụ cần hơn là tạo ra một ứng dụng giải trí. Nhưng nói như thế không có nghĩa là lập trình viên di động không có áp lực về rủi ro.

Để mình kể một số vấn đề mình gặp phải khi làm mobile app

Trong một dự án mobile kết hợp backend, mọi người luôn muốn xem sản phẩm di động ngay và luôn; trong khi lập trình viên di động lại phụ thuộc vào dữ liệu và vận hành của backend. Chỉ trích trước tiên luôn luôn đổ lên ứng dụng di động như: lượt tải thấp, giao diện khó dùng, mất kết nối, ...

 

bug-lap-trinh-di-dong-techmaster

 

Thứ hai là quy trình duyệt app chặt chẽ của Apple và Google buộc bạn phải tuân thủ, không phải cái gì bạn muốn làm là được. Thứ ba là tỉ lệ cạnh tranh rất cao trên các chợ ứng dụng, hơn nữa, ứng dụng di động lại clone rất dễ dàng. Và cuối cùng, hiện tại lập trình viên web hoàn toàn có thể lập trình các ứng dụng di động bằng các ngôn ngữ như JavaScript, sử dụng React Native, cạnh tranh trực tiếp với lập trình viên native app. 

 

lap-trinh-di-dong-react-native

 

Vấn đề cuối cùng mình muốn chia sẻ là việc chuyển đổi từ lập trình web sang mobile và ngược lại. Nếu đã code IOS Swift, hiện đã có một số web framework viết bằng Swift như Vapor, Kitura, perfect.org, swiftexpress.io cho bạn sử dụng. Nếu là lập trình viên Android thì Java là một ngôn ngữ quá phổ biến với nhiều web framework tốt như Spring, số lượng tuyển dụng Spring ở Việt Nam rất lớn. Còn nếu đang là lập trình viên web, hãy thử React Native để tạo ứng dụng di động cross platform bằng JavaScript nhé! 

Tham khảo các khóa lộ trình dành cho người mới bắt đầu và có cam kết đầu ra giới thiệu việc làm tại Techmaster Vietnam: