Tuesday, February 27, 2018

Phỏng vấn anh Hoàng Hô – Chuyện chàng Phun Tắc Developer tại công ty Startup

Ở những kì trước, mình đã từng phỏng vấn anh Tiger Nguyễn – một BrSE “cứng cựa” với hơn 5 năm kinh nghiệm, anh Huy Trần (không Truồng) – kĩ sư mặt tiền tại xứ sử độn Silicon.
Kì này, chúng ta sẽ cùng trò chuyện với anh Nhật Hoàng Codeaholiguy, còn được gọi tận thương là Hoàng Hô.  Không chỉ là một bờ lốc gơ, anh còn là diễn giả kiêm streamer được mến mộ (Điểm hình là live stream hướng dẫn Git & Github với gần 20k view và hàng nghìn like từ nhiều trang).
Anh Hoàng Codeaholicguy (Hoàng Hô) đang trình bày về ReactJS
Hãy cùng lắng nghe những chia sẻ về con đường trở thành Full-Stack Developer cùng những điều hay ho khi làm việc tại công ty startup từ anh Hoàng nhé!

  1. Chào Hoàng, anh có thể giới thiệu sơ về bản thân (tên tuổi, nghề nghiệp, sở thích, nơi ở) cho bạn đọc biết được không?
Chào mọi người, mình tên Nguyễn Nhật Hoàng. Hiện tại mình đang sống ở Hồ Chí Minh và làm Software Engineer cho Kobiton, một startup về mobile device cloud platform. Ngoài ra thì mình cũng là người viết blog Codeaholicguy nếu bạn nào chưa biết.
Sở thích của mình là rượu chè, cờ bạc, mát xa gái gú. Đùa đấy, lúc rảnh rỗi mình thường hay đi phượt, chơi Dota, xem phim Mẽo dài tập, đọc sách để học công nghệ mới, rủ thằng Code Dạo làm vài cái ứng dụng nho nhỏ nữa (Ví dụ như ứng dụng Học Ngôn Ngữ Lập Trình Gì Bây Giờ)
Ứng dụng “Học Ngôn Ngữ Lập Trình Gì Bây Giờ” tại http://language.codeaholicguy.com/
  1. Anh giới thiệu đôi lời về bờ lốc Codeaholicguy của mình nha. Lý do nào khiến anh viết blog đó vậy?
Để nói về Codeaholicguy thì mình bắt đầu viết vào khoảng đầu năm 2015. Lúc đó mình bắt đầu bằng việc viết blog bằng tiếng Anh. Mục đích mình viết blog lúc đó chỉ là để mình lưu lại những thứ mình học được vì mình nghĩ cách tốt nhất để học đó là viết ra mọi thứ, ngoài ra thì mình còn muốn rèn luyện thêm khả năng viết tiếng Anh cho tốt.
Sau đó viết được khoảng 5 bài chủ yếu nội dung là về Java, thì mình ngưng viết.  Lúc đó Tôi đi code dạo cũng bắt đầu viết blog, thông qua trao đổi mình chợt nhận ra rằng rèn luyện kiến thức và kỹ năng của bản thân thì tốt nhưng nếu có thể chia sẻ nó đến với nhiều người, thì lại càng tuyệt vời hơn.
Nếu cứ giữ nội dung của Codeaholicguy như hiện tại thì thật khó mà chia sẻ vì mình nghĩ rằng cộng đồng Việt Nam cần những thứ thân thuộc hơn là việc đọc những bài viết tiếng anh với chủ đề tương tự đầy rẫy trên mạng. Cuối cùng mình quyết định xoá hết nội dung blog và viết bài lại từ đầu bằng tiếng Việt. Và như thế Codeaholicguy tồn tại đến hôm nay và thực sự mình rất vui vì đã làm được điều đó.
Blog Codeaholicguy tại https://codeaholicguy.com/
Nội dung của blog Codeaholicguy chủ yếu viết về kỹ thuật, nhưng bên cạnh đó mình cũng có những bài viết chia sẻ về kỹ năng mềm, những kinh nghiệm mà mình học được như kinh nghiệm phỏng vấn hay kỹ năng làm việc trong nhóm, hay chỉ đơn giản là chia sẻ cuộc sống hàng ngày, etc…
  1. Thông qua bờ lốc Codeaholicguy của anh, được biết anh hiện đang làm team leader tại Kobition. Anh có thể chia sẻ sơ về sản phẩm và công việc hàng ngày của mình không? Làm ở công ty startup thì có gì vui không?
