• Home
  • Hướng Nghiệp
  • Full Stack Developer là gì? Có lợi gì cho sự nghiệp của bạn?
Full-Stack Developer là người đảm nhiệm cả front-end ( phong cách thiết kế UI, UX và flow ) cho tới back-end ( phong cách thiết kế database và viết những API thiết yếu ) của mạng lưới hệ thống .
Họ là những người vừa có năng lực tư duy logic để nghiên cứu và phân tích và phong cách thiết kế cơ sở tài liệu, vừa hoàn toàn có thể ứng biến linh động với CSS để tối ưu hóa cách hiển thị của website / ứng dụng đi động .

Đọc bài phỏng vấn của ITviec với anh Phạm Huy Hoàng, một Full-Stack Developer đang làm việc tại AlgoMerchant – công ty start-up ở Singapore để biết:

  • Công việc của một Full-Stack Developer
  • Lợi ích của việc làm Full-Stack Developer
  • Lời khuyên để bạn trở thành một Full-Stack Developer

Xem thêm việc làm Full Stack Developer trên ITviec

Tiểu sử : anh Phạm Huy Hoàng có thời hạn thao tác tại FPT Software trước khi chuyển sang ASWIG Solutions với vị trí Developer ngôn từ C # .
Sau đó, anh theo học Thạc sĩ ngành Computer Science tại Đại học Lancaster ( Vương Quốc Anh ). Trong thời hạn học, anh làm việc làm Full-Stack Developer tại phòng IT của trường .
Sau khi tốt nghiệp vào tháng 8/2017, anh chuyển đến Nước Singapore và thao tác cho Công ty AlgoMerchant cho đến nay .

Công việc hằng ngày của một Full-Stack Developer là gì?

Full-Stack Developer là người phụ trách cả Front-end lẫn Back-end của sản phẩm.

Nói chung, từ thiết kế giao diện đến Database đằng sau bạn đều phải chịu trách nhiệm cho đến khi sản phẩm vận hành trơn tru. Tuy nhiên, tùy theo mỗi công ty mà sẽ có một công việc cụ thể riêng.

Dự án anh làm cho Đại học Lancaster là một App dành cho sinh viên của trường tên là “ I Love Lancaster ”. App này sẽ tổng hợp hàng loạt tiện ích trong thời hạn học tại trường cho sinh viên, ví dụ điển hình như xe buýt, thời khóa biểu … giúp những bạn học tập thuận tiện hơn .
Anh làm hàng loạt mọi việc từ nhận requirement của người mua là những phòng ban trong trường, phong cách thiết kế giao diện cho đến làm database đằng sau và mọi việc khác cho App chạy trơn tru .

Còn công việc mới của anh tại AlgoMerchant thì thế nào?

Tại AlgoMerchant, vị trí của anh là Senior Front-end Engineer, nhưng việc làm vẫn mang tính Full-Stack như hồi xưa .
Công việc chính của anh là đàm đạo với Product Manager để xác lập requirement. Sau đó tranh luận với CTO để design kiến trúc cho dự án Bất Động Sản Auto Invest ( Hệ thống tự động hóa đặt lệnh mua / bán CP dựa theo thuật toán ) .
Sau khi CTO review và duyệt thì anh sẽ đi từ front-end ( design UX và flow ) cho tới back-end ( phong cách thiết kế database và viết những API thiết yếu ) của mạng lưới hệ thống .
full-stack-developer-la-gi

Anh có gặp khó khăn gì khi chuyển sang làm Full-Stack trong môi trường “quốc tế” như vậy không?

Ban đầu khi mới làm tại đây, anh gặp khó khăn về khả năng giải thích. Ngày xưa ở Việt Nam giải thích bằng tiếng Việt đôi lúc khách hàng, đồng nghiệp còn không hiểu nên khi giải thích bằng Tiếng Anh lại càng khó hơn.

