Lập trình viên Việt nên chú trọng đến chất lượng của code mình viết ra – Phỏng vấn Lê Hoàng Dũng

“Lập trình viên Việt nên chú trọng đến chất lượng của code mình viết ra. Càng ngày, thị trường nhân lực lập trình càng đòi hỏi cao hơn về kỹ năng lập trình của các lập trình viên.” ~ Lê Hoàng Dũng

Đó là câu nói của anh Lê Hoàng Dũng hiện là Engineering Manager kiêm Technical Architect tại công ty Harvey Nash Vietnam (là một nhánh của Harvey Nash Group, với hơn 1600 kỹ sư phần mềm tại các trung tâm phát triển ở Thành phố Hồ Chí Minh và Hà Nội).

Anh đã có buổi chia sẻ những kinh nghiệm của bản thân với độc giả VinaCode.

Lê Hoàng Dũng hiện là Engineering Manager kiêm Technical Architect tại công ty Harvey Nash Vietnam.Lê Hoàng Dũng hiện là Engineering Manager kiêm Technical Architect tại công ty Harvey Nash Vietnam.


Xin chào anh Dũng, rất vui được trò chuyện với anh hôm nay.

Xin chào VinaCode.

Anh có thể giới thiệu đôi chút về bản thân?

Mình là Lê Hoàng Dũng, là một lập trình viên, trainer và còn là một blogger. Mình thích đọc tiểu thuyết, viết blog, làm các hoạt động CTXH (công tác xã hội) và luôn mong muốn chia sẻ kiến thức, cách luyện tập để hình thành kỹ năng lập trình đến với lập trình viên Việt Nam.

Anh được nhận danh hiệu MVP (Microsoft Most Valuable Professional) của Microsoft trong 3 năm liên tiếp là 2011, 2012, 2013. Vậy lý do nào mà Microsoft trao danh hiệu này cho anh?

Mình nhớ là vào năm 2010, sau hai năm rời khỏi vị trí giảng viên ở trường Đại học Khoa học Huế, thì mình đã quay lại trường để làm một số chương trình đào tạo miễn phí cho sinh viên về ASP.NET MVC vào các ngày cuối tuần trong 10 tuần liên tục và tổ chức một số buổi nói chuyện với sinh viên về định hướng phát triển cho sinh viên CNTT. Ngoài ra thời điểm đó mình có lập một trang viết bài lập trình hỗ trợ đa ngữ là Geeksship.com. Sau đó mình đã cho trang này ngừng hoạt động vì tham vọng dành cho nó quá với sức của mình lúc đó. Nhưng các hoạt động của mình được Microsoft Việt Nam để ý đến và đề cử mình vào giải thưởng Microsoft MVP.

Lê Hoàng Dũng đang chia sẻ về công nghệ Microsoft cho các sinh viên tại Đại học Khoa học Huế.Lê Hoàng Dũng đang chia sẻ về công nghệ Microsoft cho các sinh viên tại Đại học Khoa học Huế.

Microsoft MVP là giải thưởng dành cho những chuyên gia về công nghệ của Microsoft đã có những hoạt động nhằm chia sẻ tri thức liên quan đến công nghệ của Microsoft đến giới kỹ thuật và có ảnh hưởng nhất định giúp công nghệ của Microsoft lan tỏa hơn trong giới kỹ thuật. Do các hoạt động của mình trong giai đoạn 2010 – 2013 có liên quan đến các công nghệ của Microsoft, nên mình vinh dự được Microsoft ghi nhận.

Cộng đồng lập trình Jou.vn do anh sáng lập rất có ích cho các Developer, anh có định hướng nào để phát triển cộng đồng này trong tương lai?

