Lập trình di động hay lập trình web: Nên chọn nghề gì?
VTC Academy VTC Academy
Lập trình di động hay lập trình web: Nên chọn nghề gì?

Lập trình di động hay lập trình web: Nên chọn nghề gì?

Ngày đăng 29/11/2018

Tập trung xuất sắc cho 1 kỹ năng

  • Trong khoảng thời gian 2 năm, chỉ nên tập trung học, rèn luyện xuất sắc 1 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 tập trung dùng thành thạo 1 framework, lập trình ra ứng dụng cụ thể. Đối với di động chỉ cần xuất sắc 1 nền tảng: iOS hoặc Android là đủ sống.
Hãy chọn 1! và làm xuất sắc

Nếu bạn lập trình web

  • Lập trình web rất rộng. Nó bao gồm: lập trình front end (HTML, CSS, JavaScript), thiết kế UI/UX, lập trình back end, triển khai hệ thống web. HTML, CSS, JavaScript là ngôn ngữ dễ học lúc đầu, gõ sai cú pháp thì trình duyệt cố gắng giảm thiểu độ nghiêm trọng của lỗi. Trên Internet có rất nhiều những thư viện, mã nguồn mở giúp lập trình front end rất dễ dàng. Lập trình viên khôn ngoan giảm được 60% sức lực bằng cách dùng lại thư viện. Nhiều người lẫn lộn việc dễ dàng tiếp cận HTML, CSS, JavaScript, dùng lại mã với năng lực thực sự về 3 ngôn ngữ này của bản thân. Tạo ra thư viện front end JavaScript tốt tương thích nhiều trình duyệt mất nhiều thời gian và kinh nghiệm. Lập trình viên front end chỉ máy móc dùng lại theme, thư viện có sẵn, 5-10 năm lập trình cũng chỉ tương đương lập trình viên 1 năm kinh nghiệm.
  • Công nghệ lập trình giao diện ngày một cải tiến: mô hình đồng bộ dữ liệu 2 chiều, kiến trúc MVVM, công nghệ web socket giúp giao diện tự động cập nhật thay vì yêu cầu rồi trả về trang. Vai trò của lập trình viên giao diện ngày càng lớn nếu anh ta tận dụng công nghệ mới để 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 với bởi công ty có thể mua những giao diện chuyên nghiệp bán sẵn với giá rất rẻ.
  • Lập trình viên web cần phải làm việc theo nhóm 2 – 7 người. Trường hợp đặc biệt, dự án nhỏ, dùng CMS sẵn có thể làm việc đơn lẻ.
  • Công việc của chuyên gia thiết kế UI/UX khác so với lập trình viên front end. Cả ứng dụng di động và ứng dụng web đều cần UI/UX. Hiện Techmaster chỉ có một khóa học buổi tối, ngắn để chia sẻ kinh nghiệm thiết kế UI/UX.
  • Lập trình viên web back end cần phải nắm vững 1 ngôn ngữ lập trình và 1 framework. (PHP – Laravel, Phalcon), (Ruby – Rails), (Python-Django, Tornado), (Node.js-Express, Hapi.js, Mean, Sails, Arrowjs.io). Ngoài ra lập trình viên back end còn phải nắm rõ truy xuất dữ liệu xuống các cơ sở dữ liệu: MySQL, Postgresql, MongoDB. Kỹ nghiệm bảo mật, triển khai web site lên Internet cũng là yêu cầu. Nhìn chung công việc của lập trình viên web back end 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. Ở nhiều công ty gia công phần mềm vì không thể kiếm được lập trình viên back end 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 1 kỹ năng chuyên môn. Khi này công việc của lập trình viên back end 1 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. Tuy nhiên đây là cơ hội cho học viên thực tập 6 tháng tại Techmaster xin được việc làm.
  • 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ề < 6 tháng, chưa từng có việc làm, có một chỗ ngồi, một máy tính và được tham gia dự án và nhận thù lao 500k/tháng không 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 8 triệu/tháng thực ra là thấp. Nhà tuyển dụng thường trả ép đối với những lập trình viên lần đầu đi xin việc.
  • Để nắm vững nhiều kỹ thuật khó trong lập trình web sẽ mất 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 phải học nhiều ngôn ngữ hơn. Nhưng tôi vẫn mạnh dạn khuyên các bạn không quá giỏi, không background CNTT 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, đứng đúng chỗ vẫn sống tạm được. Với lập trình di động không có chỗ cho lập trình viên trung bình.

Xem thêm:  18 Website tuyệt vời giúp bạn tự học lập trình Web

