Hotline tư vấn - khiếu nại

LÀM THẾ NÀO ĐỂ TRỞ THÀNH FULL STACK DEVELOPER

LÀM THẾ NÀO ĐỂ TRỞ THÀNH FULL STACK DEVELOPER

[caption id="attachment_948" align="aligncenter" width="810"]developer How to become Full-Stack Developer[/caption] Theo Stack Overflow 2016 Developer Survey,  Full-Stack Developer được cho là nghề phổ biến nhất trong mảng lập trình. Cũng không có gì đáng ngạc nhiên khi trên mạng tràn lan những phần mềm, những khoá học online và cả trực tuyến dạy về Full-Stack Developer, thậm trí cón hỗ trợ tìm việc làm lương cao cho Full-Stack Developer. Một số website dạy Full-Stack Develope trực tuyến phổ biến có thể kể đến như: Lynda , Udacity , Coursera , Thinkful , General Assembly và nhiều hơn nữa . Bên cạnh các dự án trực tuyến này, còn có những chương trình coding bootcamp khác đang dạy mọi người những kỹ năng cần thiết để trở thành nhà phát triển web. Trong bài viết này, tôi sẽ không thảo luận về trang web hay coding bootcamps nào dạy Full-Stack Develope tốt nhất, thay vào đó tôi sẽ cung cấp một hướng dẫn rõ ràng những gì tôi tin là những kỹ năng quan trọng nhất cần thiết để trở thành một Full-Stack Developer. Tôi sẽ làm rõ 3 điều sau:

  1. Sự kết hợp của hầu hết các chương trình vào năm 2017 là dạy học sinh.
  2. Kinh nghiệm cá nhân của tôi khi phỏng vấn Full-Stack Developer tại các công ty
  3. Những chia sẻ và feedback trên Coderbyte từ những người đã tham gia coding bootcamps và sau đó bắt đầu để có được công việc lập trình.

 

Full-Stack Developer là người có khả năng làm việc trên cả front-end và back-end của ứng dụng. Front-end nói chung là phần của ứng dụng mà người dùng sẽ thấy hoặc tương tác với, và back-end là một phần của ứng dụng xử lý logic, tương tác cơ sở dữ liệu, chứng thực người dùng, cấu hình máy chủ,.... Tuy vậy nếu bạn là một Full-Stack Developer thì không có nghĩa là bạn phải làm chủ mọi thứ cần thiết để làm việc với front-end và back-end, nhưng bạn bắt buộc phải có thể làm việc trên cả hai phương diện và hiểu điều gì đang xảy ra khi lập trình một ứng dụng. Nếu bạn muốn trở thành một Full-Stack Developer trong năm 2018 và kiếm được luôn công việc đầu tiên của bạn, thì dưới đây là danh sách những điều bạn nên học.

1. HTML / CSS

[caption id="attachment_954" align="alignnone" width="1600"]z Become Full-Stack Developer #1 HTML CSS[/caption] Hầu hết các single program, dù là trực tuyến hay không, thì đều bắt đầu dạy bạn với HTML và CSS bởi vì chúng chính là nền tẳng căn bản của web. Hiểu đơn giản, HTML cho phép bạn thêm nội dung vào website còn CSS cho phép bạn thể hiện style website của bạn. Đây là việc đầu tiên bạn cần học nếu muốn trở thành Full-Stack Developer

Xem thêm: Ngôn ngữ lập trình hàng đầu cho Fullstack Web Developer

2. JavaScript

[caption id="attachment_953" align="alignnone" width="1600"]x Become Full-Stack Developer #2 Java[/caption] Ngôn ngữ lập trình Java là một ngôn ngữ lập trình phổ biến. Điều này được chứng minh thực tế trong suốt 20 năm qua. Đây là ngôn ngữ duy nhất chạy tự nhiên trong trình duyệt và cũng có thể tăng lên gấp đôi so với server-side language (như bạn sẽ thấy bên dưới với Node.js). Dưới đây là một số topic bạn cần phải biết nếu là một Full-Stack Developer

  • Hiểu cách làm việc với DOM . Cũng biết JSON là gì và làm thế nào để vận dụng nó.
  • Onous control flow, promises, and callbacks.
  • Biết cách sử dụng ít nhất một framework
  • Một số kiến thức về testing frameworks và tại sao chúng lại quan trọng (dù một số người cho là vấn đề này không cần thiết).