Jou.vn là cộng đồng được mình phôi thai xây dựng vào năm 2011 để thay thế cho Geeksship.com, và nó bắt đầu đi vào hoạt động từ tháng 1/2012, năm 2012 là giai đoạn mình viết nhiều bài nhất cho Jou.vn, khoảng 100 bài viết về lập trình. Từ năm 2013 đến nay, mình có một số thay đổi về công việc, và áp lực của công việc khá lớn khiến mình không thể đầu tư nhiều cho Jou.vn được. Đáng tiếc là, hầu như các lập trình viên Việt hiếm khi viết các bài hướng dẫn một cách chỉn chu, và do đó Jou.vn chỉ nhận được bài chia sẻ đến từ một số lập trình viên. Một vài bạn viết bài rất tốt như Yin Yang thì đã có blog riêng của mình.

Các bạn sinh viên ngành CNTT có vẻ yêu thích mô hình Forum hơn, nhưng các bài viết trong Forum thường không được biên tập kỹ càng nên chất lượng bài viết có phần giảm sút.

Hiện tại mình đang ở các bước chuẩn bị để xây dựng Jou.vn lên phiên bản 2.0, và bằng một công nghệ khác. Jou.vn phiên bản 2.0 sẽ ra mắt vào đầu năm 2015 với nhiều tính năng cho phép lập trình viên Việt Nam có thể cộng tác nhiều hơn và tăng tính tương tác thay vì chỉ hỗ trợ mọi người viết những bài tutorials như bây giờ. Và Jou.vn cũng sẽ hỗ trợ tốt cho smartphone. ^^

Có ý kiến cho rằng Developer tại Việt Nam thiếu sự kết nối, bởi vậy không huy động được sức mạnh của cả cộng đồng. Quan điểm của anh về vấn đề này như thế nào?

Ý kiến này không phải là không có lý, rất khó để vận động mọi người chia sẻ và viết bài. Một số bạn lập trình viên vì hoàn cảnh đã tham gia làm freelancer từ rất sớm nên hầu như không có thời gian để chia sẻ do ngày phải làm ở công ty, tối lại làm freelancer. Mặt khác, kỹ năng giao tiếp, trình bày, hoặc diễn giải thành văn bản là những kỹ năng mà lập trình viên Việt đang còn thiếu và yếu, nên phần nào hạn chế khả năng chia sẻ tri thức đến với cộng đồng.

Tuy nhiên, mình đã nhận thấy có nhiều thay đổi trong vài năm vừa qua, những điểm sáng từ các nhóm lập trình viên như CiOne, IzWebz, các nhóm lập trình viên trên trang MeetUps.com, hay các hoạt động hackathon đến từ RMIT, ImagineCup của Microsoft và các cuộc thi về lập trình từ Nokia đã khuấy động bầu không khí của lập trình viên Việt. Sự xuất hiện của các công ty startup cũng giúp cho các bạn trẻ có nơi để thi thố tài năng và nhờ đó cũng phát triển nhanh hơn.

Mình nghĩ, đến một lúc nào đó, các công ty phần mềm chính là những nhân tố đi đầu trong việc phát triển cộng đồng, bởi hơn ai hết họ được hưởng lợi từ sự phát triển mạnh mẽ của các cộng đồng lập trình viên Việt. Một cộng đồng lập trình mạnh ở tại Việt Nam cũng sẽ giúp các bạn lập trình viên tiếp cận với công nghệ nhanh hơn trong khi vẫn phải tiếp tục hoàn thiện kỹ năng tiếng Anh để có thể hội nhập cùng với cộng đồng lập trình thế giới.

Từng là một giảng viên tại Đại học Khoa học Huế và hiện nay đang làm công tác tuyển dụng & đào tạo tại Harvey Nash thì anh đánh giá thế nào về điểm mạnh và yếu của các bạn sinh viên mới ra trường?

