Chuyện Nghề cùng Careerly trở lại với những chia sẻ từ anh Nguyễn Ngọc Thịnh, CTO Loship về cách bước khỏi vùng an toàn và tạo ra thêm nhiều giá trị khi code để trở thành một developer giỏi hơn.

Careerly (C): Lời đầu tiên, rất cảm ơn anh đã dành thời gian phỏng vấn cùng Careerly ngày hôm nay. Anh có thể giới thiệu qua về bản thân cho các độc giả của Careerly được biết không?
Nguyễn Ngọc Thịnh (T): Chào mọi người, anh là Thịnh, hiện tại là CTO của Loship. Trong thời gian học tại Đại học Khoa học Tự Nhiên TP.HCM, anh đã tham gia vào dự án startup Lozi, giờ là Loship. Được một thời gian thì anh tạm dừng công việc ở Lozi để tập trung hoàn thành việc học đại học. Sau khi tốt nghiệp, anh có đi thực tập ở vị trí lập trình tại một vài công ty khác, sau đó anh lại quay trở về Lozi. Từ đó thì anh làm cho Lozi/Loship tới tận bây giờ luôn, chắc cũng được khá lâu khoảng 5-7 năm rồi.
C: Trải nghiệm tham gia dự án startup Lozi từ khi còn học đại học đã mang lại cho anh những gì?
T: Trước đó anh chỉ tập trung vào học thôi, nhưng Lozi đã cho anh cơ hội được bước ra ngoài thực hành, trải nghiệm, thỏa mãn khao khát ứng dụng kiến thức vào thực tế. Ngoài ra, đây cũng là cơ hội giúp anh hiểu bản thân mình hơn, biết được điểm mạnh, điểm yếu của mình là gì, để từ đó có thể định hướng phát triển bản thân, sự nghiệp tốt hơn trong tương lai.
Thực ra thì anh thấy việc tham gia dự án khởi nghiệp, hay bất cứ một cơ hội thực hành nào khác như đi thực tập ở các công ty lớn, tham gia các cuộc thi, v.v đều có thể giúp ích cho sự nghiệp của các bạn. Ở thời điểm đó, Lozi là cơ hội lớn nhất đến với anh, các bạn trong team khởi nghiệp ở Lozi cũng cho anh thấy lửa nhiệt huyết của mình, nên không có lý do gì anh lại từ chối cơ hội này cả. Riêng về trải nghiệm làm startup thì khác ở chỗ bọn anh phải tự làm tất cả mọi thứ, vừa đi vừa mò đường, chứ không có ai cầm tay dẫn dắt mình cả. Thực ra đây là một con đường không hề dễ đi, nhất là khi anh lại tham gia startup từ khi còn đại học chưa có kinh nghiệm đi làm, thì cảm giác như hai thứ hỗn loạn nó trộn lại với nhau vậy. Nhưng tự mình mò mẫm cũng giúp anh học hỏi được nhiều điều mới lạ.
Nhìn chung, việc tham gia startup hay không thì anh nghĩ mọi người nên có định hướng phù hợp cho riêng bản thân. Còn nếu chưa hiểu bản thân và định hướng được thì đừng ngần ngại chớp lấy những cơ hội tới với mình, vì trải nghiệm ấy sẽ giúp bạn bớt mông lung, và biết đâu lại giúp bạn tìm được một môi trường phù hợp.
C: Ban nãy anh đã chia sẻ có một khoảng thời gian anh rời Lozi để tập trung hoàn thành việc học. Vậy tại sao anh lại đưa ra quyết định này?
T: Lý do chính dẫn đến quyết định của anh khi ấy là vì anh cảm thấy kiến thức, năng lực của mình vẫn còn nhiều thiếu sót, cần được trau dồi thêm. Đội ngũ tham gia phát triển Lozi những ngày đầu đều rất giỏi, nên với những kiến thức của anh lúc ấy, anh thấy những gì anh có thể làm được cho Lozi cũng chẳng là bao so với các bạn. Nên anh nghĩ giải pháp tốt nhất cho anh là quay lại hoàn thành việc học, cũng như đi thực tập thêm ở nơi khác, để giúp bản thân anh có nhiều kiến thức, trải nghiệm hơn, và cũng là giúp cho Lozi nhiều hơn sau này khi anh quay lại.
C: Một số lời khuyên anh muốn dành cho các bạn trẻ muốn phát triển sự nghiệp trong lĩnh vực công nghệ nói chung, và các vị trí technical như developer nói riêng?
T: Anh nghĩ với developer hay nghề nào cũng vậy thôi, điều đầu tiên bạn phải có là sự nghiêm túc với nghề, với sự lựa chọn của mình. Khi đã có được thái độ ấy rồi, thì bạn phải thể hiện bằng hành động. Không chỉ là mục tiêu tương lai, mà nó phải là hành động của bạn ngay hôm nay, và duy trì hành động, sống với nghề như thế mỗi ngày.
Với anh thì hằng ngày anh xài Twitter, Hacker News để cập nhật các tin tức mới liên quan đến công nghệ. Ngoài ra thì anh cũng đọc các blog nước ngoài qua Medium, Substack; còn blog ở VN thì anh thấy blog bên Careerly cũng hay, nội dung của Careerly khá chất lượng, có định hướng rõ ràng. Không những đọc blog mà còn cần chăm chỉ đọc sách nữa. Ngoài ra thì không chỉ đọc mà các bạn cũng nên viết review sách, tự tổng hợp những gì mình đúc kết được từ sách để có thể hiểu và nhớ kiến thức lâu hơn.
Đặc biệt, các bạn phải thực sự làm được cái gì đó. Như bên anh thì hay gọi đó là một pet project – một project mà chúng ta rất cưng chiều, có thể chơi và phát triển nó hàng ngày. Thường thì khi đi làm công ty các bạn sẽ bị ảnh hưởng bởi các yếu tố về business, nhưng ở đây anh chỉ muốn khuyên các bạn làm gì đó để có thể thực sự ứng dụng công nghệ trong thực tế và cải thiện kỹ năng bản thân hơn mà không cần quan tâm đến yếu tố business.
C: Vậy không biết anh có thể gợi ý một cuốn sách mà các bạn muốn bắt đầu công việc lập trình nên đọc không?
T: Với các bạn muốn bắt đầu công việc lập trình, anh sẽ gợi ý cho các bạn cuốn Compilers. Nhìn chung, Compilers là một thành phần căn bản không thể thiếu trong bất cứ ngôn ngữ lập trình nào. Việc các bạn biết về Compilers thì cũng như các bạn biết thêm được một ngôn ngữ lập trình mới vậy. Khi đó các bạn sẽ có nhiều góc nhìn rõ ràng hơn về các ngôn ngữ lập trình hiện tại mình đang học.
Ngoài ra, anh cũng gửi các bạn link dưới đây có khá là nhiều cuốn sách căn bản liên quan đến Computer Science, mà trong đó anh cũng đã đọc khoảng 80%, hy vọng có thêm gợi ý cho nhiều bạn muốn tập trung những stack khác nhau.
Link: https://teachyourselfcs.com/#languages
C: Bên cạnh phát triển kiến thức chuyên môn, tại sao anh lại khuyến khích các bạn developer cập nhật tin tức thị trường, phát triển toàn diện các kỹ năng mềm khác như viết blog?
T: Các bạn làm developer, cũng là làm công nghệ, mà công nghệ thì thay đổi rất nhanh. Các bạn cần thường xuyên đọc tin tức để cập nhật được những thông tin mới, những thay đổi trong ngành và không bị bỡ ngỡ khi có một xu hướng mới nào đó quá đột phá xuất hiện. Tiếp theo, đọc blog là để các bạn học hỏi kiến thức, cũng như được truyền cảm hứng từ những người chung ngành, chung nghề với mình. Đặc biệt việc theo dõi những người cùng ngành trên thế giới sẽ giúp các bạn tiếp cận được với tiêu chuẩn ở tầm quốc tế. Ví dụ như ở Loship, với các bạn Android Developer chẳng hạn, anh sẽ yêu cầu các bạn theo dõi top 10 Android Developer trên thế giới, có thể theo cảm tính của bạn, nhưng các bạn sẽ cần phải theo dõi để học hỏi kinh nghiệm từ họ.

