Từ Android Developer đến Software Architect – Phỏng vấn Trần Vũ Tất Bình
Trần Vũ Tất Bình là một trong những Android developer đầu tiên ở Việt Nam và vẫn gắn bó với Android cho đến ngày hôm nay. Với 5 năm kinh nghiệm làm và train nhiều lứa lập trình viên, Bình có rất nhiều chia sẻ về các điểm mạnh/yếu của các bạn developer trẻ, cũng như suy nghĩ của anh về cách 1 ...
Trần Vũ Tất Bình là một trong những Android developer đầu tiên ở Việt Nam và vẫn gắn bó với Android cho đến ngày hôm nay. Với 5 năm kinh nghiệm làm và train nhiều lứa lập trình viên, Bình có rất nhiều chia sẻ về các điểm mạnh/yếu của các bạn developer trẻ, cũng như suy nghĩ của anh về cách 1 developer có thể làm để trở thành software architect trong tương lai.
Câu chuyện anh đến với Android là như thế nào?
Đấy là vào khoảng năm 2008; khi đó anh đang làm outsourcing cho một công ty của Nhật ở Việt Nam. Làm outsourcing thì thường được học nhiều công nghệ khác nhau, đó là cách anh biết đến Android lần đầu tiên.
Android lúc đó mới tinh, học rất thích vì nó có mã nguồn mở, cảm giác mình có rất nhiều thứ để khám phá và học hỏi trong ngôn ngữ mới mẻ đấy.
Tuy nhiên được một thời gian thì công ty anh cũng xao lãng dần với Android; lúc này nó cũng mới mà. Anh nhận được offer sang Nhật học công nghệ mới, còn nếu muốn làm tiếp Android thì có thể… nghỉ việc.
Vậy anh chọn sang Nhật hay nghỉ việc?
Anh quyết định nghỉ việc. Lúc đó anh cũng không nghĩ là mình đang mạo hiểm gì cả. Anh chỉ biết mình thích cái này, và Android còn nhiều cái thú vị để học. Nghỉ hẳn là để làm cho đến đầu đến đũa với cái công nghệ này.
Anh tự học nhiều chứ?
Tất cả là tự học. 2 năm đầu code anh không hề dùng thư viện ngoài mà tự code mọi thứ bằng tay.
Anh đã train bao nhiêu lứa android developer rồi?
(Đếm một lúc) 7 lứa.
Sau những kinh nghiệm làm việc với bạn developer trẻ của mình, anh có nhận thấy các bạn thường yếu về mặt nào?
Có 1 số điểm yếu chung. Đầu tiên là các bạn trẻ thường đánh giá nội dung dựa vào danh tiếng của người/nguồn nhiều hơn ở giá trị thực sự.
Ví dụ như bạn đi BarCamp, phòng nào có speaker người nước ngòai bao giờ cũng đông hơn. Hay nhiều bạn khi google, chỉ cần thấy nguồn đó được viết bằng tiếng Anh là mặc nhiên coi đó là đúng mà không cần tự suy xét, đánh giá lại, trong khi nhiều trường hợp nội dung đó cũng không tốt.
Hai là các bạn thường chỉ thích kết quả mà không quan tâm đến quá trình. Các bạn trẻ hay thích tự khẳng định mình, thích làm xong thật nhanh 1 vấn đề nào đó. Tuy nhiên, nếu các bạn không chịu đi con đường dài hơn, nhìn nhận vấn đề cẩn thận để hiểu kỹ mọi thứ, lần sau gặp vấn đề khác đi 1 chút các bạn sẽ không biết làm như thế nào.
Anh học được điều này như thế nào?
Hồi trước anh có làm ở 1 công ty outsourcing lớn. Project đó là làm với HTC. Sản phẩm bọn anh làm ra gửi cho HTC bị họ gửi lại bắt lỗi và sửa chữa 3,4 lần. Đối với công ty anh lúc đó thì coi đó là chuyện bình thường, nhưng anh coi đó là một thất bại lớn.
HTC họ làm việc chuyên nghiệp, họ nhận sản phẩm và xem xét tỉ mỉ, thấy chỗ nào không ổn họ hỏi lại ngay. Vì chỉ tập trung làm cho xong kết quả, nhiều khi mình sẽ không giải thích được lại với người ta vì sao mình làm như vậy.
Sau bài học đó, anh lúc nào cũng đặt yêu cầu thật cao với mọi sản phẩm mình làm, cũng như khi train cho các bạn trẻ. Các bạn mới ra trường luôn cần có 1 leader có standard cao như vậy, sẽ rất có ích cho sự chuyên nghiệp và thái độ làm việc của các bạn sau này.
Ví dụ anh train điều này như thế nào?
Khi anh hỏi các bạn hiểu chưa và các bạn bảo hiểu, anh biết hiểu cũng có nhiều cấp độ. Chỉ cần hỏi thêm vài câu tại sao chỗ này làm thế này, nếu sửa vấn đề đi một chút thì xử lý như thế nào… là biết ngay.
Như anh đã nói, 2 năm đầu code android anh không hề dùng đến thư viện ngoài. Sẽ mất thời gian hơn nhiều, nhưng nhờ thế mình hiểu vấn đề hơn.
Có nhận xét là ở Việt Nam có dưới 20 software architect chính gốc. Anh nghĩ vì sao về nhận xét này?
Software architect nói nôm na là xây dựng kiến trúc tổng thể của một sản phẩm phần mềm như thế nào, và những phần đó sẽ làm việc với nhau như thế nào.
IT ở Việt Nam phát triển lúc đầu tiên chủ yếu là ở lĩnh vực outsourcing. Làm outsourcing thì ít công ty được khách hàng giao làm đến phần đó [architect]. Thường khách hàng không bao giờ cho mình sửa architect của họ, nên số lượng software architect ở Việt Nam còn ít cũng đúng.
Con số này có đang tăng lên?
Có chứ. Với sự xuất hiện của nhiều startup và các công ty làm product, developer ở Việt Nam sẽ được làm việc nhiều với kiến trúc tổng thế của sản phẩm và phát triển dần cách tư duy của 1 software architect.
Lời khuyên của anh cho những bạn software developer muốn trở thành software architect trong tương lai?
Các bạn trẻ nên bắt đầu từ các công ty outsource lớn trước để học nhiều công nghệ khác nhau, có cơ hội tham gia vào các dự án qui mô lớn, và có người làm mentor cho các bạn. Tuy nhiên cũng vì chỉ làm việc theo project công ty nhận được, bạn sẽ khó để đi lên theo 1 hướng chuyên sâu hơn.
Lời khuyên của anh là các bạn tìm hiểu về cái gì thì nên hiểu thật sâu về bản chất của nó, sẽ rất có lợi cho về lâu dài. Hay nói đơn giản là các bạn cần hiểu rõ từng dòng code mà các bạn viết ra là được