Hiện tại mình đang tham gia chương trình đào tạo Fresher của Harvey Nash, và mình thực sự ngạc nhiên và hài lòng về các bạn sinh viên mới ra trường. Các bạn đã có sự chuẩn bị tốt hơn các lứa sinh viên CNTT trước đây rất nhiều. Các bạn đã có kỹ năng tiếng Anh khá tốt, tiếp cận với nhiều công nghệ mới, khả năng thích nghi cao, kỹ năng lập trình tương đối ổn, và các kỹ năng mềm đã khá lên rất nhiều so với các anh chị sinh viên các khóa trước. Tuy nhiên, điều này chưa hẳn đã chính xác, bởi 30 bạn fresher này được tuyển chọn từ 900 hồ sơ đăng ký, tức là các bạn là những người khá nhất, nên chỉ phản ánh một phần của thực trạng mà thôi.

Lê Hoàng Dũng (thứ 2 từ phải sang) đang trao đổi với sinh viên CNTT tại chương trình Career Chat.Lê Hoàng Dũng (thứ 2 từ phải sang) đang trao đổi với sinh viên CNTT tại chương trình Career Chat.

Các bạn sinh viên mà mình tiếp xúc trong chương trình fresher của Harvey Nash vẫn còn nhiều điểm cần phải hoàn thiện bao gồm:

  • Các bạn cần chú trọng đến chất lượng (quality) của sản phẩm hơn khi lập trình. Học hỏi nhanh, lập trình nhanh nhưng chất lượng không đảm bảo thì khó có thể đáp ứng yêu cầu của khách hàng được.
  • Nên quan tâm nhiều hơn đến UI/UX.
  • Chất lượng code (code quality) rất quan trọng, nhiều bạn chưa chú trọng đến điều này. Những khái niệm như Clean Code, Unit Testing… vẫn còn xa lạ khi các bạn bắt đầu tham gia chương trình.

Hy vọng vài ý trên đây phần nào đã trả lời được câu hỏi của VinaCode.

Hiện tại anh đang là Software Architect, vậy theo anh thì một Developer muốn trở thành Software Architect cần phải có những kỹ năng gì?

Đây là một câu hỏi khó. Mình cũng đang có tham vọng xây dựng một training package nhằm trang bị kiến thức và kỹ năng cho các developer muốn trở thành Software Architect. Mình xin không trả lời câu hỏi này tại đây, thay vào đó các bạn hãy chờ đợi loạt bài viết về những kinh nghiệm khi làm Software Architect của mình nhé.

Được biết anh đặt mục tiêu trở thành một tiểu thuyết gia khi ngoài tuổi 50? Điều này có mâu thuẫn với tính cách của nghề lập trình viên thường được cho là khô khan?

Lê Hoàng Dũng đặt mục tiêu trở thành một tiểu thuyết gia khi ngoài tuổi 50.Đúng là việc ngồi quá lâu với máy tính và không có thời gian giao tiếp đã ít nhiều làm cho các lập trình viên trở nên khô khan trong mắt của những người xung quanh, nhưng không có nghĩa là các lập trình viên không có cảm xúc và không thể sáng tạo, nếu không sẽ không có những phần mềm hay và hấp dẫn cho người dùng.

Còn riêng mình, là một người yêu văn chương, và ham đọc sách từ nhỏ, nên mình có óc tưởng tượng khá phong phú, và mình luôn nghĩ ra những câu chuyện thú vị để có thể viết và chia sẻ. Tuy nhiên, hiện nay công việc chiếm quá nhiều thời gian khiến cho mình không thể viết nhiều như trước, mình mong là khi ngoài 50, mình sẽ có nhiều thời gian hơn để viết lách và sáng tác. Lúc đó, với những trải nghiệm của một con người đã qua nhiều giai đoạn của cuộc đời sẽ giúp mình viết tốt hơn và phong phú hơn.

Nếu được đưa ra một lời khuyên cho các bạn trẻ đang theo đuổi ngành IT thì anh sẽ nói gì?