Như mình đã nói, hiện tại mình đang là Software Engineer cho Kobiton, và đóng vai trò là Team Leader trong team. Đầu tiên mình sẽ trả lời câu hỏi làm trong công ty startup thì có gì vui không nhé.
Mình đã làm việc qua nhiều công ty từ outsourcing cho đến công ty làm sản phẩm, với nhiều vị trí khác nhau. Điều mình trải nghiệm được đó là tất cả lý thuyết chỉ mang tính tương đối, khi làm software chúng ta cần phải  hướng đến thực tế hơn là làm những thứ giống như sách vở. Ví dụ như phải quan tâm đến việc người dùng sử dụng một chức năng như thế nào, có hữu ích không, thay vì optimze code chạy cho thật nhanh, thật phức tạp, đúng với design pattern nhưng không ai xài, hay không ai có thể xài.
Và cũng chính vì vậy mà mình thích làm việc trong môi trường làm sản phẩm, nhất là với những công ty startup bởi vì ở đó mình sẽ có nhiều ownership hơn, tức là có cơ hội đưa ra quyết định cũng như có ảnh hưởng lên các quyết định nhiều hơn, ngoài ra đó còn là môi trường mà bản thân phải tự làm hầu hết mọi thứ.
Từ đó mình phải tự trau chuốt bản thân, học nhiều hơn, quyết định kỹ càng hơn để hoàn thiện mọi thứ một cách tốt nhất vì mỗi thứ chúng ta làm ra đều có ảnh hưởng rất lớn, và chúng ta phải chịu trách nhiệm cho những thứ chúng ta đã làm, đó cũng là cơ hội tốt để rèn luyện bản thân trở thành full-stack developer.
Bây giờ mình sẽ nói về Kobiton nhé! Kobiton là một startup về mobile device cloud platform, giúp chúng ta có thể test một website, một ứng dụng dễ dàng hơn trên nhiều thiết bị khác nhau như Samsung Galaxy S8, hay iPhone 7 Plus mà không cần phải mua các thiết bị đó.
Kobiton cung cấp cách thức để chúng ta có thể thực hiện automation test thông qua test script cũng như manual test thông qua việc remote control các thiết bị ngay trên trình duyệt web. Ngoài ra, Kobiton cũng lưu trữ lại tất cả dữ liệu như video, screenshot, log để chúng ta có thể chia sẻ cũng như debug nếu ứng dụng có vấn đề trên một thiết bị nào đó.
Anh Hoàng (hàng 1, thứ 5 từ trái sang) cùng với team lập trình tại Kobinton
  1. Tại sao anh lại đến với ngành lập trình này? Anh kể sơ về quá trình từ lúc đi học, đi làm cho tới khi ra trường, từ lúc làm dev quèn cho tới team leader được không?
Mình đến với nghành này như là định mệnh an bài vậy đó, từ nhỏ mình đã yêu thích máy tính, có thời gian rảnh là xin ba má cho chơi game rồi ngồi vọc vạch máy tính. Mình thích thú tìm hiểu cách mà người ta tạo ra những phần mềm, rồi mình tự mày mò làm game các kiểu.
Sau đó thì mình chọn FPT để học vì có nghành mình thích và cách đào tạo của trường rất khác, rất hấp dẫn. Lúc mới ra trường mình bắt đầu làm cho FPT Software, rồi sau đó mình chuyển sang làm sản phẩm cho NCT Corp, là công ty chủ quản của website nhaccuatui.com.
Đến tại thời điểm đó công việc chính của mình vẫn thiên về Java là chủ yếu, sau đó thì mình muốn thực hành những kiến thức về JavaScript, NodeJS mà mình tự học được nhưng môi trường hiện tại thì không có điều kiện để làm việc đó.
Và cũng thật may mắn khi KMS Technology tìm đến mình, giới thiệu cho mình về Kobiton, lúc đó Kobiton chỉ vừa mới định hình và thật may mắn khi mình được tham gia vào trong team phát triển sản phẩm này.
Đương sự (trái) đang vừa code vừa relax tại Kobiton, dáng ngồi đẹp nức lòng fan hâm mộ
  1. Thời đi làm, anh Hoàng từng làm ở công ty outsource (FPT), công ty product (Nhaccuatui), hiện tại là công ty startup (Kobition). Anh học được gì từ những công ty này, theo anh điểm khác nhau giữa chúng là gì, sinh viên nên chọn công ty dạng nào khi ra trường?
