Lộ trình phát triển web năm 2019 (front-end và back-end)

Xin chào mọi người, năm 2019 này chắc hẳn mỗi người đều có cho mình một mục tiêu riêng rồi nhỉ? Nếu một trong những mục tiêu đó của bạn là học code hoặc trở thành một nhà phát triển web thì tôi rất vui và hân hạnh được chia sẻ với bạn Lộ trình phát triển web năm 2019 này.

Đây là ví dụ minh họa tuyệt vời về cách trở thành một nhà phát triển web năm 2019 và hướng dẫn bạn cách học và thành thạo việc phát triển web năm 2019.

Đó là tổng hợp các hướng đi khác nhau để học về front-end, back-end và tất cả những thứ khác mà một nhà phát triển web nên biết. Bạn không chỉ biết về phát triển web mà còn về các công cụ lập trình thiết yếu - điều quan trọng nhất đối với tất cả các lập trình viên và các nhà phát triển phần mềm.

Lộ trình được chia làm 3 phần. Đầu tiên là về các kĩ năng phổ biến mà mọi nhà phát triển web đều nên biết, thứ hai và thứ ba lần lượt là về phát triển front-endback-end , hai phần chính của phát triển web.

Bạn có thể học front-end hoặc back-end hoặc cả hai tùy theo ý thích. Nếu bạn muốn trở thành một nhà phát triển web fullstack thì bạn phải học cả front-end và back-end.

Trong frontend bạn có thể chọn học framework mà bạn muốn như react, Angular hoặc Vue.js. Bạn không cần phải học tất cả các framework mà chỉ cần học cái mà bạn muốn. Nếu bạn hỏi ý kiến của tôi thì tôi sẽ nói rằng Vue.js là lựa chọn 2019 tốt hơn hai loại còn lại tuy nhiên cũng phải nói lại hai loại kia lại được sử dụng nhiều hơn Vue.js nhiều.

Tuy nhiên, bạn vẫn có thể đã thấy lộ trình này trước đây rồi. Kamranahmedse đã tạo hướng dẫn trực quan để trở thành một nhà phát triển web này và đăng lên kho GitHub của anh ấy. Đây là một trong những nơi yêu thích của tôi và tôi đã đánh dấu lại để xem lại nhiều lần.

Năm ngoái, tôi tình cờ phát hiện ra trang web tuyệt vời này trong khi đang lướt web. Tôi lần đầu tiên thấy Lộ trình DevOps ở đây và ngay lập tức trở thành fan của Kamran Ahmed. Thực tế, tôi còn in và dán những lộ trình này lên bàn để lúc nào cũng xem được.

Lộ trình cho bạn biết bạn nên học thứ gì nhưng lại không cho bạn biết học như thế nào và học các kỹ năng đó ở đâu. Tôi đã cố gắng bổ sung những phần đó bằng cách cung cấp thêm cá link của một số khóa học cũng như một số đầu sách hữu dụng mà bạn có thể học về các công nghệ, các ngôn ngữ lập trình, các framework và các thư viện được yêu cầu để trở thành nhà phát triển web và được nhắc đến trong lộ trình này.

Một hướng dẫn minh họa cho việc trở thành nhà phát triển web năm 2019

Front - end cho người mới bắt đầu - Đảm bảo đầu ra - Lộ trình rõ ràng

Đây là nơi mà mà bạn sẽ bắt đầu. Như tôi đã nói trước đó, bạn có thể tùy ý chọn học front-end hoặc back-end. Dưới đây là tám gợi ý màu vàng mà bạn phải học đối với cả hai lựa chọn, đây đều là những điều cơ bản mà mỗi một lập trình viên đều phải biết.

Đề xuất học cho một trong hai lựa chọn

1. Git

Một trong những hệ thống kiểm soát phiên bản phổ biến nhất. Chúng ta không thể sống thiếu Git. Bạn có thể kiểm tra Hướng dẫn hoàn thành Git trên Udemy để bắt đầu.

2. SSH

Đây là một khái niệm mạng phổ biến khác mà mọi nhà phát triển web cần phải biết, nó cho phép bạn xóa đăng nhập vào một máy chủ khác.

3.HTTP/HTTPS

Giao thức HTTP là phần chính của web và một nhà phát triển web cần có nền kiến thức tốt về cả HTTP và HTTPS.

4. Sử dụng thiết bị đầu cuối cơ bản khái niệm dòng lệnh Linux cơ bản

Dòng lệnh Linux rất rất quan trọng không chỉ đối với một nhà phát triển web mà với bất kỳ lập trình viên nào, nên tôi cực kỳ khuyên bạn hãy bỏ thời gian học nó thật nghiêm túc. Khóa học các khái niệm về dòng lệnh Linux cơ bản trên Udemy là một lựa chọn tốt để bắt đầu nếu bạn thích các khóa học miễn phí, hoặc bạn có thể sử dụng các khóa Linux miễn phí và bắt đầu học về Linux.

