Full Stack Developer là gì? Có lợi ích gì cho sự nghiệp của bạn?

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.”

Đọc phỏng vấn của ITviec với anh Phạm Huy Hoàng, một Full Stack Developer trẻ đang làm việc tại phòng IT của trường đại học Lancaster, Vương Quốc Anh để nghe chia sẻ về:

  • 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 gian làm việc tại FPT Software rồi sau đó chuyển sang làm tại ASWIG Solutions với vị trí Developer ngôn ngữ C#. Hiện tại, anh đang học Thạc sĩ Computer Science tại Đại học Lancaster ở Vương Quốc Anh và kiêm chức Full Stack Developer tại phòng IT của trường.

Anh có thể mô tả công việc hằng ngày của một Full Stack Developer?

Với công việc Full-stack, cơ bản là bạn phả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 đang làm cho trường đại học Lancaster là một App cho sinh viên của trường tên là “I Love Lancaster”. App này sẽ tổng hợp toàn bộ tiện ích trong thời gian học tại trường cho sinh viên, chẳng hạn như xe buýt, thời khóa biểu… giúp các bạn học tập dễ dàng hơn. Anh làm toàn bộ mọi việc từ nhận requirement của khách hàng là các phòng ban trong trường, 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.

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ì giải thích dài dòng, anh chia công việc ra làm và đưa khách hàng xem sau khi xong mỗi phần nhỏ. Lúc đó không cần giải thích 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ẽ dễ dàng hơn là chỉ nói miệng. Vả lại, mục đích giao tiếp là mình hiểu người đối diện 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 để giải quyết vấn đề này thì dù có bị rào cản ngôn ngữ, Developer cũng có cách vượt qua.

Việc làm Full Stack Developer tại TP HCM

Việc làm Full Stack Developer tại Hà Nội

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 thú vị và anh nghĩ các 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 đó, em không sợ bị thất nghiệp hay chán nghề. Một điều nữa là các công ty Start-up và công ty nhỏ thường ưu tiên tuyển Full Stack Developer hơn. Ở giai đoạn đầu xây dựng sản phẩm, các công ty cần những Developer đa năng, có cái nhìn tổng thể về hệ thống. Khi sản phẩm bước vào giai đoạn hoàn thiện, phát triển thêm thì họ mới cần những người có kiến thức chuyên sâu.
  • Lương cao hơn so với các Developer khác. Phần lớn các 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 cấp độ. 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 30%. Anh ấy cũng có chia sẻ về vấn đề 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 chuyên sâu một lĩnh vực đều có thể đạt mức lương cao cả.
  • Dễ thăng tiến hơn vì kiến thức Full-stack giúp họ có cái nhìn tổng thể về hệ thống, rất cần thiết và được đánh giá cao nếu họ muốn phát triển 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 các team với nhau, giúp giao tiếp giữa các team và các 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 member trong team và dĩ nhiên dễ thăng tiến hơn.

Việc làm Senior Full Stack Developer

Những tố chất quan trọng nào để một Developer có thể đảm nhiệm vị trí Full-stack?

3

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

  • Ham học hỏi: lượng kiến thức để làm Full-stack nhiều gấp đôi, gấp ba kiến thức để làm Front-end và Back-end vì phải chịu 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 cập nhật kiến thức 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 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 ý tưởng. 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 sản phẩm, làm việc với rất nhiều người gồm các Admin, khách hàng… nên nếu không giao tiếp 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 phát triển khả năng 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 cần thiết để thăng tiến đến các vị trí quản lý (Team lead, PM…) nữa.

Vậy để làm được tới vị trí Full-stack này, 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ì có thể nghiên cứu thêm về Back-end và ngược lại. Sau đó nghiên cứu thêm về cơ sở hạ tầng, UI/UX. Như anh ban đầ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 giao tiếp với khách hàng, nhận requirement và từ đó làm Full-Stack Developer luôn.

Việc làm Back End Developer

Việc làm Front End Developer

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

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

Anh Hoàng (ngoài cùng bên trái) và bạn bè 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õ hệ thống lắm nên anh hay làm sai một số quy trình, thậm chí 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 giải thích 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 vấn đề ở đây là anh rất ngại hỏi người khác, nhất là lại với người nước ngoài nữa nên càng ngại.

Lúc làm việc tại FPT Software, anh cũng đã từng mắc sai lầm này. Ở vị trí Junior Developer, có rất nhiều điều anh còn chưa biết mà lại rất ngại hỏi các đàn anh và cứ thích tự tìm hiểu. Lý do một phần là vì ngại, một phần là vì cái tôi cá nhân, sợ hỏi nhiều sẽ bị đánh giá. 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ư yêu cầ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 thời gian cho người được hỏi thì bạn nên chuẩn bị sẵn những điều muốn hỏi và tự tìm hiểu 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à 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 làm việ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 cập nhật khối lượng kiến thức 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 ở Việt Nam chưa giỏi Tiếng Anh lắm. Nếu muốn học tập nhiều về công nghệ 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 các hướng dẫn với các từ chuyên ngành bằng tiếng Anh là đủ rồi! Do đó, theo anh, cách tốt nhất để các 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.

Anh có thể chia sẻ vài resource hữu ích cho các bạn Developer muốn trở thành Full-Stack Developer?

  • 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 để tham khảo các bài viết về UX.

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.

Xem ngay việc làm Full-stack Developer tại ITviec

Robby ITviec

Đừng ngại đặt câu hỏi với anh Hoàng về nghề Full-Stack Developer trong bình luận bên dưới! Nếu bạn có quan điểm nào khác về nghề, hãy chia sẻ cùng ITviec nhé!

Bài Viết Liên Quan

About the Author:

Content Lead

I love language and I believe it can change people's mind. Read more...

Comments