Đầu tiên chúng ta cùng làm rõ hai khái niệm outsourcing và làm sản phẩm.
Công ty outsourcing được những công ty khác thuê để làm phần mềm cho họ, công ty outsourcing sẽ không sở hữu hay quảng bá sản phẩm mà họ làm ra vì đơn giản nó là của công ty khác, và được trả tiền bởi công ty khác.
Công ty làm sản phẩm thì họ phải tự làm mọi thứ để quảng bá và bán sản phẩm của mình đến cho người dùng, và họ chỉ được trả tiền khi người dùng mua sản phẩm của họ. Nói như vậy cho đơn giản nhé!
Ở mỗi môi trường làm việc sẽ có những cái hay riêng, ví dụ như ở môi trường outsourcing chúng ta được làm việc ở nhiều dự án, sản phẩm, công nghệ khác nhau theo thời gian. Còn đối với môi trường làm sản phẩm thì điều tối quan trọng là việc đưa được sản phẩm tới tay người dùng, chúng ta sẽ được tận hưởng cảm giác sở hữu một sản phẩm và tham gia vào việc sản xuất nó từ đầu tới cuối.
Để thành công tại môi trường outsourcing chúng ta cần nhanh nhạy, dễ dàng thích ứng với những môi trường làm việc khác nhau. Còn để thành công ở môi trường làm sản phẩm thì chúng ta cần phải hiểu người dùng, phải take ownership khi làm bất cứ việc gì, cũng như hiểu sản phẩm.
Điều mình học được trong suốt khoảng thời gian làm việc đó là đù làm ở môi trường nào thì cũng phải luôn làm việc hết sức mình, hãy chịu trách nhiệm về những gì mình làm.
Dù làm ở môi trường nào thì cũng phải luôn làm việc hết sức mình, hãy chịu trách nhiệm về những gì mình làm…
Khi chúng ta dám chịu trách nhiệm về những gì mình làm thì chúng ta sẽ xây dựng được nền tảng lòng tin của mọi người xung quanh, cũng như để làm được chuyện đó chúng ta phải tự trau truốt bản thân để có cái nhìn bao quát hơn, suy nghĩ kĩ càng hơn. Và hơn hết, phải tìm hiểu gốc rễ của vấn đề trước khi đưa ra bất cứ kết luận nào.
  1. Được biết anh Hoàng hiện tại là full stack developer? Tại sao anh lại làm full-stack developer mà không phải là cái khác? Anh Hoàng có thể chia sẻ stack hiện tại, những công nghệ mình biết được không?
Với nhu cầu của công việc thì mình phải tiếp xúc với nhiều thứ trong quá trình phát triển sản phẩm, đến thời điểm hiện tại mình cũng không dám nhận mình là một fullstack developer mà chỉ là đang trong quá trình phát triển bản thân để có thể trở thành một full-stack developer. Đơn giản là vì mình nghĩ full-stack developer cần phải biết nhiều hơn nữa so với kiến thức của mình hiện tại.
Để nói về stack hiện tại của mình thì mình sử dụng JavaScript ở cả client side và server side thông qua NodeJS. Mình tìm hiểu nhiều nhưng để nói về những gì mình biết và hiểu rõ thì chắc có thể kể đến Java và JavaScript.
  1. Điều làm anh tự hào nhất trong suốt quãng đời đi làm là gì?