Nếu bạn lập trình di động

  • Trái với nhiều người nghĩ, học lập trình di động dễ hơn lập trình web ở mấy điểm:
    • Chỉ phải học 1 ngôn ngữ lập trình hoặc Swift hoặc Objective-C hoặc Java hoặc C++
    • Nền tảng iOS, Android cung cấp rất đầy đủ API, code mẫu, pattern để lập trình viên học và tạo ra app
    • Công cụ lập trình IDE chính hãng (XCode, Android Studio) vừa tốt vừa miễn phí. Đối với web, PHP Storm, WebStorm là IDE lập trình tốt nhưng phải mua.
    • Các hãng Apple, Google hỗ trợ lập trình đi theo nền tảng của họ rất nhiệt tình. Đối với web, hầu hết các framework là miễn phí và open source, hỗ trợ từ cộng đồng.
  • Ngôn ngữ lập trình di động hầu hết kiểm soát kiểu rất chặt, biên dịch ra file chạy mã nhị phân. Do đó, nếu gõ ẩu, sai logic, ứng dụng không chạy hoặc đổ vỡ.
  • Rất nhiều ứng dụng di động kết nối lưu- 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 back end do đội lập trình web back end 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 front end ở trên.
  • Nếu không có ý tưởng nổi trội, năng khiếu đồ họa, lập trình viên di động vẫn có kiếm việ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 tạo ra một ứng dụng giải trí.
  • Áp lực, rủi ro đối với lập trình viên di động:
    • Trong dự án mobile + back end, 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 dữ liệu, vận hành của back end. Chỉ trích trước tiên luôn đổ lên ứng dụng di động: lượt tải thấp, giao diện khó dùng, mất kết nối
    • 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à được.
    • Tỷ lệ cạnh tranh trên các chợ app rất cao. Ứng dụng di dộng clone khá dễ dàng.
    • Đối với ứng dụng giải trí, giữ chân người dùng trong một rừng app mới xuất hiện hàng ngày hoàn toàn không đơn giản
    • Lập trình viên web có thể lập trình ứng dụng di động bằng ngôn ngữ JavaScript khi dùng React Native, iOnic -> cạnh tranh trực tiếp với lập trình di động native app.
  • Trong khoảng 24 tháng đầu, lương của một lập trình viên di động có thể sẽ cao hơn đồng nghiệp web vì: số lượng lập trình viên di động chuyên nghiệp hiện còn thiếu. Tuy nhiên sau đó thì chưa chắc nếu các lập trình viên web tiếp tục nâng cấp trình độ và trở thành full stack web developer. Full stack web developer yêu cầu nhiều kỹ năng kết hợp, hiểu biết tổng quan hệ thống, rõ ràng, đãi ngộ phải tốt hơn.

Quy trình phát triển ứng dụng di động

Chuyển từ di động sang web và ngược lại

Trong 18-24 tháng đầu tiên học lập trình web hay di động, tôi chân thành khuyên các bạn hãy tập trung làm tốt một công nghệ, một framework, tham gia dự án không cần nhiều nhưng đủ một vòng đời sản phẩm từ thiết kế đến lúc phát hành chạy thật. Tuyệt đối không nên học để biết mỗi thứ một tý. Chỉ có những chuyên gia giỏi mới kiếm được tiền tốt, những anh chàng học việc thường sẽ không có lương hoặc lương thấp. Câu nói “Nhất nghệ tinh” chưa bao giờ sai cả. Kinh nghiệm 10,000 giờ bay liên tục trong khoảng 6 năm bạn mới là chuyên gia trong lĩnh vực hẹp bạn đang làm. Nếu buộc phải chuyển từ di động sang web và ngược lại, thì đây là một số kinh nghiệm:

  • Bạn lập trình iOS Objective-C, hãy chuyển sang Swift. Swift có nhiều lựa chọn mở hơn để lập trình web:
  • Bạn lập trình iOS Swift, hãy chú ý đến Swift 3, XCode 8 sẽ được Apple giới thiệu tháng 9/2016. Hiện đã có một số web framework viết bằng Swift như Vapor Web FrameworkIBM KituraPerfect.orgSwiftExpress.io . Khi Swift 3 ra mắt số lượng web framework cho Swift sẽ phát triển rất nhanh, sẽ vượt cả Golang, bởi số lượng lập trình viên Swift gia tăng nhanh hơn Golang, Elixir, Ruby, PHP.
  • Bạn lập trình Android. Java vốn là ngôn ngữ lập trình phổ biến số 1 hiện nay, bạn có thể chọn học SpringSpark. Spark sẽ dễ học hơn. Nhưng Spring có nhiều việc làm và dự án thật hơn ở VN.
  • Bạn lập trình web, hãy thử React Native hoặc ionic để tạo ứng dụng di động cross platform bằng ngôn ngữ JavaScript.

Nguồn: Techtalk

Chúc các bạn thành công!

Hãy bắt đầu sự nghiệp của bạn bằng việc tham gia khóa học lập trình web full-stack cơ bản và nâng cao tại Học viện VTC, nơi mọi ước mơ của bạn sẽ nhanh chóng được thực hiện.