Xem ngay: Kinh nghiệm xương máu khi học lập trình của những người thành công

3.Back-End Language

Một khi bạn cảm thấy mình nắm bắt tốt về HTML / CSS và JavaScript rồi, bạn sẽ muốn chuyển sang back-end. Nó sẽ xử lý những hoạt động của cơ sở dữ liệu, xác thực người dùng và logic của ứng dụng. Bạn sẽ nhận được những phản ứng khác nhau khi hỏi ai đó ngôn ngữ back-end nào là tốt nhất để học.Vì vậy dưới đây tôi đã liệt kê một vài kết hợp phổ biến. Một lưu ý quan trọng: dù cho bạn quyết định học ngôn ngữ gì, thì điều quan trọng là phải gắn bó với nó và học hỏi mọi thứ về nó trong khả năng của bạn c

  • Node.js: Đây là một lựa chọn tuyệt vời bởi vì Node.js chính nó chỉ là một environment JavaScript có nghĩa là bạn không cần phải học một ngôn ngữ mới. Đây là một lý do tại sao nhiều chương trình online và bootcamps chọn dạy Node.js . Framework phổ biến nhất mà bạn có thể tìm hiểu để trợ giúp bạn trong việc phát triển các ứng dụng web là Express.
  • Ruby: Một số framework phổ biến để phát triển trong Ruby là Rails và Sinatra. Rất nhiều chương trình dạy Ruby như là một ngôn ngữ back-end đầu tiên.
  • Python: Một số framework phổ biến để phát triển trong Python là Django và Flask.
  • Java: Ngôn ngữ Java không còn được dạy nhiều trong thời gian gần đây khi đào tạo Full-Stack Web Development  nhưng một số công ty lại sử dụng Java như một phần của họ và nó vẫn là một ngôn ngữ lập trình rất cần thiết (xem hình trên).PHP: ngày nay PHP hiếm khi được giảng dạy trong các chương trình đào tạo, nhưng cũng giống như với Java, nó vẫn còn rất nhu cầu và nó là một nền tảng của web ngày hôm nay.

Xem ngay: Từ bỏ công việc tốt nhất thế giới để thành một developer: Thật điên rồ!

4. Databases & Web Storage

[caption id="attachment_952" align="alignnone" width="1600"]v Become Full-Stack Developer #4 Databases[/caption] Khi học tập để tạo các ứng dụng web, tại một số thời điểm có thể bạn sẽ muốn lưu trữ dữ liệu để có thể sử dụng nó sau này. Bạn nên nắm vững các topic liên quan đến Databases & Web Storage sau đây”

  • Hiểu được các lợi ích của relation data , ví dụ như SQL .
  • Tìm hiểu về cơ sở dữ liệu NoSQL , ví dụ như MongoDB .
  • Biết cách kết nối cơ sở dữ liệu với ngôn ngữ back-end bạn đã chọn (ví dụ: Node.js + MongoDB).
  • Hiểu được lợi ích của các kho dữ liệu trong bộ nhớ như Redis hoặc memcached .
  • Bộ lưu trữ web để lưu trữ phiên, cookie và dữ liệu lưu trữ trong trình duyệt.
  • ACID , và ORM (tất cả tùy chọn).

 

5.HTTP & REST