Điều mình tự hào nhất từ lúc bắt đầu đi làm cho tới bây giờ đó chính là blog Codeaholicguy, cũng như được tham gia vào team phát triển sản phẩm Kobiton – một sản phẩm cạnh tranh với khá nhiều công ty lớn trên thế giới như Amazon (Amazon device farm), Google (Firebase testlab), etc…
Hoàng và đồng đội đạt giải trong một cuộc thi Facebook Hackathon
  1. Được biết anh đã từng lead và phỏng vấn qua kha khá ứng viên, anh đánh giá thế nào về trình độ sinh viên IT Việt Nam, cũng như trình độ dev Việt Nam hiện tại.
Cũng không dám nói mình phỏng vấn qua nhiều ứng viên, nhưng để mà nói về trình độ sinh viên Việt Nam, mình thấy các bạn rất thông minh và nhanh nhạy, tuy nhiên còn thiếu sự va chạm thực tế, ngại nói ra ý kiến cá nhân và bị chi phối bởi nhiều vấn đề khác.
Đối với sinh viên mình nghĩ các bạn nên tập trung vào việc củng cố kiến thức về tiếng Anh, về Software Engineering, học tốt những thứ nền tảngđừng vội đi làm! Hãy tập trung làm thứ gì thật sự có ích trước, và tích luỹ thật nhiều kiến thức trước khi ra trường.
Về trình độ dev của Việt Nam, mình nghĩ có rất nhiều bạn xuất sắc tuy nhiên về mặt bằng chung thì còn khá thua kém so với nhiều nước khác bởi vì chúng ta bị ảnh hưởng quá nhiều bởi văn hoá gia công, làm cho developer quên mất việc phát triển bản thân.
Tuy nhiên với tình hình hiện tại, khá nhiều doanh nghiệp nước ngoài cũng như Việt Nam đang chú trọng đến vấn đề này hơn, và mình nghĩ, vấn đề này sẽ được cải thiện trong tương lai sớm thôi.
  1. (Câu hỏi bạn đọc) Nếu một bạn sinh viên năm 4/mới ra trường hoặc đã đi code được 1-2 năm, muốn đi theo hướng full-stack developer thì nên đi như thế nào ạ?
Để đi theo hướng full-stack, mình nghĩ các bạn nên phát triển bản thân theo một thế mạnh nào đó trước, và vững các kiến thức nền tảng, và đừng vội vàng trong những năm đầu làm việc.
Sau khi đã đào sâu vào thế mạnh của bản thân thì hãy mở rộng kiến thức của mình ra những phần khác, ví dụ sau khi bạn đã mạnh về backend rồi thì hãy tìm hiểu frontend, lời khuyên của mình là ít nhất mình phải mạnh một mảng nào đó rồi mới dấn thân qua mảng khác được.
  1. (Câu hỏi bạn đọc) Anh làm gì để trau dồi và làm mới kĩ năng của bản thân, giữ cho mình không lạc hậu. Anh hay đọc và kiếm tài liệu ở đâu ạ?
Mình thường lên Medium, Quora để đọc thêm, ngoài ra mình còn follow twitter của những người nổi tiếng trong nghề cũng như blog của họ để đọc thêm.
Và điều quan trọng là đọc sách, mình thường đọc sách kĩ thuật của các nhà xuất bản Oreilly, Manning và Packt.
  1. Câu cuối anh nhé! Anh có lời khuyên gì dành cho các bạn sinh viên ngành IT và các bạn dev Việt Nam hiện nay không?
Như mình đã nói ở trên, đối với sinh viên mình nghĩ các bạn nên tập trung vào việc củng cố kiến thức về tiếng Anh, về Software Engineering, về thuật toán, cấu trúc dữ liệu, etc… Học tốt những thứ nền tảng và đừng vội đi làm! Hãy tập trung làm thứ gì thật sự có ích trước, và tích luỹ thật nhiều kiến thức trước khi ra trường nhé!
Lời khuyên cuối cùng: Nhớ nắm vững kiến thức nền tảng, cũng cố kiến thức, làm gì đó có ích và đừng vội đi làm nhé!

No comments:

Post a Comment