Thế là thay vì lý giải dài dòng, anh chia việc làm ra làm và đưa người mua xem sau khi xong mỗi phần nhỏ. Lúc đó không cần lý giải nhiều người ta cũng hiểu mình muốn nói gì .
Chẳng hạn, anh làm trước một giao diện rồi đưa cho họ phản hồi sẽ thuận tiện hơn là chỉ nói miệng. Vả lại, mục tiêu tiếp xúc là mình hiểu người đối lập muốn gì và ngược lại là tốt rồi, không nên nói quá nhiều .

Anh nghĩ đây là một kinh nghiệm rất hữu ích cho công việc full-time sau này vì không Developer nào không được việc cả. Vấn đề là mình có làm đúng như khách hàng muốn không và có giải thích được việc mình làm sẽ giúp ích được gì cho họ không.

Do đó, nếu dùng kĩ năng trên để xử lý yếu tố này thì dù có bị rào cản ngôn từ, Developer cũng có cách vượt qua .

Theo anh, Full-Stack giúp nâng cấp sự nghiệp của Developer như thế nào?

Việc làm Full-Stack này rất mê hoặc và anh nghĩ những Developer nên phấn đấu đạt được vị trí này vì :

  • Full Stack Developer dễ tìm được việc làm hơn do có skill set rộng.

Một Full-Stack Developer có thể chuyển sang làm Front-end Developer hoặc Back-end Developer hay làm về Database dễ dàng mà không tốn nhiều thời gian hay bị hụt kiến thức. Do đó, bạn không sợ bị thất nghiệp hay chán nghề.

Một điều nữa là những công ty Start-up và công ty nhỏ thường ưu tiên tuyển Full-Stack Developer hơn .
Ở tiến trình đầu thiết kế xây dựng loại sản phẩm, những công ty cần những Developer đa năng, có cái nhìn tổng thể và toàn diện về mạng lưới hệ thống. Khi mẫu sản phẩm bước vào tiến trình hoàn thành xong, tăng trưởng thêm thì họ mới cần những người có kỹ năng và kiến thức nâng cao .

  • Lương cao hơn so với các Developer khác.

Phần lớn những mẩu tin tuyển dụng có chữ “ Full-Stack Web Developer ” thì mức lương thường cao hơn “ Web Developer ” thuần với cùng Lever .
Chủ Blog Codeaholicguy, cũng là bạn anh, khi chuyển từ vị trí Java Senior Developer sang làm Senior Full-Stack Developer bên KMS Technology thì lương tăng khoảng chừng 30 % .
Anh ấy cũng có san sẻ về yếu tố này tại bài viết “ Giá trị của một Fullstack Developer “. Tuy nhiên, dù có theo hướng Full-Stack hay theo hướng nâng cao một nghành nghề dịch vụ đều hoàn toàn có thể đạt mức lương cao quý .

  • Dễ thăng tiến hơn

Bởi vì kiến thức và kỹ năng Full-Stack giúp họ có cái nhìn tổng thể và toàn diện về mạng lưới hệ thống, rất thiết yếu và được nhìn nhận cao nếu họ muốn tăng trưởng lên thành Team Leader, Product Manager hay Software Architect .
Ngoài ra, do biết cả Front-end, Back-end, Design … nên họ trở thành cầu nối giữa những team với nhau, giúp tiếp xúc giữa những team và những thành viên cùng team trở nên trôi chảy hơn. Điều này giúp Full-Stack Developer dễ trở thành key thành viên trong team và đương nhiên dễ thăng quan tiến chức hơn .

Những tố chất quan trọng để trở thành Full-Stack Developer là gì?

3

3
Anh Hoàng tại trường Lancaster .

  • Ham học hỏi

Lượng kỹ năng và kiến thức để làm Full-Stack nhiều gấp đôi, gấp ba kiến thức và kỹ năng để làm Front-end và Back-end vì phải chịu nghĩa vụ và trách nhiệm, nắm hết mọi thứ từ đầu tới cuối. Do đó, cần phải không ngừng update kiến thức và kỹ năng mới mỗi ngày .

  • Có trách nhiệm

