13/08/2019, 09:43

Tất cả những thứ cần học để trở thành Web Developer

Web Developer không phải nghề mới nhưng luôn nằm trong top những nghề được trả lương cao nhất với lượng cung lớn hơn lượng cầu. Không nhất thiết phải là dân IT, bạn hoàn toàn có thể trở thành Web Developer dù xuất phát điểm của bạn là gì. Với lộ trình học cực kì chi tiết trong bài viết ...

web-developerweb-developer

Web Developer không phải nghề mới nhưng luôn nằm trong top những nghề được trả lương cao nhất với lượng cung lớn hơn lượng cầu.

Không nhất thiết phải là dân IT, bạn hoàn toàn có thể trở thành Web Developer dù xuất phát điểm của bạn là gì. 

Với lộ trình học cực kì chi tiết trong bài viết (tham khảo từ bài đăng của Kamranahmedse), bạn sẽ biết được:

  • Vì sao Web Developer là nghề không bao giờ “chết”?
  • Xác định được hướng đi phù hợp với sở thích: Front-end hay Back-end
  • Chính xác những thứ cần học để trở thành Web Developer + tài liệu kèm theo

Xem thêm việc làm Web Developer trên ITviec

Vì sao nên theo đuổi sự nghiệp trở thành Web Developer?

Web Developer được đánh giá là một nghề hấp dẫn trong thế kỷ 21. Bất kể là ai cũng sẽ không thể chối từ cơ hội trở thành một Web Developer bởi 5 lý do sau đây:

1. Không yêu cầu bằng cấp

Đó là sự thật. Một lượng lớn các Developer hiện nay thậm chí không có bằng cấp chính thức. Tất nhiên, nếu bạn từng học chuyên ngành IT ở trường đại học, đó sẽ là điểm cộng. Nhưng kể cả bạn có xuất thân là dân kinh tế thì cũng không gì có thể cản trở bạn trở thành Web Developer.

Xét cho cùng, thứ nhà tuyển dụng cần vẫn là một Developer “được việc”. Nếu bạn biết một ngôn ngữ lập trình và có kinh nghiệm quản lý dữ liệu thì hãy tự tin để theo đuổi nghề này. Dù bạn bắt đầu ở tuổi 30, cũng không phải là điều gì to tát.

2. Nhu cầu tuyển dụng cao

Lựa chọn trở thành một Web Developer nghĩa là tỷ lệ bạn phải đối mặt với nguy cơ thất nghiệp gần như bằng 0 (nếu có thì hẳn là do mức lương chưa khiến bạn hài lòng).

Nếu như trước năm 1981, các khái niệm Web Developer hay Mobile Developer chưa từng xuất hiện thì tính đến thời điểm hiện tại, đã có hơn 80.000 việc làm Web Developer được đăng tuyển trên các trang tuyển dụng mỗi năm.

3. Lương cao

Tiền không thể mang lại hạnh phúc? Chỉ có những người không có tiền mới nói vậy thôi.

Hãy thử một lần tận hưởng cảm giác nhận lương hàng tháng, bạn sẽ thấy trở thành Web Developer là sự lựa chọn chính xác nhất từ trước đến nay. Lương của vị trí này được đánh giá là cao và mức độ tăng lương cũng trội hơn các vị trí khác.

4. Cơ hội làm việc ở nước ngoài

Không giới hạn không gian làm việc, Web Developer có thể làm việc on-site hoặc phát triển hẳn sự nghiệp ở nước ngoài. Vừa có cơ hội được đi du lịch, lại vừa được trả lương cao thì sao lại không nhỉ?

5. Thoải mái lựa chọn hình thức làm việc

Không giống như những nghề khác bắt buộc phải có mặt ở văn phòng, bạn hoàn toàn có thể lựa chọn trở thành một Freelancer IT – làm việc tại nhà hoặc gắn bó với một công ty nào đó.

Miễn là bạn có năng lực và giỏi ngoại ngữ, cơ hội việc làm sẽ luôn rộng mở trước mắt bạn.