Còn mục đích chính của viết blog là để ôn lại kiến thức cho mình. Khi bạn đọc kiến thức của người khác, bạn chỉ hấp thụ được khoảng 20-30%, nhưng khi bạn viết ra được thì bạn sẽ hệ thống được kiến thức theo cách hiểu của mình và hiểu nó sâu hơn. Bạn cũng chia sẻ thêm góc nhìn của mình cho những người khác, và biết đâu sau này, những lứa sau bạn lại được truyền cảm hứng bởi những gì bạn viết. Còn một điểm tốt nữa ở viết blog là các developer buộc phải bước ra khỏi vùng an toàn của mình. Tuy vùng an toàn của các bạn là viết code, nhưng nếu các bạn có thể vừa viết code và vừa chia sẻ kiến thức thì mới có thể lan tỏa được nhiều giá trị hơn cho những dòng code của mình.
Muốn cập nhật tin tức các Senior trong ngành công nghệ tại Việt Nam đang quan tâm? Muốn viết lại những gì mình học được, nhưng nghe viết blog thì hơi áp lực?
Tham gia ứng dụng Careerly sắp ra mắt để nhanh chóng cập nhật xu hướng, thoải mái lưu lại ngắn gọn những gì bạn học được, cũng như chia sẻ giúp người khác trong ngành công nghệ cùng học tập! Đăng ký danh sách chờ tại https://try.careerly.vn/welcome/
C: Anh có thể chia sẻ thêm về một ngày làm việc của anh thường diễn ra như thế nào không? Chắc có rất nhiều bạn trẻ ngoài kia tò mò không biết một ngày làm việc của Giám đốc Công nghệ sẽ như thế nào!
T: Ngày làm việc của anh hay thay đổi tùy từng thời điểm, nhưng công việc của anh thường sẽ gồm 2 mảng chính là vận hành team và code. Trước giờ anh vẫn rất thích code và code rất nhiều, anh nghĩ việc duy trì code là con đường ngắn nhất để anh có thể đến gần với các bạn trong team hơn. Về vận hành team thì anh phải đảm bảo team không có bất kỳ một project nào diễn ra quá lâu. Ví dụ như các bạn tốn vài ngày không giải quyết được vấn đề nào đó thì phải report để anh can thiệp vào ngay. Ngoài ra, anh cũng có một văn hóa là cứ thứ 5 hàng tuần, anh sẽ có khoảng 30 phút dành cho mỗi bạn trong 1 team cố định để trao đổi về một vấn đề nghiêm trọng nhất mà bạn chưa tự giải quyết được để anh giúp bạn tìm lời giải.
C: Ở vị trí CTO thường xuyên tuyển dụng các thành viên cho team Tech của Loship, ngoài yếu tố chuyên môn, có đặc điểm gì anh thường tìm kiếm ở ứng viên không?
T: Thực ra, khi tuyển dụng thì anh thường không quá coi trọng vấn đề chuyên môn. Vì Loship có một lộ trình khá rõ ràng để các bạn có thể học tập, phát triển trở thành một developer tốt. Và thường thì viết lên trang giấy trắng sẽ dễ hơn viết lên trang giấy nhiều chữ đúng không?
Nên thường khi tuyển dụng, anh sẽ quan tâm hơn đến một số yếu tố sau. Điều đầu tiên là bạn có thể hiện được đam mê với nghề, có định hướng rõ ràng cho sự nghiệp tương lai của mình hay không. Hoặc nếu bạn chưa có định hướng thì tư duy của bạn đủ cởi mở để tiếp nhận những góp ý cho định hướng của bạn hay không. Thứ hai là tinh thần làm việc nhóm và sự phù hợp với team. Anh thường tìm kiếm những bạn có tinh thần sẵn sàng hỗ trợ đồng nghiệp, thẳng thắn chia sẻ ý kiến để cả team cùng phát triển, kể cả khi có xung đột.
C: Theo kinh nghiệm nhiều năm tuyển dụng các bạn developer, anh thấy các bạn hay có thiếu sót gì trong quá trình chuẩn bị ứng tuyển cũng như phỏng vấn?
T: Đầu tiên là về CV ứng tuyển. Nhìn chung, các bạn đi tìm việc cũng giống như đang bán hàng vậy, sản phẩm ở đây là tài năng của bạn, nên các bạn cần phải miêu tả ngắn gọn, súc tích về “sản phẩm” ấy để giúp khách hàng đưa ra quyết định nhanh nhất có thể. Vậy để người tuyển dụng có thể thấy được khả năng của bạn nhanh nhất, thì điều đầu tiên mà anh muốn các bạn lưu ý hơn, là bạn cần chọn những kinh nghiệm nhất quán với định hướng của mình và phù hợp với công việc bạn đang ứng tuyển. Anh ví dụ như một bạn ghi trên phần intro của mình là bạn muốn làm Android Developer, nhưng sau đó bạn lại nhảy qua Backend, hay qua Web thì sẽ cho thấy bạn định hướng chưa rõ ràng. Một điều nữa là ở phần mô tả kinh nghiệm hay dự án , nếu phần task của các kinh nghiệm cũng tương tự nhau thì các bạn cần viết ngắn gọn, thay vào đó tập trung vào những kinh nghiệm có task mới, cho thấy được nhiều khía cạnh khác nhau của bạn.
Còn khi đi phỏng vấn thì các bạn cần phải tìm hiểu thật kỹ công ty, sau đó xác định rõ mình muốn gì ở công ty. Với Loship thì có một câu hỏi anh luôn hỏi với bất kỳ ứng viên nào, đó là “Top 3 điều bạn tìm kiếm ở công ty là gì?”. Tuyển dụng-ứng tuyển là hai chiều, bạn cần việc thật nên bạn mới ứng tuyển, nhưng công ty cũng cần người nên họ mới tuyển dụng. Vậy thì tại sao chúng ta không cùng nêu ra những điểm chúng ta muốn ở đối phương để có thể matching với nhau? Công ty đã thể hiện họ muốn gì ở JD rồi, thì các bạn cũng nên thể hiện được mình muốn gì trong buổi phỏng vấn. Ngoài ra thì biết đâu sau này khi có ý định rời công ty, bạn có thể nhìn lại 3 yếu tố này và dựa vào đó mà quyết định. Đó là sự trưởng thành, là cách chúng ta quyết định vào hay quyết định ra đều dựa trên những tiêu chí rõ ràng, chứ không phải chỉ cảm tính theo kiểu hôm nay sếp giận, sếp la gì đó thì mình giận sếp mình nghỉ.
C: Được biết trong team Tech ở Loship có một khái niệm khá lạ, đó là “Pair làm Product”. Anh có thể giải thích rõ hơn về khái niệm này, cũng như những lợi ích mà cách làm việc này đem lại cho công ty, sản phẩm nói chung và từng thành viên trong team nói riêng không?
T: Thực ra đây cũng không phải là khái niệm mới, tuy nhiên với những bạn làm ở các công ty outsourcing, hoặc công ty làm theo mô hình “thác nước” (waterfall) thì nó có thể khá mới. Theo mô hình truyền thống thì công ty thường sẽ cấu tạo team tech theo các stack, ví dụ như Android, iOS, Web, Backend; và làm việc theo dự án, tức là mỗi khi có dự án thì các bạn ở từng stack được chọn random để làm dự án đó, và khi kết thúc dự án thì họ lại quay về với stack của mình.
Nhưng hoạt động theo kiểu này sẽ không phù hợp với tính chất của một công ty product. Vì khi làm product, điểm bắt đầu không phải điểm làm prototype mà là điểm ra mắt sản phẩm, sau đó chúng ta cần liên tục nhận feedback từ người dùng và update sản phẩm cho phù hợp. Vậy mô hình Pair đơn giản là một đội có tất cả các stack gồm 1 Android, 1 iOS, 1 Backend, 1 Web sẽ phụ trách từ đầu tới cuối quá trình phát triển và ra mắt sản phẩm / tính năng, sau đó tiếp tục duy trì, update sản phẩm / tính năng đó. Như vậy thì chúng ta sẽ có 1 đội làm việc cùng nhau xuyên suốt quá trình phát triển và quản lý sản phẩm, hiểu sản phẩm để cải thiện nó hiệu quả hơn. Về phía developer thì cách làm việc như vậy cũng giúp họ cảm nhận được rõ ràng giá trị của những dòng code họ viết góp phần “nuôi lớn” sản phẩm như thế nào, đặc biệt qua việc liên tục đón nhận feedback từ người dùng thực tế.
C: Loship đang có những thế mạnh gì so với đối thủ về mặt công nghệ?
T: Nhìn chung, Loship thường tiếp cận công nghệ mới khá sớm so với các công ty khác. Ví dụ như với việc chuyển đổi sang ngôn ngữ lập trình Golang, ngôn ngữ lập trình được tạo ra bởi Google đang dần trở thành xu thế trong giới công nghệ những năm trở lại đây. Loship đã bắt đầu khởi động chuyển đổi sang ngôn ngữ lập trình này từ khoảng 5-7 năm trước, và đến thời điểm hiện tại đã có thể ứng dụng khoảng 90-95%, trong khi nhiều công ty giờ mới chuyển qua được khoảng 30-40%.
Một điểm đặc biệt về công nghệ nữa ở Loship là bên anh thường tự xây dựng tất cả hệ thống, thay vì mua ay thuê một hệ thống, dịch vụ bên ngoài. Chiến lược này có cả thuận lợi và khó khăn. Về khó khăn thì ban đầu sẽ tốn nhiều công sức và thời gian hơn để xây dựng và duy trì hệ thống như vậy. Nhưng bù lại nó cũng giúp tiết kiệm chi phí mua/thuê dịch vụ bên ngoài, nhất là trong thời kỳ đầu còn thiếu thốn về tài chính.
Và văn hóa đó kéo dài xuyên suốt đến thời điểm hiện tại. Tốc độ build phải rất nhanh, mô hình và kiến trúc phải cực chuẩn. Đến khi sản phẩm đã phát triển và có những nhu cầu vượt ngoài khả năng của team, bên anh mới dùng dịch vụ bên ngoài. Nhưng kể cả khi ấy thì team cũng có lợi thế vận hành hệ thống trơn tru hơn nhờ những kinh nghiệm xây dựng hệ thống từ trước đó.
C: Gần đây, có một chủ đề công nghệ được khá nhiều người quan tâm đó chính là Metaverse, anh có thể chia sẻ quan điểm cá nhân của anh về chủ đề này cho độc giả của Careerly được không?
T: Anh nghĩ cũng khá nhiều năm rồi mới xuất hiện một công nghệ có thể mang tính đột phá như Metaverse. Chắc là các bạn cũng nghe nhiều, nhưng cũng không mấy ai đào sâu tìm hiểu Metaverse là gì. Cũng vì thực ra là hiện tại nó chưa xuất hiện, mình cứ nghe từ Metaverse thôi, còn bảo Metaverse là gì thì rất khó để định nghĩa. Vậy nên có thể nói Metaverse mang tính đột phá, nhưng theo hướng nào thì rất khó đoán.
Ví dụ như biết đâu trong vài năm nữa, các bạn ngồi ở đây, đeo 1 thiết bị thì các bạn có thể thấy mình đang đi bộ trên một con đường ở New York và cảm nhận rất rõ ràng không khí ở đó. Hay thậm chí, bạn có thể đến một cửa hàng thời trang ở New York, thử một đôi giày rồi 2 ngày sau bạn nhận được đôi giày đó về Việt Nam. Dù không biết chắc hình hài của Metaverse, nhưng ví dụ như vậy chắc cũng giúp các bạn hiểu Metaverse có thể tạo ra một thế giới đảo ngược về mặt trải nghiệm nói chung, cũng như trải nghiệm của khách hàng nói riêng.
Nhưng điều quan trọng là khái niệm này sinh ra vì thế giới thực của chúng ta đang có một nhu cầu cụ thể, đó là làm sao để mọi thứ trong thế giới online trở nên chân thực nhất có thể. Ngoài ra thì anh cũng hy vọng, nếu Metaverse xuất hiện thì Việt Nam có thể sớm tiếp cận với nó. Vì các bạn developer Việt Nam rất giỏi, nên anh nghĩ các bạn có thể sớm tiếp cận và ứng dụng các công nghệ mới.
C: Anh cảm thấy công việc CTO hiện tại đã đem lại giá trị gì cho mình?
T: Cũng như các công việc, vị trí khác thôi, anh thấy công việc này đem lại cho mình hai thứ, là thu nhập, và trải nghiệm. Dù những giá trị lâu dài cũng quan trọng, nhưng chúng ta cũng không thể bỏ qua các giá trị ngắn hạn như lương tháng để có thể giữ lửa và tiếp tục theo đuổi chặng đường dài kia đúng không?
Còn về trải nghiệm thì trải nghiệm ở vị trí CTO đương nhiên sẽ rất khác so với trải nghiệm ở vị trí như developer. Nó đặt lên vai anh nhiều trách nhiệm và gánh nặng hơn, nhưng cũng cho anh động lực để phát triển bản thân. Thay vì chỉ ngồi code, anh sẽ phải giải quyết các vấn đề khác, nhưng từ đó anh lại cải thiện được nhiều kỹ năng mềm như khả năng giao tiếp, vận hành team,… Ngoài ra, anh cũng phải luôn trau dồi kiến thức để có thể nhạy bén với những xu hướng công nghệ mới tiềm năng trong tương lai.
Một điều đặc biệt khác khi làm CTO tại Loship chính là, anh được trao quyền để tạo ra những giá trị lớn, không chỉ cho cá nhân anh mà còn cả một cộng đồng, cụ thể là đội ngũ shipper đang ngày ngày kiếm cơm cùng Loship. Khi em làm một thứ mà những giá trị vượt ra ngoài phạm vi bản thân em, thì tự nhiên em sẽ cảm thấy trách nhiệm của mình cao hơn rất nhiều, nhưng điều này cũng cho anh nhiều động lực để cố gắng hoàn thành tốt công việc hơn.
C: Lời cuối anh muốn nhắn nhủ đến độc giả của Careerly?
T: Lời cuối cùng, anh muốn nhắn các bạn rằng bất cứ điều gì bạn làm, điều quan trọng nhất vẫn là sự bền bỉ. Nếu bạn đã bắt đầu làm gì thì hãy luôn luôn bền bỉ với nó. Đó là cách duy nhất để bạn tạo ra được sức ảnh hưởng lớn, những giá trị lớn trong sự nghiệp và cuộc sống của bản thân.
C: Cảm ơn anh đã dành thời gian cho Careerly và độc giả. Hi vọng có thể trao đổi với anh nhiều hơn nữa trên Careerly App.