5. Cấu trúc data và các thuật toán

Đây là những building blocks của bất kỳ chương trình nào và việc có kiến thức tốt về cấu trúc data và các thuật toán là chìa khóa thành công trong công việc tiếp theo của bạn hoặc giúp bạn làm tốt công việc hiện tại của mình.

Nếu bạn hứng thú với học thuật toán và cấu trúc dữ liệu thì tôi khuyên bạn nên chọn khóa học trong ngôn ngữ lập trình mà bạn hiểu.

Ví dụ đối với các nhà phát triển Java, Data Structures and Algorithms: Deep Dive Using Java là lựa chọn tốt để khởi đầu.

Tương tự đối với các nhà phát triển JavaScript, JavaScript Algorithms and Data Structures Masterclass của Colt Steele là lựa chọn không tồi.

Nếu bạn dùng Python thì Algorithms and Data Structures in Python là lựa chọn dành cho bạn.

Và nếu bạn không nghĩ đến việc học từ các nguồn trên thì bạn có thể dùng danh sách các khóa thuật toán miễn phí để bắt đầu.

7. Mã hóa ký tự

Nếu bạn đang tạo các ứng dụng toàn cầu có thể hiện các thông tin ở nhiều ngôn ngữ khác nhau trên thế giới thì bạn nên có một nền kiến thức tốt về việc mã hóa ký tự. Hay đơn giản là để cho trình duyệt của bạn biết cách thể hiện dữ liệu.

8. Github

Rõ ràng là mọi lập trình viên nên biết về Git và GitHub vì chúng là tiêu chuẩn về nguồn kiểm soát phiên bản và lưu trữ code. Nếu bạn muốn học và hiểu về Git và GitHub, bạn có thể kiểm tra mục những khóa Git miễn phí.

Lộ trình nhà phát triển frontend 2019

Nếu bạn muốn trở thành một nhà phát triển front-end năm 2019 thì bạn nên theo dõi Lộ trình nhà phát triển Front-end dưới đây. Bạn nên tập trung vào các ô màu vàng chính là những điều quan trọng cần chú ý nhất. Bên dưới lộ trình bạn có thể thấy các nguồn thêm vào như sách và các khóa học phục vụ mục đích học tập này.

1. Những điều cơ bản về phát triển web

Điều khá hiển nhiên là nếu bạn muốn trở thành một người phát triển web thì bạn nên có kiến thức cơ bản về internet, các ứng dụng web, các giao thức như HTTP và phát triển web nói chung.

Tôi gợi ý những nguồn sau:

  1. The Web Develpoer BootCamp by Colt Steel
  2. The 2019 Complete Web Developer BootCamp by Angela Yu
  3. The Advanced Web Developer Bootcamp

2. HTML và CSS

HTML và CSS là phần chính của bất cứ website nào. HTML cung cấp cấu trúc trong khi CSS lại cung cấp style, giúp chúng nhìn đẹp mắt hơn và hấp dẫn trực quan hơn. Nếu bạn muốn trở thành một người phát triển frontend nghiêm túc thì bạn phải hiểu cả hai và bạn có thể kiểm tra các khóa HTML và CSS miễn phí để học trực tuyến.

3. JavaScript

Giống như bốn tính chất chính của lập trình hướng đối tượng là tính trừu tượng, tính bao đóng, tính đa hình và tính kế thừa, phát triển web cũng có ba ngôn ngữ chính tên là HTML, CSS và JavaScript.

Hai cái đầu tiên cung cấp cấu trúc và style nhưng đó là JavaScript thêm các tính tương tác khiến chúng sống động hơn. Điều cực kỳ quan trọng đối với một nhà phát triển Java hiện đại học JavaScript và có nhiều khóa học dành cho cả trình độ JavaScript cơ bản và nâng cao, sau đây là một số gợi ý:

  1. The Complete JavaScript Course 2019
  2. A Beginner’s Guide to Advanced JavaScript and ES6

4. TypeScript

Giống như chúng ta có C và C++, TypeScript có thể được coi như JavaScript++ mặc dù nó không phổ biến bằng C++.

TypeScript thêm type-safety trong code, điều này có nghĩa là bạn có thể bắt loại JavaScript xấu liên quan đến những lỗi trong giai đoạn phát triển.

Điều này khiến cho việc phát triển code hướng đối tượng trở nên dễ dàng hơn đối với JavaScript. Nếu bạn muốn học TypeScript thì Understanding TypeScript là một khóa học tuyệt vời để bắt đầu và nếu bạn cần nhiều lựa chọn hoặc thay thế miễn phí, sau đây là một danh sách các khóa học TypeScript miễn phí khác.