Nên học Front-end hay Back-end?

front-end-va-back-endfront-end-va-back-end

Web Developer bao gồm 2 nhánh nhỏ: Front-end Developer và Back-end Developer. Vậy nên học cái nào?

Câu trả lời là: tùy thuộc vào sở thích của bạn. Bạn có thể học Front-end hay Back-end hoặc học cả 2 để trở thành Full-stack Developer. 

Để xác định nên học gì trước, hãy đọc để hiểu thêm về Front-end và Back-end.

Front-end là gì? Công việc của Front-end Developer?

Front-end (còn được biết đến như client-side) là tất cả những gì liên quan đến điều mà người dùng nhìn thấy mỗi khi truy cập vào một trang web. 

Người dùng tương tác trực tiếp với nhiều khía cạnh thuộc Front-end như: nhận biết vị trí đặt để của logo, màu sắc chủ đạo, tìm kiếm và đọc thông tin, sử dụng các button và tính năng trên web… 

Front-end Developer là người làm việc thường xuyên với Designer và Product Owner để biến các wireframe, mockup (mô hình thu nhỏ) thành sản phẩm cụ thể. Mục đích sau cùng là mang lại một giao diện bắt mắt, giúp người dùng dễ dàng thao tác và sử dụng trên website.

Back-end là gì? Công việc của Back-end Developer?

Back-end (còn được biết đến như server-side) là tất cả những hoạt động không được nhìn thấy trên trình duyệt, là nơi lưu trữ các cơ sở dữ liệu và giúp cho phần Front-end hoạt động. Có thể ví Back-end như một ngôi nhà, còn Front-end là phần nội thất của ngôi nhà đó.

Công việc của Back-end Developer là sử dụng ngôn ngữ lập trình để xây dựng ứng dụng và sử dụng các công cụ như Oracle, MySQL để lưu trữ, tìm kiếm, thay đổi dữ liệu. Mục đích sau cùng là đáp ứng những yêu cầu của người dùng thao tác trên phần Front-end.

Giờ thì bạn đã có sự lựa chọn cho riêng mình.

Tuy nhiên, dù theo hướng đi nào thì 7 kiến thức chung dưới đây là điều mà bất cứ Web Developer nào cũng nên tìm hiểu.

7 kiến thức chung đối với một Web Developer

1. Git

Git là một hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay. Nhờ Git, việc quản lý code và làm việc nhóm của Developer trở nên đơn giản, thuận tiện hơn. Bạn không thể trở thành Web Developer mà không biết về Git.

2. SSH

SSH (viết tắt của Secure Shell) là một giao thức mạng được sử dụng để thực hiện việc tương tác giữa máy chủ và máy khách. Nó cho phép người dùng kiểm soát và chỉnh sửa server từ xa thông qua Internet. Đây là kiến thức mà các Web Developer nên biết.

3. HTTP/HTTPS

Giao thức HTTP là xương sống của website. Vững kiến thức về HTTP và HTTPS là bắt buộc với một Web Developer.

4. Dòng lệnh Linux cơ bản

Không riêng gì Web Developer mà đối với cả Mobile Developer, dòng lệnh Linux (Linux Command Line) cũng cực kì cực kì quan trọng. Bạn nên dành thời gian để học nó.

Khóa học Linux Command Line trên Udemy là sự lựa chọn tốt để bắt đầu.

5. Cấu trúc dữ liệu và giải thuật

Nếu bạn có hứng thú học về cấu trúc dữ liệu và giải thuật thì có một số khóa học tương ứng với  ngôn ngữ lập trình mà bạn nên cân nhắc.

  • Dành cho người sử dụng Java: Data Structures and Algorithms: Deep Dive Using Java
  • Dành cho người sử dụng JavaScript: JavaScript Algorithms and Data Structures Masterclass

6. Mã hóa ký tự

Nếu bạn muốn tạo ra một ứng dụng mang tính toàn cầu, phải hiển thị ra nhiều ngôn ngữ khác nhau thì bạn phải có kiến thức nhất định về mã hóa ký tự.

