Giá trị của một Full-stack developer

Trong bài viết này, chúng ta sẽ tìm hiểu về full stack developer.

Họ là ai?

Họ làm việc như thế nào?

Giá trị của họ ra sao?

Họ có giống như những Full-stack Overflow developer mà mình đã đề cập trước đây?

Nào cùng tìm hiểu nhé!

Full-stack developer, họ là ai?

Hầu hết các developer dành phần lớn thời gian của sự nghiệp cho việc chuyên môn hoá bản thân về một mảng nào đó ví dụ như Front-end, Back-end hay Devops,…

Nhưng một nhóm developer khác họ chấp nhận làm hết tất cả mọi việc trong quá trình phát triển phần mềm, họ được gọi là Full-stack developer.

Full-stack developer, họ làm gì?

Để đánh giá được đúng một developer có có đầy đủ những khả năng để trở thành một full-stack developer thực sự không đơn giản. Để trở thành một full-stack developer giỏi bạn không chỉ phải biết với nhiều thứ (Front-end, Back-end, Devops, …), mà còn phải hiểu biết một cách sâu sắc về cả Front-end và Back-end, cũng như nắm vững các best practices và khái niệm trong quá trình phát triển phần mềm.

Đã là Full-stack developer các bạn phải có khả năng làm việc cho mọi thành phần của hệ thống, và nếu bạn thật sự giỏi, bạn sẽ có khả năng kết hợp mọi thứ một cách tốt nhất. Điều này đòi hỏi các bạn phải có nhiều kỹ năng cũng như kinh nghiệm.

Tuy nhiên thì một Full-stack developer làm việc với Front-end sẽ không thể bằng một chuyên gia Front-end được, điều này cũng tương tự với những thành phần khác. Một Full-stack developer có thể là một chuyên gia trong một số thành phần nào đó, nhưng để là chuyên gia trong tất cả thì chắc chắn bạn sẽ phải ở trong ngành công nghiệp phát triển phần mềm này tương đối lâu.

Thế đấy, Full-stack developer là người có thể làm mọi thứ nhưng chưa chắc là người mà một số nhà tuyển dụng đang tìm kiếm.

Tại sao?

Full-stack developer, họ không phải là người một mình cân cả thế giới!

Một Full-stack developer sẽ có hiểu biết rộng về nhiều thành phần khác nhau trong hệ thống (ví dụ như Front-end, Back-end, Database, CI tool, …), và cách tương tác giữa chúng trong quá trình phát triển, và kết hợp chúng lại với nhau thành một sản phẩm hoàn chỉnh.

Tuy nhiên, điều gì cũng sẽ có những ích lợi và hạn chế.

Đối với những hệ thống mà ngày một phức tạp thì Full-stack developer sẽ lộ ra điểm yếu, họ khó có thể kiểm soát toàn bộ stack nữa. Lúc này chúng ta sẽ cần những chuyên gia cho từng thành phần. Nhiều người nghĩ rằng chỉ cần thuê Full-stack developer là đủ nhưng sự thật không phải vậy. Điều này thật ra không hoàn toàn sai, nhưng nó chỉ có thể áp dụng lên những công ty khởi nghiệp với quỹ tiền hạn chế và chỉ cần xây dựng MVP (minimum viable product), sản phẩm để đưa ra thị trường sớm nhất có thể. Đối với trường hợp đó, một Full-stack developer là một lựa chọn cực kì hợp lý. Nhưng một khi sản phẩm phát triển và trở nên phức tạp, bạn sẽ cần sự hỗ trợ từ một đội các developer có khả năng chuyên môn hoá cao ở các thành phần khác nhau.

Công bằng mà nói, vai trò của full stack developer được thể hiện rõ ràng nhất khi bạn cần một người có hiểu biết nhiều thứ để kết nối chúng lại với nhau, và phát triển sản phẩm một cách nhanh chóng để đưa ra thị trường. Còn đối với những hệ thống lớn và phức tạp, thì các bạn sẽ vẫn cần những người với mức độ chuyên môn hóa cao.

Full-stack developer, họ cần những kỹ năng gì?