Full-Stack Developer là người “ đứng mũi chịu sào ” cho cả một loại sản phẩm. Khi anh mới vào làm cho trường được 1 tháng thì chỉ được làm phần Front-end, sửa những App đã có sẵn thôi nhưng từ lúc làm Full-Stack Developer, Product Manager đã giao cho anh một sáng tạo độc đáo .

Từ ý tưởng đó phải lập kế hoạch làm App đó từ đầu tới cuối, từ việc phải đi nói chuyện với khách hàng để lấy requirement, thiết kế giao diện, nhận phản hồi và thực hiện cho đến lúc nó chạy được. Do đó, tinh thần trách nhiệm trong công việc là cực kì cần thiết.

  • Năng động, giao tiếp tốt

Vì Full-Stack Developer phải cáng đáng nhiều việc, từng ngóc ngách của loại sản phẩm, thao tác với rất nhiều người gồm những Admin, người mua … nên nếu không tiếp xúc tốt thì rất khó mà trụ được .
Nhiều người nghĩ rằng trong ngành lập trình chỉ cần tập trung chuyên sâu tăng trưởng năng lực Technical là đủ nhưng theo quan điểm của anh, điều đó chưa đủ để bạn trở thành một lập trình viên giỏi .

  • Developer còn cần kĩ năng giao tiếp, trình bày vấn đề, kĩ năng thuyết phục người khác (khi muốn thuyết phục quản lý tăng lương chẳng hạn) để làm việc trơn tru với team và các team khác.

Những kĩ năng này cũng rất thiết yếu để thăng quan tiến chức đến những vị trí quản trị ( Team lead, PM … ) nữa .

Vậy để trở thành Full-Stack Developer, các Junior Developer phải bắt đầu như thế nào?

Từ bất kì vị trí nào, bạn cũng có thể tiến lên làm Full-Stack Developer.

Nếu bạn là Front-end Developer thì hoàn toàn có thể điều tra và nghiên cứu thêm về Back-end và ngược lại. Sau đó nghiên cứu và điều tra thêm về hạ tầng, UI / UX .
Như anh bắt đầu được tuyển vào phòng IT của trường là để làm Front-end. Tuy nhiên bên Back-end lại thiếu người nên anh tự đề cử mình đảm nhiệm luôn phần Back-end .
Sau đó, anh được cho đi tiếp xúc với người mua, nhận requirement và từ đó làm Full-Stack Developer luôn .

Anh có từng mắc sai lầm gì trong công việc?

photo-3-18-16-11-50-50-am

photo-3-18-16-11-50-50-am
Anh Hoàng ( ngoài cùng bên trái ) và bạn hữu tại phòng IT trường Lancaster .
Lúc mới vào làm tại phòng IT của trường, do chưa hiểu rõ mạng lưới hệ thống lắm nên anh hay làm sai 1 số ít quá trình, thậm chí còn là hay làm những việc mà Developer không được phép làm nữa.
Khi bị khiển trách thì anh mới lý giải là “ Vì không ai cấm. ” Sau đó, PM mới nói lại rằng “ Không cấm nhưng không có nghĩa là được phép làm. ”
Thật ra yếu tố ở đây là anh rất ngại hỏi người khác, nhất là lại với người quốc tế nữa nên càng ngại .
Lúc thao tác tại FPT Software, anh cũng từng mắc sai lầm đáng tiếc này .
Ở vị trí Junior Developer, có rất nhiều điều anh còn chưa biết và lại rất ngại hỏi những đàn anh và cứ thích tự khám phá .
Lý do một phần là vì ngại, một phần là vì cái tôi cá thể, sợ hỏi nhiều sẽ bị nhìn nhận. Khi nhận được requirement, anh bắt tay vào code theo ý mình luôn, dẫn đến việc thành phẩm làm ra không đúng như nhu yếu .

Từ đó, anh rút ra kinh nghiệm là mình phải hỏi đồng nghiệp, sếp càng nhiều càng tốt.

Để tiết kiệm ngân sách và chi phí thời hạn cho người được hỏi, bạn nên sẵn sàng chuẩn bị sẵn những điều muốn hỏi và tự tìm hiểu và khám phá trước khi hỏi .