[caption id="attachment_949" align="alignnone" width="1600"]b Become Full-Stack Developer #5 HTTP[/caption] HTTP là một giao thức ứng dụng phi văn bản trên Internet – nó cho phép client giao tiếp với servers  (ví dụ: mã JavaScript của bạn có thể yêu cầu AJAX cho một số mã back-end bạn đã chạy trên một máy chủ sẽ xảy ra thông qua HTTP). Một số topic quan trọng bạn nên tìm hiểu được liệt kê dưới đây:

  • REST là gì và tại sao lại quan trọng trong giao thức HTTP và các ứng dụng web.
  • Best practices để thiết kế RESTful API. POST / GET yêu cầu.
  • Học cách sử dụng Chrome DevTools có thể cực kỳ hữu ích.
  • Giấy chứng nhận SSL là gì?
  • HTTP / 2 & SPDY (tùy chọn). WebSockets, Web Workers, và Service Workers (tất cả các tùy chọn).

 

6. Web Application Architecture

[caption id="attachment_955" align="alignnone" width="960"]n Become Full-Stack Developer #6[/caption]   Một khi bạn nghĩ rằng bạn đã nắm bắt được về HTML / CSS, JavaScript, lập trình back-end, cơ sở dữ liệu, và HTTP / REST, sau đó đi kèm với phần khó khăn. Tại thời điểm này nếu bạn muốn tạo ra một ứng dụng web phức tạp, bạn cần phải biết cách cấu trúc mã của bạn, cách tách các tệp tin, vị trí lưu trữ các tệp phương tiện lớn, cách sắp xếp dữ liệu trong cơ sở dữ liệu của bạn, ở đâu để thực hiện một số nhiệm vụ tính toán (client-side vs server-side), và nhiều hơn thế nữa. Có những tài liệu mà bạn có thể đọc trực tuyến, nhưng cách tốt nhất để thực sự học về kiến trúc ứng dụng là tự làm một ứng dụng lớn có chứa several moving parts   - hoặc tốt hơn là làm việc trong một nhóm và cùng nhau phát triển một ứng dụng phức tạp. Đó là lý do tại sao, người có 7 năm kinh nghiệm có thể không nhất thiết phải biết CSS hoặc JavaScript tốt hơn người có 2 năm kinh nghiệm, nhưng qua tất cả những năm đó họ có thể làm việc với tất cả các loại ứng dụng và trang web khác nhau và đã học được làm thế nào để xây dựng và thiết kế các ứng dụng. Dưới đây là một số điều bạn có thể đọc để giúp bạn tìm hiểu cách kiến trúc các ứng dụng web của bạn hiệu quả:

  • Tìm hiểu về các nền tảng thông dụng như một dịch vụ , ví dụ như HerokuAWS . Heroku cho phép bạn dễ dàng tải mã của mình và có một ứng dụng chạy và chạy với cấu hình rất ít hoặc bảo trì máy chủ và AWS cung cấp hàng tá sản phẩm và dịch vụ để giúp lưu trữ, xử lý video, cân bằng tải và nhiều hơn thế nữa.
  • Hiệu suất tối ưu hóa cho các ứng dụng và trình duyệt hiện đại.
  • Một số ý kiến về kiến trúc ứng dụng web cần bao gồm.
  • Thiết kế các ứng dụng Web của Microsoft.
  • MVC ..

 

7.Git

[caption id="attachment_951" align="alignnone" width="1600"]m Become Full-Stack Developer #6 Git[/caption] Git là một hệ thống kiểm soát phiên bản cho phép các developer làm việc trên một nhóm để theo dõi tất cả các thay đổi đang được thực hiện trên codebase. Điều quan trọng là cần có một vài hiểu biết cơ bản liên quan đến Git để bạn hiểu cách nhận ra code mới nhất mà bạn đã bỏ lỡ, cập nhật các phần của code, sửa lỗi và thay đổi code của người khác mà không vi phạm điều gì. Bạn chắc chắn nên học ý nghĩa đằng sau Git và “chơi” với nó nhiều hơn

  • Danh sách một số lệnh Git phổ biến mà bạn có thể sử dụng
  • Hướng dẫn sử dụng Git và Github cho người mới bắt đầu

  Sẽ rất vất vả để học tất cả những thứ trên nhưng khi hoàn thành thì kết quả thật sự xứng đáng với những gì bạn bỏ ra.   lập trình web