Một số hệ thống mã hóa được sử dụng phổ biến hiện nay: ASCII, UTF-8 Unicode, UTF-16 Unicode

7. GitHub

GitHub là một dịch vụ lưu trữ trên web dành cho các dự án có sử dụng hệ thống kiểm soát Git revision. Bạn phải biết về Git và GitHub thì mới có thể làm việc như một Web Developer.

LỘ TRÌNH HỌC ĐỂ TRỞ THÀNH FRONT-END DEVELOPER

front-end-developerfront-end-developer

*Bạn có thể kéo xuống dưới để đọc tiếp và bỏ qua phần này nếu đã xác định theo hướng Back-end. 

1. Phát triển web cơ bản

Nói bây giờ có vẻ hơi trễ một chút nhưng nếu muốn trở thành một Web Developer thì bạn nên biết những kiến thức cơ bản về internet, ứng dụng web, các giao thức (HTTP và HTTPS) và những thứ thuộc về phát triển web.

May mắn là có rất nhiều tài liệu đề cập đến vấn đề này. Bạn có thể tham khảo:

  • The Complete 2019 Web Development Bootcamp
  • The Advanced Web Developer Bootcamp

2. HTML và CSS

HTML được xem là xương sống của mọi website và CSS là phần da thịt đắp lên bộ xương đó.

Trong khi HTML góp phần xác định cấu trúc mỗi website thì CSS lại góp phần khiến cho website trông đẹp hơn và chuyên nghiệp hơn.

Nếu nghiêm túc muốn trở thành Front-end Developer thì bạn phải thành thạo 2 ngôn ngữ này.

3. JavaScript

JavaScript là ngôn ngữ lập trình được sử dụng rộng rãi trong việc xây dựng các website có tính tương tác cao. Đây cũng là ngôn ngữ rất thích hợp cho các developer mới bước đầu học lập trình.

Bạn có thể bắt đầu học ngay với 20+ tài liệu học JavaScript từ cơ bản đến nâng cao

4. TypeScript

TypeScript là dự án mã nguồn mở được phát triển bởi Microsoft. Được bổ sung các tùy chọn kiểu tĩnh và các lớp hướng đối tượng, TypeScript được xem là phiên bản nâng cao của JavaScript. 

Sử dụng TypeScript, bạn sẽ dễ dàng phát triển các dự án lớn và có nhiều framework để lựa chọn.

5. Angular

Ngày trước, mọi người thường chỉ xây dựng website bằng cách sử dụng những ngôn ngữ như HTML, CSS hay JavaScript. Ngày nay, công việc này sẽ được hoàn thành bởi một framework nào đó, chẳng hạn như Angular.

Nó không chỉ cung cấp một cấu trúc để lưu trữ code mà còn giúp cho việc phát triển ứng dụng web trở nên dễ dàng, nhanh chóng.

Angular được “chống lưng” bởi Google, vậy nên học Angular là sự lựa chọn sáng suốt cho các Web Developer thời hiện đại. 

6. React JS

Tương tự như Angular, React cũng là một thư viện JavaScript phổ biến để phát triển ứng dụng web. 

React giúp xây dựng giao diện người dùng (User Interface) một cách tuyệt hảo. Mạng xã hội lớn nhất hiện nay – Facebook chính là minh chứng cho thấy sức mạnh của thư viện này.

Được phát triển bởi chính Facebook, React ngày càng được sử dụng rộng rãi trong lập trình. Bạn có thể tham khảo qua khóa học React được yêu thích nhất hiện nay.

7. Vue.js

Vue.js là một JavaScript framework linh động, ra đời với mục đích xây dựng giao diện người dùng. Khá giống với React JS đúng không nào?

So với React JS thì những tài liệu hướng dẫn và thuật ngữ sử dụng trong Vue.js được đánh giá là thân thiện và mang tính thống nhất hơn, dễ học đối với người mới.