Ngoài ra, khi nhận được requirement không nên bắt tay vào làm ngay, mà phải xác định rõ ràng vấn đề với BA, PM trước.

Mẹo nhỏ là hoàn toàn có thể tranh thủ lúc team cùng đi ăn nhậu để hỏi những điều muốn hỏi. Lúc này, do không phải tập trung chuyên sâu thao tác nên không ai cảm thấy phiền khi bị hỏi đâu.

Anh có lời khuyên nào cho các bạn trẻ muốn trở thành Full-Stack Developer?

  • Full-Stack Developer là một công việc hay, thú vị nhưng không quá hay, quá thú vị như mọi người đồn đại và cũng đi kèm với nhiều áp lực, trách nhiệm. Do đó, bạn phải xác định là mình yêu thích, muốn làm thì mới theo được.

Vì nếu chỉ làm Front-end hay Back-end Developer thôi là đã phải update khối lượng kiến thức và kỹ năng không nhỏ rồi, làm Full-Stack Developer còn phải nhân số đó lên 2, lên 3. Đừng vì ham lương cao mà chọn sai .

  • Rèn tiếng Anh thật tốt.

Developer ở Nước Ta chưa giỏi Tiếng Anh lắm. Nếu muốn học tập nhiều về công nghệ tiên tiến mới thì học bằng tiếng Việt thôi chưa đủ, còn phải đọc tài liệu bằng tiếng Anh nữa .
Thật ra, tiếng Anh dành cho Developer không hề “ nặng ”. Bạn chỉ cần đọc hiểu những hướng dẫn với những từ chuyên ngành bằng tiếng Anh là đủ rồi !
Do đó, theo anh, cách tốt nhất để những bạn rèn luyện là chăm đọc hướng dẫn, tài liệu bằng tiếng Anh và ghi nhớ những từ chuyên ngành nhiều vào là được .

  • Các bạn đừng nên làm ở công ty Outsourcing quá lâu.

Khi code cho Outsourcing, bạn sẽ nhận requirement rất rõ ràng và cứ code xong module là xong .
Khi bạn code cho công ty Product, bạn sẽ được tranh luận với nhóm để tìm ra requirement, bạn sẽ phải tiếp xúc với rất nhiều người như Lead hoặc Product Manager. Nhờ đó, bạn sẽ rèn luyện được kiến thức và kỹ năng nghiên cứu và phân tích yếu tố và kiến thức và kỹ năng tiếp xúc – vốn là những kiến thức và kỹ năng quan trọng để bạn bước lên những vị trí cao hơn .

Những resource hữu ích mà anh đã từng tham khảo?

Tiếp theo, những bạn hoàn toàn có thể lên Codeacademy hoặc Freecodecamp để làm những Tutorial và bài tập .
Để sâu xa hơn về Front-end, những bạn hoàn toàn có thể đọc JavaScript : The good part, Professional JavaScript for Web Developers .

  • Về UI/UX: Biết code front-end là một chuyện, bạn vẫn phải học UI/UX để thiết kế làm ra dễ sử dụng. Hai cuốn sách về UX tuy cũ mà hay là Don’t Make me Think và User Interface Design for Programmers rất đáng để đọc.

Ngoài ra, bạn lên Medium để tìm hiểu thêm những bài viết về UX .

Bạn nào chọn C# làm ngôn ngữ Back-end thì nên đọc C# In Depth và 2 khóa C# Design StrategiesC# Best Practices: Improving on the Basics trên pluralsight.

Cám ơn anh Hoàng về những chia sẻ bổ ích. Chúc anh luôn thành công trong công việc và học tập.

Robby ITviec

Robby ITviec

Nếu bạn nghĩ những chia sẻ này có thể giúp ích cho bạn bè hoặc đồng nghiệp, đừng quên nhấn nút Share bên dưới nhé!

Và đừng quên tham khảo việc làm Full-stack Developer tại ITviec

Quản lý Data ứng viên tiềm năng ứng dụng công nghệ AI và Xây dựng Thương hiệu tuyển dụng hiệu quả.

Đăng ký NGAY