Mỗi Full-stack developer sẽ bắt đầu với việc tập trung có kỹ năng tốt trọng một lĩnh vực cụ thể, sau đó họ sẽ cố gắng tìm hiểu thêm để có kiến thức về những mảng khác nhau trong quá trình phát triển phần mềm.

Giải quyết khó khăn trong việc giao tiếp

Khó khăn trong việc giao tiếp là một vấn đề lớn trong quá trình làm việc nhóm, phần lớn các dự án thất bại bởi vì giao tiếp giữa các thành phần trong team với nhau không tốt.

Sự giao tiếp yếu kém là nguyên nhân của rất nhiều sự hiểu nhầm giữa các team khác nhau. Giả sử như, Back-end developer muốn cải thiện tốc độ trả về từ server, nhưng việc này vô tình lại tạo ra những khó khăn cho Front-end developer trong quá trình làm phần giao diện. Điều này dễ dàng dẫn đến những trận cãi vã bất tận vì không ai hiểu được nỗi khổ của bên còn lại.

Trở thành thành viên cốt cán trong team

Một Full-stack developer dễ dàng trở thành một thành viên cốt cán trong team. Họ hiểu toàn bộ các quy trình trong hệ thống cũng như hiểu về business và người dùng mà sản phẩm hướng tới. Họ có thể trở thành những team member tuyệt vời, vì họ biết những công cụ nào các team member khác đang làm việc, và họ cần gì để hoàn thành công việc được giao. Kiến thức rộng cho phép họ thích nghi tốt với những team sử dụng agile trong quy trình phát triển.

Một lợi ích khác của việc có Full-stack developer trong team đó là họ dễ dàng phù hợp với những vị trí về quản lý dự án. Họ có kiến thức về nhiều thành phần, vì thế họ dễ dàng đảm bảo các thành phần đều phát triển ở mức hợp lý và hoạt động tốt trong bối cảnh tổng thể của dự án.

Tóm lại

Đối với nhà tuyển dụng, bạn có nên thuê một Full-stack developer?

Nếu bạn là một công ty khởi nghiệp, và cần xây dựng MVP để đưa sản phẩm ra thị trường một cách nhanh nhất, hoặc một dự án lớn cần sự gắn kết và có một kênh giao tiếp giữa các team thì câu trả lời là có.

Còn đối với developer, có nên trở thành một Full-stack developer?

Câu trả lời của mình là tuỳ thuộc vào đam mê hay mục tiêu mà bạn theo đuổi. Câu trả lời sẽ là ở bạn, hoặc nếu bạn còn phân vân, mình thấy ITViec có một vài bài chia sẻ rất hay về việc có nên trở thành full stack developer hay không bạn có thể tìm đọc ở đây. Cùng chia sẻ ý kiến của các bạn ở phần comment của bài viết nhé!

Tạm biệt và hẹn gặp lại các bạn trong các bài viết tiếp theo.

Một suy nghĩ 14 thoughts on “Giá trị của một Full-stack developer

  1. Mình thích đọc văn học nước ngoài. Nhưng chỉ thích những quyển sách được dịch bởi người giỏi tiếng Việt( để mình giải thích: không phải cứ nói tiếng Việt là giỏi đâu nhé, tại sao người Việt cần những chuyên gia ngôn ngữ). Đóng góp của mình là bạn viết bài trừu tượng quá

    1. Hi, rất cảm ơn đóng góp của bạn, giờ đọc lại bài viết này mình cũng thấy cách hành văn của mình khá là buồn cười, bài viết này cũng khá lâu rồi, mình cũng đã trải nghiệm và thay đổi trong lối viết, hy vọng những bài viết sau này của mình không còn trừu tượng như vậy nữa. Cảm ơn bạn đã góp ý nhé, mình rất thích nhận được góp ý từ người đọc để có thể viết tốt hơn.

  2. ở VN Full Stack Developer ít có đất dụng võ vì đa số các cty VN là outsourcing. Nước ngoại thì ngược lại Full Stack Developer luôn đc đanh giá cao

Bình luận