Khóa học chuyên nghiệp Lập trình Web Full-stack:

  • Thời gian: 6 tháng (3 buổi tối/ tuần)
  • Chứng chỉ: Chứng chỉ đào tạo Lập trình Web Full-stack tại VTC Academy
  • Cam kết: Bảo hành việc làm trong 3 năm (thu nhập 6-12 triệu)
  • Đăng ký trực tuyến: Tại Đây

Khóa học dành cho:

  • Sinh viên năm 3,4 chuyên ngành CNTT tại các trường CĐ,ĐH
  • Người đi làm đã có kiến thức nền tảng về lập trình

Xếp hạng: 0 / 5. Lượt bình chọn: 0

Rất tiếc vì trải nghiệm không tốt của bạn về bài viết này!

Bạn có thể cho chúng tôi biết bạn chưa hài lòng vì điều gì không?

Tin tức khác
Full-stack developer, họ có thực sự tồn tại?

Full-stack developer, họ có thực sự tồn tại?

Ngày đăng 29/11/2018
Trong bài viết này, chúng ta sẽ tìm hiểu về lập trình viên web full stack . Họ là ai? Họ làm việc như thế nào? Giá trị của họ ra sao? Nào cùng tìm hiểu nhé!
Back-End Web Developer cần biết những kiến thức gì?

Back-End Web Developer cần biết những kiến thức gì?

Ngày đăng 29/11/2018
Nếu bạn có hứng thú với công việc lập trình, cụ thể hơn là lập trình trang web, bạn chắc hẳn đã nghe nói đến 3 khái niệm: Front-end, Back-end, và Full-stack - đây là ba lĩnh vực chính, cái mà sẽ quyết định những kiến thức và kĩ năng cần và nên có ở một lập trình viên trang web.
20 nguyên tắc thiết kế đồ họa cơ bản đến nâng cao cho Designer

20 nguyên tắc thiết kế đồ họa cơ bản đến nâng cao cho Designer

Ngày đăng 08/01/2024
Trong bài viết này, hãy cùng VTC Academy tìm hiểu 20 nguyên tắc thiết kế đồ họa từ cơ bản đến nâng cao cho những ai muốn tìm hiểu và trở thành Designer chuyên nghiệp nhé. Ngoài ra, không chỉ cung cấp lý thuyết mà mỗi nguyên tăc VTC Academy còn chỉ ra cho bạn các ví dụ minh họa thực tế và dễ hiểu. Click vào xem ngay nhé!
Khóa học mới nhất
Chuyên viên <br>Lập trình game (Phát triển Game)

Chuyên viên
Lập trình game (Phát triển Game)

4.9 (1545)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Công nghệ thông tin
Chuyên viên Thiết kế 3D (3D Modeling)

Chuyên viên Thiết kế 3D (3D Modeling)

4.9 (6576)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Thiết kế
Chuyên viên Hoạt hình 3D (3D Animation)

Chuyên viên Hoạt hình 3D (3D Animation)

4.9 (6777)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Thiết kế
Chuyên viên <br>Digital Marketing (Full-stack)

Chuyên viên
Digital Marketing (Full-stack)

5 (7656)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Digital Marketing
Tin tức khác
Full-stack developer, họ có thực sự tồn tại?

Full-stack developer, họ có thực sự tồn tại?

Ngày đăng 29/11/2018
Trong bài viết này, chúng ta sẽ tìm hiểu về lập trình viên web full stack . Họ là ai? Họ làm việc như thế nào? Giá trị của họ ra sao? Nào cùng tìm hiểu nhé!
Back-End Web Developer cần biết những kiến thức gì?

Back-End Web Developer cần biết những kiến thức gì?

Ngày đăng 29/11/2018
Nếu bạn có hứng thú với công việc lập trình, cụ thể hơn là lập trình trang web, bạn chắc hẳn đã nghe nói đến 3 khái niệm: Front-end, Back-end, và Full-stack - đây là ba lĩnh vực chính, cái mà sẽ quyết định những kiến thức và kĩ năng cần và nên có ở một lập trình viên trang web.
Chàng kỹ sư cơ khí chuyển ngành: nhận học bổng V-Talents nhập học VTC Academy ngành Lập Trình Game

Chàng kỹ sư cơ khí chuyển ngành: nhận học bổng V-Talents nhập học VTC Academy ngành Lập Trình Game

Ngày đăng 25/10/2024
Lê Thiện Quang, một bạn trẻ đam mê lập trình và yêu thích game, đã trở thành một trong những học viên xuất sắc nhận được Học bổng V-Talents, nhập học VTC Academy. Với niềm đam mê đặc biệt dành cho game và quyết tâm theo đuổi đam mê trong lĩnh vực này, Quang đã không ngừng nỗ lực và tìm kiếm con đường phát triển sự nghiệp phù hợp với sở thích của mình.

Liên hệ với VTC Academy

    Tôi đã đọc và đồng ý với Điều khoảnChính sách bảo mật của VTC Academy.

  • Hà Nội: 0981 114 757
  • Đà Nẵng: 0865 098 399
  • Hồ Chí Minh: 0818 799 299