Full Stack là gì? Bàn luận võ lâm cao thủ Developers

Nội dung bài viết

Video học lập trình mỗi ngày

Full Stack là gì? Có thể nói cụm từ "Full Stack" là một cao thủ trong giới võ lâm - đã từng té xuống bao nhiêu vực và được học nhiều bí kíp, như Front End, Back End, API, Server, Security, Testing, Database. Là một cao thủ nên anh ta có thể luyện võ công (working) ở bất cứ hang động nào (ở tầng nào của một ứng dụng).

Tình huống thực tế 

Nhà tuyển dụng: Trong hồ sơ chúng tôi thấy bạn đang tìm kiếm vị trí Full Stack Developer? Vậy bạn cho chúng tôi biết về bạn, cũng như một Full Stack Developer làm những gì? Đang chém gió, đứng hình một lúc. Rồi ú a ú ớ, xong, mời bạn về chỗ. 


Đó là một trường hợp mới đây thôi, đồng nghiệp tôi đi phỏng vấn ở một công ty nước ngoài ở Việt Nam và nhận được tình huống đó, nhưng kết quả không được như ý, lý do không phải chuyên môn hay nghiệp vụ yếu, mà do cách trình bày và giải thích chưa làm những người tuyển dụng có thể mở lòng và đón nhận. Do đó việc luyện bí kíp giỏi cũng chưa đủ mà còn phải biết chém (chém là phải đúng không khuyến khích chém gió nha..)


Trong bài viết này không một dòng code, chỉ giải thích cho những ai rơi vào hoàn cảnh này có thể lấy lại can đảm để đi tiếp cuộc hành trình của mình trên con đường Làm thế nào để trở thành Full Stack Developer? 


Full Stack là gì?


Thật ra đây là một cái tên mà mọi người đều biết rõ, nhưng không phải cái gì anh ta cũng biết đó là điều không phải. Điều đặc biệt ở những vị trí full stack đó chính là bất kể có một tình huống nào xảy ra, anh ta là người có thể biết rất rõ các giải pháp. Luôn luôn ứng phó và rất nhanh đó là một trong những điều làm nên tên tuổi của Full Stack.


Full Stack Developer có thể nói là một cao thủ trong giới võ lâm - đã từng té xuống bao nhiêu vực và được học nhiều bí kíp, như Front End, Back End, API, Server, Security, Testing, Database. Là một cao thủ nên anh ta có thể luyện võ công (working) ở bất cứ hang động nào (ở tầng nào của một ứng dụng). 

Một tổng quan của một ứng dụng sẽ có 3 tầng. Đó là

The presentation layer (Sờ, nắm, thấy trên phẩn nổi ứng dụng có thể là web, app), 

Business Logic Layer ( back-end của bất kỳ ứng dụng nào liên quan đến xác thực dữ liệu) 

Database Layer (database)

Và bất cứ tầng nào anh ấy vẫn là một cao thủ thật thụ, một mình cao thủ có thể giải quyết hết mọi chướng vật cản trong vòng một à nhiều nốt nhạc giống như trong phim vậy há há. Và trong bài viết này chúng ta sẽ thảo luận cách làm thế nào tìm được bí kíp và luyện chúng như thế nào? Ok let's go!

À để tìm một số thống kê mới đây xem sao và Tại sao một một developer đều muốn trở thành Full Stack Developer. oà oà ngon nha, nhìn xem chúng ta có gì đây 

 Salary by Developer Type Thống kê 2019 với mức lương của một Full Stack Developer

Developer Type 

Thông qua những con số của stackoverflow các bạn cũng đã thấy một Full Stack Developer đáng giá và được tìm kiếm như thế nào? 


Full Stack cần những skills nào?


1) Front-end technology

 Nói đến front-end thì điều cơ bản là phải hiểu sâu (là giỏi á nha) về HTML5, CSS3, JavaScript cũng như có thể sử dụng những thư viện bên ngoài như jQuery, Angular... 

2) Development Languages

 Một ngôn ngữ là chưa đủ nếu bạn muốn trở thành một Full Stack Developer, bạn phải có thể thông thạo nhiều ngôn nhữ khác nhau, như java, php, Python, Ruby... 

3) Database and cache

 Cũng như ngôn ngữ vậy, database cũng phải ăn nằm ở đó NoSQL, SQL. MongoDB, Oracle, MySQL... Không những chỉ hiểu và còn phải giỏi thuật toán để tối ưu code, như sử dụng cache như Memcached, Redis.. 

4) Server

 Thành thạo những thằng này Apache, nginx. Và những thằng này đều có thể nằm bất kỳ OS nào như linux, ubuntu... 

5) Working with API (REST & SOAP)

 Điều này là không bàn cãi, dạng tự sướng. Có đôi khi tự viết API rồi tự gọi :D 

5 Skill tổng quan chưa hẳn là tất cả nhưng cũng giúp các bạn định hình được con đường trở thành một cao thủ võ lâm trong thiên hạ. 


Full Stack Developer có thể làm những gì cụ thể ?


1) Dựa vào những yêu cầu của khách hàng, triển khai một hệ thống mới. 

2) Quản lý một dự án với độ phức tạp khác nhau. 

3) Viết hệ thống back-end trong các ứng dụng với bất kỳ ngôn ngữ nào (Ruby, Python/ Java, PHP) 

4) Optimized source khi cần thiết 

5) Khắc phục sự cố một cách hoàn hảo, dựa vào những lỗi đã được phân tích trong đầu khi nhận yêu cầu. 

6)... Nghĩ hết ra rồi...


Đôi lời cho những bạn muốn trở thành fullstack

Thật ra không có một kỹ sư full stack thực thụ, chính xác là vậy. Nhưng hiện tại có nhiều người đóng nhiều vai trò trong một công ty, cho nên họ sẽ được gọi là full stack. Họ dành rất nhiều thời gian cho công việc, cho các tình huống, cho các bug của team, và người đóng vai trò tiên phong trong các giải pháp mới. Họ được những điều đó, nhưng họ mất cũng nhiều, đó là thời gian cho gia đình, bạn bè. Hầu như họ dành tất cả tuổi thanh xuân cho những dòng code cũ và mới. Chính vì vậy, lương của họ có thể nói là rất cao khi so sánh với các vị trí khác.


Và bạn muốn đạt được đến tầm đó thì trước tiên bạn phải thay đổi thái độ làm việc, thay đổi từng ngày. Đọc nhiều, run code nhiều hơn nữa. Và phải hiểu là những thằng này bạn có thể chiến hết. Dạng thế này. LAMP stands for Linux, Apache, MYSQL, and PHP, MERN is full form of MongoDB, Express, React, Node.js. MEAN stand for MongoDB, Express, Angular.js and Node.js.

Chúc các bạn rơi xuống vực và tìm được nhiều võ công há há !

Có thể bạn đã bị missing