Xét một cách khách quan, vì không được hậu thuẫn bởi những gã khổng lồ như Google hay Facebook nên Vue.js vẫn còn khá “thua thiệt” về số lượng người sử dụng. Tuy nhiên, con số này vẫn không ngừng gia tăng nên học Vue.js không bao giờ là thừa thải.

Yêu cầu khi học Vue.js là bạn cần phải nắm rõ: JavaScript, HTML và CSS.

LỘ TRÌNH HỌC ĐỂ TRỞ THÀNH BACK-END DEVELOPER

back-end-developerback-end-developer

1. Node.js

Có rất nhiều lựa chọn để bạn phát triển phần Back-end của một ứng dụng web, chẳng hạn: sử dụng Java + Spring framework hay Python + Django framework… Nhưng trong những năm gần đây, Node.js lại được yêu thích hơn hẳn.

Node.js là một nền tảng (platform) mang tính độc lập, được xây dựng trên JavaScript Runtime của Chrome. Nó cho phép phát triển các ứng dụng web một cách hiệu quả và dễ dàng mở rộng.

2. Java/ C#

Rất nhiều người lựa chọn Java để bắt đầu sự nghiệp trở thành Back-end Developer bởi mức độ phổ biến của nó. Java cũng là cái tên nhiều năm liên tiếp nằm trong danh sách những ngôn ngữ lập trình dễ học nhất thế giới. 

Code Java “viết một lần, chạy mọi nơi”, làm việc lý tưởng trên mọi hệ điều hành. Bạn có thể bắt đầu ngay với 9 tài liệu Java chọn lọc.

Thường được so sánh như “người anh em” của Java bởi sự tương đồng trong cú pháp, C# cũng là sự lựa chọn mà bạn nên cân nhắc để học. Bạn cũng có thể suy nghĩ về việc học cả 2 cùng lúc, đó là ý tưởng không tồi.

3. Python

Một ngôn ngữ lập trình hướng đối tượng tuyệt vời cho những người theo đuổi nghề Web Developer. Với cú pháp vô cùng đơn giản và thanh lịch, Python xứng đáng nằm trong danh sách những thứ bạn cần chinh phục.

Đừng quên tìm hiểu thêm về Django – framework luôn đi liền với ngôn ngữ Python trong lập trình web.

Còn chờ gì nữa, xem ngay 20+ tài liệu lập trình Python từ cơ bản đến nâng cao.

4. Ruby

Ruby là ngôn ngữ ra đời với mục đích khiến cho công việc lập trình trở nên dễ dàng và thú vị. Học Ruby là bước đệm để bạn tiến tới học Rails – framework mã nguồn mở, giúp xây dựng ứng dụng web nhanh chóng. Một trong những ứng dụng nổi tiếng nhất sử dụng ngôn ngữ Ruby và Rails framework chính là Twitter.

5. PHP

PHP là ngôn ngữ kịch bản mã nguồn mở, chạy ở phía server và được dùng để tạo ra các ứng dụng web. Hãy quên tất cả những đánh giá tiêu cực về PHP đi vì thực tế là có hơn 50% trong tổng số hơn 10 triệu website đang sử dụng PHP.

Đây cũng là ngôn ngữ có cộng đồng người dùng đông thứ 3 chỉ tính riêng trên Stack Overflow.

Vậy thì còn lý do gì để bạn không lựa chọn PHP?

Sẽ thật là thiếu sót nếu lộ trình trở thành Web Developer thiếu đi bóng dáng của SQL – ngôn ngữ truy vấn. Đây là công cụ làm việc với dữ liệu mà bất cứ Developer nào cũng phải biết. 

Sau khi làm chủ các kiến thức kể trên, bạn có thể tìm hiểu thêm về SQL ngay tại đây.

Robby2Robby2

Bạn có nghĩ lộ trình này là đúng đắn cho người muốn trở thành Web Developer? Hoặc bạn có thắc mắc gì khác?  Hãy chia sẻ ý kiến ở phần bình luận bên dưới nhé.

Và đừng quên tham khảo việc làm Web Developer tại ITviec!

0