5. Angular

Đã qua rồi cái thời mọi người đều xây dựng website bằng HTML, CSS và JavaScript đơn giản. Ngày nay hầu hết các công việc đều được hoàn thành bằng một framework như Angular, ReactJS hoặc Vue.js.

Chúng không chỉ cung cấp cấu trúc để lưu trữ code mà còn làm cho quá trình phát triển ứng dụng web trở nên dễ dàng ít tốn thời gian hơn.

Việc học Angular là lựa chọn tốt đối với bất kỳ nhà phát triển hiện đại nào vì Angular được Google hỗ trợ. Nếu bạn muốn học Angular thì không có khóa học nào phù hợp hơn khóa Angular 7 (formerly Angular 2) — The Complete Guide của Max trên Udemy.

7. React JS

Tương tự như Angular, React cũng là một thư viện phổ biến cho việc phát triển các ứng dụng web. Nó cho phép bạn viết các thành phần có thể tái sử dụng mà sau đó bạn có thể tạo các trang web tương tác hiện đại.

Giống như Angular được Google phát hành, React cũng được Facebook phát hành và hiện tại trở nên khá phổ biến. Nếu bạn muốn học React thì bạn có thể tham gia khóa Modern React with Redux của Stephen Grider hoặc React—The Complete Guide của Max trên Udemy. Cả hai khóa đều học react trực tuyến.

8. Vue.js

Năm ngoái Vue hoặc Vue JS đã thực sự tăng tốc và càng ngày càng có nhiều người đề xuất và sử dụng Vue.js. Tôi vẫn là người mới bắt đầu học Vue và vẫn cần thời thêm thời gian để tìm hiểu và chuyển sang ứng dụng dựa trên Vue, tuy nhiên nếu bạn muốn bạn có thể bắt đầu với khóa Vue.js Essentials trên Udemy.

Lộ trình nhà phát triển Backend 2019

Nếu bạn muốn trở thành một nhà phát triển back-end 2019 thì bạn có thể theo dõi lộ trình nhà phát triển Back-end này. Một lần nữa, bạn có thể bắt đầu với những ô màu vàng cùng với các công nghệ chính cần thiết để học và phát triển. Bên dưới lộ trình là một số tài liệu cũng như link đến các khóa học và đầu sách phục vụ mục đích học tập của bạn.

1. Node.js

Có nhiều lựa chọn để phát triển phần backend của các ứng dụng web như Java và Spring hoặc có thể là Python + Django nhưng những năm gần đây Node.js dần trở thành lựa chọn được ưa thích hơn cả.

Điều tuyệt nhất về NodeJS là nó cho phép bạn phát triển một ứng dụng web hoàn chỉnh sử dụng chỉ một ngôn ngữ lập trình duy nhất - JavaScript.

2. Java

Tôi chính là một người phát triển Java, học phát triển web và các ngôn ngữ lập trình khác, do đó khi nói đến việc phát triển backend thì lựa chọn của tôi là Java. Bạn cũng có thể dùng Core Java hoặc Java + Spring Boot để viết phần back-end hiệu năng cao. Nếu bạn muốn đi theo Java và Spring thì đây là các khóa mà bạn có thể tham gia để tăng tốc.

  1. The Complete Java Masterclass
  2. Spring Framework 5: Beginner to Guru

3. Python

Python lại là ngôn ngữ lập trình tuyệt vời khác có đầy đủ các framework và thư viện mạnh mẽ. Nếu bạn muốn phát triển backend bằng Python thì bạn có thể dùng Django - một framework phát triển web full-stack dành cho các nhà phát triển Python.

4. Ruby

Ruby là một ngôn ngữ mạnh mẽ hoàn hảo để phát triển web. Nó có một framework tuyệt vời gọi là Rails, giúp việc tạo các ứng dụng Web thực sự dễ dàng và nhanh chóng. Nếu bạn muốn bắt đầu với Ruby, bạn có thể xem khóa học dành cho nhà phát triển Ruby on Rails hoàn chỉnh trên Udemy.

5. PHP và MySQL

Hãy quên tất cả những điều tiêu cực mọi người nói về PHP đi. Đây vẫn là cách dễ nhất để viết mã phía máy chủ và nhiều, gần 50% internet chạy trên PHP và MySQL stack.

Nếu bạn có hứng thú với học PHP, bạn có thể tham gia khóa PHP cho người bắt đầu trên Udemy.

Đó là tất cả những gì về cách để trở thành một nhà phát triển web năm 2019. Cám ơn bạn đã đọc bài viết này.

Nguồn: Techmaster