Roadmap cho lập trình viên (P2)

Tháng thứ hai: Javascript

Câu hỏi lớn bạn cần trả lời: Làm thế nào để javascript khiến máy tính làm những gì như bạn muốn?
Đây là nơi tập trung nhiều nhất vào những tháng sau đó. Javascript giải quyết vấn đề gì? Cũng như bắt đầu viết một số chương trình bằng Javascript để làm cho trang web của bạn hoạt động. Bắt đầu với hai khóa học này: một và hai
Đọc cuốn sách Eloquent Javascript.
Tìm hiểu về DOM.
Đọc bài viết tuyệt vời này về lập trình.
Tìm hiểu cách bạn có thể sử dụng chrome developer console để viết javascript. Thực hiện khóa học CodeSchool này (chỉ phần giao diện điều khiển). Sau đó, học cách chèn thẻ <script> trong html của bạn để chạy tệp javascript.
Học khóa học của Kyle Simpson, và hoàn thành phần còn lại của khóa học bạn bắt đầu tháng đầu tiên. Cuối cùng, hoàn thành năm khóa học này từ CodeSchool.
Sử dụng bài hướng dẫn này từ freeCodeCamp cho tra cứu nếu bạn có thắc mắc trong suốt 5 tháng.
Tìm hiểu các tính năng ES6 mới trong loạt bài gồm hai phần này: một và hai.
Học git và Github với các khóa học này. Tạo tiểu sử Github và bắt đầu thực hiện commit mỗi ngày. Bắt đầu phát triển một trang web mẫu.
Terminology/Jargon: video này và đây nữa.
Cuối cùng, xem danh sách phát tuyệt vời này trên youtube. Bỏ qua các phần trên jQuery và Grunt.
Bắt đầu sử dụng hướng dẫn này bất cứ khi nào bạn có câu hỏi và bạn muốn đào sâu vào một chủ đề.

Tháng thứ ba: Javascript + NPM + Xây dựng Website của bạn

Câu hỏi lớn bạn cần trả lời: Tôi có thể xây dựng một trang web tìm kiếm chuyên nghiệp và hiểu hết toàn bộ quá trình?
Công cụ Google Developer Tools → tìm hiểu cách debug các chương trình và trang web của bạn bằng cách sử dụng Google Chrome. Hoàn thành khóa học CodeSchool này nếu bạn vẫn chưa học qua nó.
Bắt đầu tham dự các cuộc meet up về code và Javascript.
Tìm hiểu sự khác biệt giữa javascript đồng bộ và không đồng bộ.
Event loop là gì? → Một khi bạn có một nền tảng tốt về Javascript thì khóa học này thật sự sẽ thay đổi tất cả.
Tìm hiểu về Promises và Async Await trong ES7
Cuối cùng, xem khóa học này của Douglas Crockford
Tìm hiểu về lịch sử của các mô-đun trong Javascript
Tải về node.js và npm. Tải lodash từ npm và sử dụng browserify để sử dụng Common Js imports. Học cách đó ở đây. Hiểu được tại sao NPM là một công cụ tuyệt vời cho các nhà phát triển.
Vào cuối tháng, bạn nên có một trang web cá nhân với codebase trên Github. Sử dụng Github pages để có một trang web trực tiếp miễn phí.

Tháng thứ tư: React.js (hoặc Vue.js)

Câu hỏi lớn bạn cần trả lời: Vấn đề gì thường được giải quyết bởi React hoặc Vue?
Tôi yêu React.js. Trên thực tế, tôi dạy nó cho người khác và làm các cuộc hội thảo về nó. Do đó hãy tìm hiểu React.js trước trừ khi bạn có một lý do chính đáng để học Vue.js. Bởi dù nó mới và thú vị, nhưng nhu cầu việc làm hiện vẫn chưa có.
React → Thực hiện theo thứ tự: mộthaiba. Sau đó đọc qua các tài liệu này. Nếu bạn có tiền, đây là hướng dẫn React tốt nhất.
Nếu thích bạn có thể: Học Redux
Xây dựng một React application  mẫu bằng cách sử dụng create-react-app
Deploy app của bạn trên Heroku.
Deploy app của bạn trên GitHub pages.
Bắt đầu theo 10 bài báo hàng đầu trên Medium  và đọc bất kỳ bài viết nào về code. Đăng ký vào danh sách email để luôn được cập nhật với những gì đang xảy ra trong ngành: Javascript vàReact.
Bắt đầu xây dựng online resume của bạn. Bạn có thể xem thêm tại đây.

Tháng cuối: Servers, Databases và tổng kết lại mọi thứ

Câu hỏi lớn bạn cần trả lời: Chỗ chứa nào cho servers, databases, và raspberryPis trong JavaScript?
HTTP, JSON và AJAX. Tìm hiểu cách những điều này cho phép bạn giao tiếp với máy chủ.
Tìm hiểu cách xây dựng một máy chủ API. Sau đó làm chủ node và Express.js.
Một khi bạn đã hoàn tất việc này, hãy sử dụng một API thú vị và xây dựng một ứng dụng đơn giản.
Đăng ký theo dõi kênh youtube computerphile và xem video của họ. Mặc dù các chủ đề có thể khó khăn nhưng nó sẽ giới thiệu cho bạn một số điều tuyệt vời.
Computer/Server/OS là gì: mua một raspberryPi và xây dựng máy chủ của riêng bạn. Tìm kiếm các dự án khác nhau trên youtube mà bạn có thể làm với raspberryPi của mình.
Bạn cần phải hiểu được vì sao chúng lại có mặt tại đây cũng như những vấn đề mà chúng giải quyết: Testing, Machine Learning, Time Complexity, SQL, UX/UI, Continuous Delivery, Basic Data structures (Arrays và Objects).
*** Tôi đã có thể nghe mọi người la hét với tôi rằng “Bạn mất trí rồi à?! Bạn không nghĩ rằng testinglà quan trọng à? “Nhưng xin hãy lắng nghe tôi. Testing là rất quan trọng để trở thành một developer tốt, và mọi người nên học các kỹ năng đó. Tuy nhiên, chúng tôi đang cố gắng xây dựng một nền tảng ở đây. Thật dễ dàng để bắt đầu lặn sâu vào một chủ đề, nhưng nếu không có nền tảng, bạn sẽ lạc lối ngay lập tức. Ngoài ra, trong hầu hết các bài đăng công việc tôi tìm thấy, có rất ít đề cập đến các kỹ năng nói trên. Chỉ cần để việc học chúng cho đến khi bạn vào làmviệc. ***
Hãy nhớ rằng: mục tiêu của bạn là làm việc theo cách hiệu quả nhất.

Nhận xét