Thực ra mình đã có nhiều lời khuyên qua một số bài viết về cách học lập trình trên blog cá nhân của mình (http://vn.tumivn.com/tag/lap-trinh/). Nhưng mình cũng xin tóm gọn trong vài ý:

  • Lập trình là công việc mang tính trí tuệ và cần sự sáng tạo, nên ngoài việc học và lập trình, các bạn nên tham giác các hoạt động xã hội, bồi dưỡng trí tuệ, và tiếp xúc nhiều hơn. Như vậy sẽ giúp cho các bạn có những ý tưởng thực tế để phát triển những phần mềm có ích cho xã hội.
  • Lập trình viên Việt nên chú trọng đến chất lượng của code mình viết ra. Càng ngày, thị trường nhân lực lập trình càng đòi hỏi cao hơn về kỹ năng lập trình của các lập trình viên.
  • Các bạn cần phải thích ứng tốt với các công nghệ mới, với nền tảng lập trình tốt, kiến thức tốt về thiết kế, thuật toán, lập trình hướng đối tượng, functional programming (không biết diễn dịch như thế nào), design patterns và kiến trúc phần mềm sẽ giúp bạn nhanh chóng thích nghi với mọi công nghệ mới. Các công nghệ, nền tảng như .NET/Java/PHP/Laravel/Django/ASP.NET/Android/iOS…v.v chỉ là công cụ giúp ta viết phần mềm mà thôi.
  • Nhớ rèn luyện các kỹ năng mềm (giao tiếp, kỹ năng quản lý, kỹ năng lãnh đạo, làm việc nhóm…) sẽ giúp bạn tiến xa. Các vị trí về kỹ thuật như Senior Engineer, Technical Architect hay Solution Architect đều đòi hỏi kỹ năng mềm cực tốt, chứ không phải chỉ có các vị trí như Project Manager, hay Business Analyst mới cần kỹ năng mềm.
  • Tiếng Anh, phải giỏi tiếng Anh mới phát triển tốt được vì hầu hết các nguồn tài liệu về lập trình đều được viết bằng tiếng Anh.
  • Rèn luyện kỹ năng học tập, đọc và viết tài liệu kỹ thuật sẽ giúp bạn tiến xa hơn với nghề nghiệp của mình.

Cám ơn anh đã tham gia phỏng vấn và cung cấp rất nhiều thông tin bổ ích cho độc giả của VinaCode. Chúc anh thành công với các kế hoạch phía trước.

Cảm ơn VinaCode.

Bạn có thể đọc các bài viết của anh Lê Hoàng Dũng tại cộng đồng lập trình Jou.vn cũng như qua blog cá nhân bằng tiếng Anhtiếng Việt. Hoặc liên hệ với anh qua LinkedIn, Google+, Twitter hay qua email tumivn[at]gmail.com

Nếu bạn thấy bài phỏng vấn này chứa nhiều thông tin thú vị thì hãy giúp blog VinaCode bằng cách nhấn Like để chia sẻ qua các mạng xã hội hoặc để lại vài dòng bình luận nhé!

Các bài viết liên quan:

Về người thực hiện phỏng vấn:

Hồ Sỹ HùngHồ Sỹ Hùng thuộc thế hệ 8x, sinh ra ở Nghệ An, học ở Hà Nội, có vài năm làm việc tại Sài Gòn, hiện tại đang sống và làm việc tại thành phố Biên Hòa, tỉnh Đồng Nai. Anh là lập trình viên có một số năm kinh nghiệm trong lĩnh vực: C#, VB.NET, ASP.NET, SQL Server, XML, MVC, Entity Framework, Android… Chi tiết

6 comments on “Lập trình viên Việt nên chú trọng đến chất lượng của code mình viết ra – Phỏng vấn Lê Hoàng Dũng

  1. đọc bài này em có định hướng tốt hơn với ngành của em. năm nay em định thi vào cntt nên những bài này rất cần . cảm ơn vinacode rất nhiều và mong là có thêm nhiều bài như thế này nữa

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s