Nguồn nhân lực ngành IT vẫn luôn là câu chuyện nóng hổi suốt nhiều năm nay. Sáng nay AgileBreakFast được hân hạnh tiếp chuyện cùng anh Nguyễn Tuân, Giám đốc Đào tạo của FPT-Aptech Hà Nội xoay quanh công việc nuôi dưỡng nhân lực cho ngành phát triển phần mềm. Chúng ta sẽ cùng anh Tuân trao đổi những góc nhìn về Agile, Scrum, Lean và công việc đào tạo lập trình.
ABF: Xin chào anh Tuân, ABF rất hân hạnh được trò chuyện cùng anh về Agile, Scrum và đào tạo lập trình viên .
NT: Xin chào AgileBreakFast, tôi rất vui lòng. Agile và đào tạo lập trình luôn là niềm yêu thích của tôi.
ABF: Theo dõi các hoạt động của FPT-Aptech Hà Nội vài năm gần đây thì mọi người đều thấy các anh đang rất bền bỉ thúc đẩy giảng dạy, học tập và thực hành Agile. Vì sao vậy thưa anh?
NT: Chúng tôi nhận thấy việc học lập trình của các bạn sinh viên về cơ bản là tốt nhưng lại thường gặp vấn đề về kỹ năng làm việc nhóm. Trước khi đưa Agile vào giảng dạy và sử dụng trong các đồ án cuối kỳ của sinh viên, chúng tôi có áp dụng một số phương pháp truyền thống như Waterfall nhưng kết là sinh viên gặp rất nhiều vấn đề trong kỹ năng làm việc nhóm, quản lý dự án, phản ứng chậm với yêu cầu điều chỉnh và đặc biệt là hiệu quả thấp. Rất may là chúng tôi được cộng tác với các chuyên gia của Agile từ rất sớm, băt đầu từ khoảng giữa năm 2008.
ABF: Xin anh hãy kể ra những hoạt động nổi bật nhất được không?
NT: Chúng tôi đã 3 năm liên tiếp đồng hành cùng AgileVietnam.org tổ chức AgileTour tại FPT-Aptech trong các sự kiện thường niên. Rất nhiều các Workshop về Agile để đào tạo cho giảng viên và sinh viên được tổ chức. Sinh viên sẽ có nhiều trải nghiệp thực tế với Agile thông qua 4 Project trong suốt khoá học 2 năm.
ABF:Theo anh, tại sao những lập trình viên cần sớm được biết đến Agile?
NT: Nói đến lao động tức là nói đến năng suất hiệu quả công việc. Agile giúp cho tăng năng suất hiệu quả làm việc hiển nhiên càng biết sớm càng tốt.
ABF:Có người cho rằng học Agile rất khó, phải lập trình viên “già dơ” mới học được. Điều này có đúng không thưa anh?
NT: Tôi không nghĩ như vậy, trong giới Agile có một định nghĩa vui là ScrumBut để chỉ việc thực hành Scrum không chuẩn, hay sửa đổi quy tắc. Đối tượng hay ScrumBut nhất lại thường là đối tượng “già dơ”, vì họ đã trải qua một số các quy trình làm phần mềm nào đó và khá khó để có thể khiến họ tuân thủ đúng Scrum chuẩn. Với người mới học lập trình thì điều này ít xảy ra vì không bị ảnh hưởng bởi các yếu tố trên, do đó việc học Agile ở sinh viên còn thuận lợi hơn so với người đã có nhiều năm kinh nghiệm.
ABF: Các anh dạy Agile như thế nào?
NT: Sau khi kết thúc mỗi kỳ học(4 kỳ) sinh viên sẽ được làm dự án với các yêu cầu ngặt nghèo như một sản phẩm thật. Bài toán thật, khách hàng thật, môi trường thật và quy trình thì sử dụng Agile. Các sinh viên sẽ được chia nhóm từ 3-5 sinh viên một nhóm. Các nhóm sẽ được huấn luyện về Agile trước trong vòng 1 tuần, sau đó là áp dụng vào sản phẩm của các em. Trong suốt quá trình đó sẽ có sự đồng hành của giáo viên đóng vai trò là Product Owner, toàn bộ quá trình này là 1,5 tháng.
ABF: Anh nói là “quy trình Agile”, liệu cách nói này có khiến người khác hiểu nhầm Agile là “quy trình” không? Agile, ngoài quy trình còn là gì nữa?
NT: Vâng chính xác là các phương pháp của Agile, cụ thể là chúng tôi sử dụng Scrum Framework, như các bạn đã biết Agile có XP, Scrum, Lean Software Development, AgileUP, Crystal, FDD, DSDM… đều hướng tới yếu tố linh hoạt, hiệu quả làm việc, tinh giảm chi phí, giảm thiểu sai sót, gia tăng sự cộng tác. Chúng tôi sử dụng Scrum vì Scrum phù hợp với tiêu chí của chúng tôi là gọn nhẹ, linh hoạt, đề cao tinh thần teamwork và có thể hoàn thành tốt project trong thời gian ngắn.
ABF: Liệu sinh viên IT có thể tự học Agile mà thành thạo được không? Hay phải tham gia các nhóm dự án chuyên nghiệp?
NT: Cái khó nhất của Agile là thực hành, áp dụng vào sản phẩm chứ không chỉ hiểu và biết nên môi trường tốt nhất vẫn phải là các dự án thực tế, tất nhiên không nhất thiết phải là các nhóm dự án chuyên nghiệp. Nhưng điều quan trọng là cần có huấn luận viên tham gia cùng nhóm dự án.
ABF: Liên quan đến chuyện học lập trình, theo anh phải mất bao lâu thì một lập trình viên mới thạo nghề được?
NT: 10.000 giờ thực hành có chủ đích là con số tiêu chuẩn để trở thành chuyên gia. Tại FPT-Aptech sau 2 năm học có sự tập trung tốt các bạn sinh viên của chúng tôi có thể sẵn sàng làm việc tốt được.
ABF: Riêng Agile, phải mất bao lâu thì có thể thạo được các kĩ thuật cơ bản?
NT: Nếu được tiếp cận với Agile “chuẩn”, được huấn luyện với các chuyên gia của Agile và quan trọng hơn là được áp dụng thực tế có sự kèm cặp của huấn luận viên thì có thể chỉ sau một dự án là đã có thể thạo rồi.
ABF: Liệu có cần đến 10.000 giờ nữa để thành “nghệ nhân phần mềm” (software craftsman) không, thưa anh?
NT: Vâng tất nhiên rồi, mọi công việc đều cần có thời gian cần thiết để thẩm thấu, để tinh thông nghề. Gladwell đưa ra quy tắc 10 năm/10.000 giờ của một người làm nghề liên tục có chủ đích. Quy tắc này có tác dụng ngay lập tức khi liên hệ với những người giỏi chuyên môn thực hành liên tục trong nghề của mình. Tuy nhiên không phải là cứ làm việc liên tục đủ 10 năm thì bạn sẽ trở thành nghệ nhân trong nghề đó, điều này khó có thể đạt được nếu anh làm một việc lặp đi lặp lại trong từng ấy năm. Nó đòi hỏi thêm năng lực tự học, học tập liên tục, học tập chuyên sâu để đạt được kỹ năng tinh thông về nghề nghiệp.
ABF: Nhưng Agile nó như kĩ năng mềm, trong khi công nghệ (ví như các nền tảng Java/.NET/iOS…) mới trực tiếp tạo ra sản phẩm. Vậy vai trò thực sự của Agile là gì?
NT: Đó chính là vấn đề mấu chốt của chúng tôi khi chưa áp dụng Agile tại FPT-Aptech. Sinh viên có kỹ năng thực hành tốt, nhưng thực tế thì hiệu quả làm sản phẩm, làm việc nhóm kém hiệu quả. Agile có khả năng linh hoạt tốt, việc điều chỉnh hoặc thay đổi trong sản phẩm theo yêu cầu của khách hàng hoàn toàn có thể đáp ứng tốt, bên cạnh đó hoạt động trong Teamwork gắn kết chặt chẽ, thông tin thông suốt rõ ràng. Không có điểm mù trong dự án hoàn toàn là white box chứ không phải black box như mô hình waterfall điều này giúp cho việc nhận diện vấn đề sớm để có phương án xử lý. Ngay cả với lập trình viên làm việc độc lập thì kỹ năng giải quyết vấn đề (problem-solving) là kỹ năng “mềm” quan trọng nhất, kỹ năng này đòi hỏi người lập trình viên phải có cái nhìn bao quát về vấn đề của bài toán rồi đưa ra các phân tích, đánh giá chi tiết, từ đó có được giải pháp tốt nhất.
ABF: Chúng tôi thấy xu hướng các bạn thích làm ra sản phẩm ngay, cả lập trình viên cũng vậy, chứ ít quan tâm tới những thứ mang tính “luyện công” như TDD, các kĩ thuật Refactoring, Design Pattern hay Scrum. Theo anh điều này có hại gì cho việc phát triển năng lực lâu dài của lập trình viên?
NT: Điều chúng tôi chú tâm là thúc đẩy việc học tập liên tục cho sinh viên. Đây là năng lực quan trọng nhất để có thể thích nghi được với sự thay đổi của công nghệ. Ban đầu việc đạt được đến mức tạo ra sản phẩm với người lập trình viên mới là mức cơ bản. Nhưng về lâu dài nếu không đầu tư vào các kỹ thuật như bạn nói thì năng lực lập trình khó mà đạt đến độ “tinh hoa”, vì khi đã đi vào vòng xoáy làm việc, hết dự án này sang dự án khác thì điều kiện để đạt được kỹ năng “nghệ nhân” là rất khó. Giống như tôi đã nói ở trên thì quy tắc 10 năm/10.000 giờ của Glawell là phải thực hành có chủ đích.
ABF: Học Agile là để làm ra những sản phẩm sáng tạo, mang lại giá trị cho người dùng. Trong đó, có những giá trị có thể giúp cho người lập trình viên giàu có. Liệu chúng ta có nên khuyến khích các sinh viên khởi nghiệp từ sớm không?
NT: Nên khởi nghiệp càng sớm càng tốt kể cả là 99,9 % khởi nghiệp là thất bại thì giá trị bạn học dược, kinh nghiệm và 0,1 phần trăm thành công là giá trị vô giá mà bạn đạt được.
ABF: Liệu thất bại có đáng sợ không, dễ vượt qua không?
NT: Khi bạn làm một việc với sự quyết tâm cao nhất, tâm huyết nhất, kỳ vọng vào sự thành công và tiêu đến những đồng tiền cuối cùng của mình, thậm chí nợ nần; thì sự thất bại hiển nhiên là đáng sợ chứ! Tuy nhiên điều đó còn tuỳ thuộc rất nhiều vào sự nhìn nhận của mỗi nhóm phát triển, mỗi cá nhân. Nếu có sự phân tính, đánh giá, để giúp tìm ra vấn đề của sản phẩm từ đó điều chỉnh để có được sự chuẩn bị tiếp theo tốt hơn thì không có gì đáng sợ cả :).
ABF: Thế mà giới khởi nghiệp lại có khẩu quyết “Fail Fast, Fail Often” (thất bại sớm, thất bại thường xuyên)?
NT: Lean Startup khuyến khích việc làm quen với thất bại sớm, từ đó giảm thiểu nỗi lo sợ thất bại. Chuẩn bị cho sự thất bại để từ bài học thất bại dẫn đến bài học thành công.
ABF: Liệu học Lean Startup có giúp gì cho sự khởi nghiệp của sinh viên IT không?
NT: Rất cần thiết! Lean Startup hiện giờ là cách tốt nhất để phát triển ý tưởng mới và là phương thức giúp cho các bạn sinh viên sớm tìm ra các rủi ro các vấn đề nhận định sai lầm của mình về thị trường để từ đó có được sự chuẩn bị tốt hơn. Điều cốt lõi của Lean Startup là giúp đưa nhanh sản phẩm ra thị trường, từ đó có thể đo đạc được hiệu quả tính khả thi và cải tiến. Điều này sẽ tiết kiệm được chi phí thời gian và tiền bạc.
ABF: Anh ấn tượng gì về hiện tượng Hà Đông FlappyBird? Liệu những ấn tượng Hà Đông có tác động gì vào đội ngũ nhà giáo IT không?
NT: Hiện tượng Hà Đông như một minh chứng rõ ràng cho thấy rằng lập trình là cơ hội rất lớn để chúng ta có thể chơi ngang ngửa với các bạn lập trình viên khác ở các nước có công nghệ thông tin phát triển. FlappyBird đã trở thành huyền thoại không chỉ ở Việt Nam còn là hiện tượng của cả thế giới làm Game di động, không quá lời khi nhiều hãng báo chí nói rằng Hà Đông đang dạy lại thế giới cách làm game di động. Tôi nghĩ là có tác động khá tích cực đến giảng viên IT, tạo ra sự phấn khích trong nghề là điều rất quan trọng đối với chúng tôi nó truyền cảm hứng đến sinh viên của mình.
ABF: Liệu việc đưa Agile vào đào tạo sớm trong nhà trường, cùng với cơ chế khuyến khích startup có góp phần tạo thêm nhiều câu chuyện FlappyBird nữa không?
NT: Tôi cho là có.
ABF: Gần đây có hai sự kiện đáng chú ý: doanh nghiệp có tiếng rời bỏ Việt Nam là Atlassian và eXo Platform. Một số cho rằng nguyên nhân là do thiếu vắng nhân lực chất lượng cao? Anh đánh giá điều này như thế nào?
NT: Tôi không rõ chính xác nguyên nhân chính là gì! Nhưng nhân lực chất lượng cao đúng là chúng ta đang thiếu, thiếu rất nhiều. Việc đào tạo nhân lực CNTT hiện nay của chúng ta chưa chú trọng nhiều vào việc đào tạo nhân lực chất lượng cao, chưa trang bị cho họ nhưng kỹ năng để có thể thích nghi và ứng biến với sự thay đổi nhanh chóng của công nghệ. Với các công ty phần mềm cũng vậy, họ chưa chú trọng nhiều đến việc xây dựng văn hoá học tập, khuyến khích nhân viên phát triển năng lực cá nhân. Một loạt các vị trí nhân lực chất lượng cao bị bỏ trống ở các công ty phần mềm phần nào nói lên điều này.
ABF: Agile có thực sự là một cơ hội tốt để nâng tầm tay nghề chuyên viên phát triển người Việt không?
NT: Agile là cơ hội rất tốt cho việc phát triển tay nghề, tôi nghĩ khá nhiều người, nhiều công ty đã nhìn ra hiệu quả của nó. Theo dõi trong vài năm trở lại đây các sự kiện AgileTour, ScrumDay, CodeRetreat tôi thấy số lượng các CTO, CEO, các lập trình viên tham dự càng ngày càng đông. Cộng đồng Agile tại Việt Nam hoạt đông rất tích cực, có thể nói Agile không còn là khái niệm quá xa lạ không chỉ các công ty công nghệ mà còn ở các công ty về y tế, giáo dục, truyền thông. Tôi có một anh bạn làm cố vấn Marketing tại một tập đoàn đa ngành nghề đã áp dụng Agile Marketing trong công việc và thu được là rất tốt. Hiện tại doanh nghiệp bên anh ấy làm việc rất Agile.
ABF: Anh là một giảng viên có hơn 10 năm dạy lập trình, chắc hẳn có nhiều sinh viên đáng nhớ. Anh có thể kể ra một trường hợp sinh viên nào mà anh rất ấn tượng về cách lĩnh hội các công nghệ và tri thức mới không?
NT: Tôi nhớ một bạn sinh viên khá cá biệt. Học hành nói chung là chểnh mảng. Nhưng lại có ưu điểm là tiếng Anh rất khá, nghe nói điểm IELTS cao lắm, thực tế thì giỏi thật. Tôi nói với cậu ấy là em đã có một lợi thế rất lớn mà rất nhiều các bạn khác mới chỉ ở xuất phát điểm thôi. Tôi có đưa cho cậu ấy một cuốn eBook là tài liệu đọc thêm và giao cho nhiệm vụ cộng tác với một bạn học khá trong lớp dịch 1 chương trong nội dung bài học sắp tới để chia sẻ với các bạn trong lớp, khuyến khích trình bày bằng Powerpoint. Kết quả khá tốt, được các bạn và thầy giáo khuyến khích, bạn ấy hăng hái nhận dịch luôn vài chương nữa. Điều tôi rất vui là cuối cùng đó lại là một trong nhưng sinh viên rất triển vọng. Giờ cậu ấy đang làm bên Mỹ, hài lòng với lựa chọn của mình. Tôi vẫn thường đưa ví dụ này ra nói với các bạn sinh viên khoá sau, bên cạnh những yếu tố quan trọng khác, thì Tiếng Anh phải học cẩn thận, coi như là điều kiện cần để giúp bản thân nâng cao tri thức, tiếp cận với thế giới công nghệ dễ dàng hơn.
ABF: Xin anh cho biết là việc liên tục đuổi theo những sự phát triển của IT có khiến các giảng viên mệt mỏi không?
NT: Chúng tôi không đuổi theo mà chúng tôi đón đầu công nghệ nên không thể nói là mệt :D. Trong ngành IT của chúng tôi chuyển động đều là tụt hậu rồi. Làm việc và giảng dạy trong ngành IT có thể coi là một cơ hội rất tốt để tiếp cận “sớm” với tri thức mới, nên đó lại là lợi thế của giảng viên IT.
ABF: Nhân câu chuyện về Agile, anh có nhắn gửi gì tới những sinh viên của mình không?
NT: Tôi vẫn thường nói với các bạn sinh viên của mình học tập là một quá trình lâu dài và liên tục. Ngay cả khi các em đã đi làm thì tinh thần này vẫn phải duy trì. Đó là một việc không dễ đòi hỏi sự kiên trì, cần nhiều các hạnh động cụ thể để thích nghi và duy trì. Với sự thay đổi nhanh chóng của công nghệ, thì những thứ là số một của ngày hôm nay có thể là tối thiểu của ngày mai. Nên khả năng thích nghi và nâng cấp bản thân để phù hợp với các quy trình, công nghệ… là rất quan trọng.
ABF: Xin cảm ơn anh!
Tú Trâm thực hiện – AgileBreakfast
Đang tìm hiểu Agile . 🙂