HÀNH TRÌNH BỨT PHÁ TỪ NAB ĐẾN ANZ CỦA HỌC VIÊN ENGINEER PRO
Không có nền tảng kỹ thuật vững chắc, không rõ hướng đi rõ ràng – đó là tình trạng của nhiều bạn khi bắt đầu chuyển hướng sang ngành IT. Học viên của Engineer Pro mà chúng tôi phỏng vấn hôm nay cũng từng nằm trong số đó: mông lung giữa Java, C#, PHP; học nhưng không hiểu sâu; làm nhưng không chắc tay. Nhưng chỉ sau hơn 1 năm rèn luyện nghiêm túc theo lộ trình tại Engineer Pro, bạn đã chính thức trở thành Backend Developer tại ANZ – một trong những công ty công nghệ tài chính lớn tại Việt Nam.
Hãy cùng chúng tôi tìm hiểu hành trình phát triển của bạn ấy qua cuộc phỏng vấn dưới đây.
Bạn hãy giới thiệu đôi chút về bản thân cũng như công việc hiện tại?
Em tốt nghiệp Đại học FPT vào năm 2022. Nhưng thật ra em đã bắt đầu đi làm từ đầu năm tư, nên đến hiện tại em có khoảng gần 4 năm kinh nghiệm – nếu tính luôn cả thời gian thực tập thì cũng xấp xỉ 4 năm rồi ạ.
Trước khi gia nhập NAB, em từng có một khoảng thời gian ngắn làm việc tại FPT Software – một phần cũng vì đây là môi trường quen thuộc, có bạn bè, anh chị giới thiệu nên em cũng nhận lời và gắn bó khoảng 6 tháng.
Sau đó, em chuyển sang NAB với vai trò Backend Engineer. Lúc phỏng vấn em may mắn pass thẳng vị trí Junior, không cần qua giai đoạn đào tạo (Starcamp). Tuy nhiên, thời điểm em vào thì team đang có một số biến động về nhân sự nên em không được làm nhiều với tech stack mà em yêu thích. Nhưng cũng nhờ vậy, em nhận ra rằng ngôn ngữ lập trình không còn quá quan trọng, mà cái cốt lõi chính là kiến thức nền tảng như Computer Science Fundamentals, System Design hay Object-Oriented Design.
Lý do nào bạn tham gia khoá học tại Engineer Pro?
Khi quyết định rời NAB để tìm kiếm cơ hội mới, em tập trung ôn lại phần design và thuật toán. Em phải thừa nhận là mình không giỏi thuật toán và gặp khá nhiều khó khăn khi luyện lại phần này. So với việc đọc về CS fundamentals hay design – những thứ mà em thấy rất thú vị thì ôn thuật toán là thử thách lớn hơn.
Em chỉ mới tham gia Engineer Pro vào khoảng cuối năm ngoái thôi. Khi đó, em bắt đầu để ý tới các khóa học System Design của bên mình. Không phải do ai giới thiệu đâu ạ, mà là do em tự tìm kiếm các nội dung về phỏng vấn kỹ thuật trên YouTube thì thấy video của Engineer Pro. Rồi sau đó, em thấy fanpage của bên mình cũng có chạy quảng cáo nên bắt đầu quan tâm.
Lúc đó, em khá ấn tượng với những người hướng dẫn như anh Harry, anh Lâm và anh Hiếu. Các anh hay chia sẻ review CV, livestream giải bài, nói chuyện khá thực tế và dễ hiểu. Em có ngồi coi nhiều clip rồi suy nghĩ một thời gian. Ban đầu em còn đắn đo và tự nhủ rằng chắc tự học cũng được. Nhưng rồi em nhận ra nếu học cùng Engineer Pro thì sẽ rút ngắn thời gian hơn, có người hướng dẫn, có cộng đồng học cùng, và nội dung cũng bài bản nữa. Vậy là em quyết định đăng ký và em vẫn khá tiếc nuối vì không đưa ra quyết định sớm hơn.
Bạn đã tham gia khoá học nào tại EP?
Em học System Design đầu tiên. Thật ra là học luôn cả Level 1 và Level 2. Rồi sau đó em học thêm khoá DSA 2 nữa. Em khá thích System Design hơn DSA nhiều, vì dẫu biết học DSA là cần thiết nhưng thú thật là em vẫn chưa “cảm” được, và không thực sự hứng thú dù biết là cần.
Em nghĩ là nhờ học cả hai khoá System Design nên em mới đủ tự tin để bước vào vòng phỏng vấn và thử sức ở công ty lớn như ANZ. Có những kiến thức, nếu tự học thì chắc em phải mò mẫm vài tháng mới ra, còn học ở đây thì được mentor chỉ thẳng vấn đề, giải thích dễ hiểu.
Nếu so sánh giữa trước và sau khi học tại Engineer Pro, bạn cảm nhận kiến thức mình nhận được có đầy đủ không? Khóa học có giúp bạn đủ tự tin để đi phỏng vấn không?
Với em, sau khi học xong khóa System Design tại Engineer Pro, có thể nói là kiến thức được cung cấp tương đối đầy đủ để tự tin tham gia phỏng vấn, đặc biệt là ở các vị trí tầm mid-level. Những kiến thức nền tảng như cách tiếp cận bài toán thiết kế, phân tích requirement, xác định bottleneck, thiết kế kiến trúc và đánh giá trade-off... đều được truyền đạt rõ ràng, dễ hiểu và có tính thực tiễn cao.
Tuy nhiên, em cũng muốn chia sẻ cảm nhận cá nhân là để thật sự qualify cho các vị trí cao hơn – ví dụ senior hoặc tech lead thì ngoài những kiến thức được học trong khóa, bản thân mình vẫn cần dành thêm thời gian để đào sâu vào từng topic.
Ví dụ như scaling, caching strategy, hoặc consistency models… Những chủ đề này trong khóa học đã được giới thiệu rất tốt, nhưng để thực sự nắm sâu và làm chủ, mình phải tự đọc thêm tài liệu, xem các case study, và kết hợp với kinh nghiệm thực tế trong công việc.
Em nghĩ điều này cũng khá bình thường, vì thời lượng khóa học là có giới hạn không thể đi quá sâu vào mọi vấn đề. Nhưng chính nhờ nền tảng mà khóa học tạo ra, cộng với quá trình mình tự học thêm và áp dụng vào công việc hàng ngày, em mới dần hiểu rõ hơn về cách thiết kế hệ thống một cách hiệu quả và linh hoạt.
Tóm lại, nếu đánh giá riêng về khóa học thì em thấy hoàn toàn đủ để giúp một kỹ sư tự tin apply vào các vị trí mid-level. Nhưng nếu mục tiêu là senior trở lên, thì nên kết hợp giữa kiến thức khóa học và quá trình tự phát triển thêm đặc biệt là thông qua công việc thực tế.
Vậy hành trình apply và pass vào NAB diễn ra như thế nào?
Khi mà em apply vào NAB thì em may mắn được đưa vào chương trình one-day interview, nghĩa là em chỉ cần phỏng vấn một vòng technical là hoàn thành. Buổi đó em nhớ dài khoảng tầm 2 tiếng hơn, trong đó khoảng 1 tiếng rưỡi là technical interview, còn lại nửa tiếng hơn thì họ hỏi về văn hóa, culture fit.
Theo như em thấy thì tới bây giờ NAB vẫn giữ format như vậy, vẫn xoáy sâu vào Java Core và Spring Framework. Họ có một vòng OA để sàng lọc ứng viên trước. Hiện tại theo em nhớ thì NAB đã có triển khai luôn cả phần live coding, dùng để đánh giá kỹ năng thuật toán của ứng viên. Trong vòng technical interview, từ mid-level trở xuống thì em thấy họ vẫn khá xoáy vào Java Core, Spring Framework với những kiến thức CS fundamental.
Còn theo như em nghe thì với vị trí senior ở NAB, họ mới bắt đầu hỏi thêm về system design, nhưng cũng không quá đi sâu ạ. Họ vẫn sẽ hỏi Java Core và Spring Framework là chính.
Thế còn quá trình phỏng vấn ở ANZ thì sao ạ?
Vòng đầu tiên là vòng em gặp bên HCL. Buổi đó kéo dài khoảng 1 tiếng rưỡi, chia làm hai phần: khoảng 45 phút đầu là phần technical, còn 45 phút sau là làm một bài thuật toán.
Phần technical thì em cảm thấy khá tự tin với các câu trả lời của mình. Nhưng về phần thuật toán thì em gặp khá nhiều khó khăn. Em nghĩ bài ấy chỉ ở mức độ medium, nhưng vì em chưa ôn gì trước đó nên em làm không được tốt lắm.
Thuật toán vốn không phải là thế mạnh của em nên em phải nhờ interviewer hỗ trợ thì mới có thể làm xong được bài.
Sau đó em nhận được kết quả là pass. Em cũng có hỏi lại feedback thì họ đánh giá phần technical của em khá là tích cực.
Sau vòng HCL thì em vào hai vòng tiếp theo với bên ANZ Úc. Trong cùng một buổi luôn, em làm 2 vòng tiếp nhau.
Vòng đầu tiên là coding challenge – trong vòng 1 tiếng. May mắn là em đã “trúng tủ” đề mà em đã từng ôn rồi, nên em làm cũng khá nhanh và mượt. Đến phần optimize thì cũng gần hết giờ rồi nên em chỉ kịp nêu ra idea để cải thiện bài, ví dụ như tối ưu độ phức tạp xuống còn O(n).
Vòng tiếp theo là system design – kéo dài 1 tiếng rưỡi. Vòng này em hơi bị rối một xíu vì lúc đó em chưa học bên xong khoá học của Engineer Pro nên em chưa biết cách trình bày theo format rõ ràng. Lúc đó theo em nhớ đề bài là Design Ticketmaster. Em và anh interviewer dành khoảng 1/3 thời gian buổi đó chỉ để thảo luận về bài toán làm sao để tránh bị đặt chỗ trùng (duplicate seat booking).
Sau phần trình bày, interviewer cũng đánh giá em khá tích cực, nhưng có góp ý là em nên ôn lại cách tổ chức, trình bày hệ thống cho mạch lạc hơn vì cách design của em lúc đó còn hơi loạn. Dù vậy thì may mắn là em vẫn pass vòng này.
Vòng cuối cùng là culture fit. Em gặp một anh Lead bên team ANZ, họ gọi là Technical PO, nhưng mình có thể đơn giản hiểu như quản lý dự án về tech. Buổi này tầm nửa tiếng, chủ yếu là trao đổi về sản phẩm của team và team hiện tại đang làm gì, định hướng ra sao cũng như culture của team. Sau buổi đó em thấy khá hứng thú với team nên em đã quyết định accept offer luôn.
Sau khi onboard bạn cảm nhận môi trường làm việc tại đây như thế nào? Nó có giống với kỳ vọng ban đầu của bạn không?
Để mà so sánh môi trường làm việc giữa NAB và ANZ thì em thấy gần như khá là tương đồng nhau, mọi thứ đều diễn ra rất thoải mái. Style của Úc thì họ khá là thoải mái, họ sẽ để cho mình làm những gì mình hứng thú và tạo cơ hội để phát triển, miễn sao mình vẫn đáp ứng được kỳ vọng từ phía họ.
Tính đến thời điểm hiện tại thì em thấy môi trường làm việc rất thoải mái, và em đang học thêm về hệ thống của ANZ. Hệ thống bên này được tổ chức khác với NAB. Em dùng từ “khác” ở đây, do e nghe chia sẻ từ phía tech lead của em là cách ANZ tổ chức gần như đi ngược lại với NAB về cách quản lý hệ thống.
Bên ANZ cho engineer nhiều “capacity” hơn để làm những gì họ muốn, từ việc tự quản lý infrastructure cho tới việc tự setup một cái pipeline chẳng hạn. Họ sẽ hỗ trợ engineer làm việc trực tiếp luôn, chứ không có một team riêng để lo những phần đó. Nên em nghĩ là ở ANZ thì em có thể học được nhiều hơn.
Bạn có lời khuyên nào dành cho các bạn học viên tại Engineer Pro cũng như những người đang muốn apply vào các công ty tương tự như NAB hoặc ANZ không?
Em nghĩ phần mình cần ôn luyện và kỹ năng phỏng vấn thì gần như ai cũng biết rồi, nên em sẽ không nói nhiều phần đó. Điều em muốn nhấn mạnh là mình nên thực sự hiểu về phần fundamental, không chỉ dừng lại ở mức “biết” mà mình nên đào sâu vào 1 tí. Vì khi mình thật sự hiểu được bản chất của kiến thức, thì trong lúc làm việc – nhất là khi gặp những đầu việc khó – mình sẽ dễ dàng ứng dụng và xử lý tốt hơn rất nhiều.
Ngoài ra, em nghĩ mọi người có thể follow theo format học của Engineer Pro trong phần system design, em thấy rất có ích. Tuy nhiên, em rút ra được một bài học là nên làm mock interview đủ nhiều trước khi đi phỏng vấn thật. Vì có lần em bị mất phương hướng giữa chừng trong lúc đang làm bài system design – như kiểu đang phân tích nửa chừng thì không biết nên rẽ hướng trình bày nào tiếp. Nên luyện tập nhiều mock interview sẽ giúp mình vững vàng và không bị hoang mang khi gặp case mới.
Engineer Pro tin rằng, chỉ cần có đúng định hướng và sự đồng hành đúng cách, bất kỳ ai cũng có thể chuyển mình ngoạn mục trong ngành công nghệ.
Bạn đã sẵn sàng bắt đầu hành trình của mình chưa?
_________________________________
Engineer Pro là một trung tâm đào tạo các khóa học chuyên sâu dành cho các software engineer. Với 100% giảng viên đến từ các Big Tech như Google, Amazon, Shopee, TikTok, … Engineer Pro đảm bảo chất lượng giảng dạy và lộ trình học tập rõ ràng, từ cơ bản đến nâng cao, giúp học viên tự tin ứng tuyển vào các vị trí software engineer trong ngành công nghệ này.
Thông tin liên hệ:
