Ứng tuyển (Apply)
Trong khoảng cuối tháng 3/2025 là thời điểm tôi quyết định đi tìm việc lại (sau khi kết thúc hợp đồng ngắn hạn ở Lingo Llama). Sau khi tìm hiểu thì tôi chỉ chọn được 2 công ty ở Việt Nam để ứng tuyển: công ty A** mà tôi đã có một bài chia sẻ về trải nghiệm phỏng vấn ở một bài viết khác và công ty G này. Trong bài hôm nay, tôi sẽ kể về trải nghiệm phỏng vấn ở G**
Tôi tìm thấy thông tin tuyển dụng của G** trên itviec và LinkedIn. Sau khi tìm hiểu một chút về công ty thì tôi cũng hơi phân vân. Một mặt, tôi tìm thấy các thông tin tích cực: G là một công ty lớn, với hơn 10 ngàn nhân viên trên khắp thế giới, đạt chứng nhận "Great place to work" và cả "Vietnam best IT companies" gần đây, có một số người tôi biết trên LinkedIn đang làm việc ở đây. Mặt khác, khi xem các review về công ty thì đa phần có vẻ tiêu cực. Nhưng cuối cùng tôi vẫn quyết định bấm Apply trên LinkedIn, tôi muốn thử trải nghiệm quy trình phỏng vấn của họ, trước khi tính đến chuyện vào làm. LinkedIn dẫn tôi sang một trang career của họ, do công ty lớn nên họ có hẳn một system cho việc apply (tôi đoán họ dùng SAP). Tôi phải tạo một tài khoản và sau đó apply vào ngày 19/04/2025. Sau khi apply thì hệ thống gởi cho tôi một email xác nhận đã nhận được hồ sơ ứng tuyển của tôi. Trông cũng khá chuyên nghiệp.

Email xác nhận đã ứng tuyển
Phỏng vấn vòng 1 - phone call
Chiều ngày 23/04/2025, tôi nhận được một cuộc gọi từ HR của công ty. Sau vài câu chào hỏi thì bạn HR ngỏ ý muốn kiểm tra khả năng Tiếng Anh của tôi, tôi đồng ý. Nếu so với công ty A mà tôi đã có dịp chia sẻ, thì vòng này bạn HR của G** phỏng vấn dễ hơn. Bạn chỉ hỏi tôi đúng 2 câu bằng Tiếng Anh rồi sau đó đề nghị quay lại nói Tiếng Việt. Bạn HR nói sẽ có 2 vòng phỏng vấn: một vòng kỹ thuật với G** và một vòng với khách hàng của họ. Sau một hồi trao đổi thì bạn hẹn tôi một buổi phỏng vấn kỹ thuật vào chiều thứ 2 tuần kế tiếp. Sau đó bạn cũng gởi thư mời phỏng vấn theo đúng quy trình. Tôi cảm thấy mọi việc đang diễn ra cũng khá trơn tru và chuyên nghiệp.
Phỏng vấn vòng 2 - Technical (Online qua MS Teams)
Tham gia buổi phỏng vấn kỹ thuật có 2 bạn (nhỏ tuổi hơn tôi): một bạn là Architect và một bạn iOS engineer. Như thường lệ thì trước buổi phỏng vấn, tôi đã lên LinkedIn để tìm hiểu thông tin 2 bạn này, để hình dung trước các kịch bản của buổi phỏng vấn. Do cả 2 bạn phỏng vấn đều không có kinh nghiệm về Flutter nhiều nên tôi đoán rằng các câu hỏi sẽ ở dạng chung chung, và thật sự tôi đã ... đúng. Buổi phỏng vấn dự kiến diễn ra 90 phút, 50% Tiếng Anh với bạn architect, 50% Tiếng Việt và live code với bạn iOS.
Buổi phỏng vấn bắt đầu bằng đoạn giới thiệu của bạn HR, sau đó 2 bên chào hỏi và giới thiệu. Do bạn iOS kẹt họp nên tham gia sau, bạn architect bắt đầu trước. Các câu hỏi của bạn này thì cũng đa phần xoay quanh những cái quy trình, quản lý team, không thực sự quá sâu về kỹ thuật, đặc biệt là không liên quan nhiều đến Flutter. Không khí trao đổi 2 bên cũng khá mở và thoải mái, Tiếng Anh của bạn này thì cũng dễ nghe, một phần vì chất giọng người Việt với nhau. Tôi không nhớ hết các câu hỏi, tôi chỉ liệt kê một số câu:
Cách bạn giải quyết khi trong team có mâu thuẫn (conflict)
Cách bạn gởi build ra cho team test
Trong CV tôi có ghi đã từng làm lead, có support backend/devops, bạn hỏi tôi support là đã làm những gì?
...
Sau khoảng 30 phút thì bạn iOS cũng join và bắt đầu hỏi một số câu hỏi kỹ thuật. Nhìn chung thì các câu hỏi này cũng không sâu lắm về Flutter và cả kỹ thuật nói chung, chỉ ở dạng có làm qua chưa và làm rồi thì mô tả sơ lược:
Dùng state management nào để quản lý state trong Flutter
Navigation trong Flutter dùng gì? - Tôi thường dùng go_router nên tôi nói về cái này, bạn có hỏi thêm về TypedGoRoute nhưng tôi không dùng qua nên cũng nói là chưa dùng.
Cách detect một app có tồn tại trên máy không?
Final vs. const trong Dart
...
Sau các câu hỏi thì đến phần live coding. Phần này thì tôi share màn hình và code trực tiếp. Đề bài cũng khá đơn giản: viết một màn hình có 1 list 100 items, mỗi item có id, date, amount, type (tất cả ở dạng text). Phần này thì nếu bạn nào có code Flutter thì cũng khá đơn giản, dùng ListView.builder là được. Một số yêu cầu nhỏ phát sinh như id phải random, amount thì dựa vào type để đổi thành số dương hoặc âm. Trong lúc bạn iOS dự định yêu cầu thêm một chỉnh sửa thì bạn architect thông báo đã sắp hết giờ, nên sẽ đến lược tôi đặt câu hỏi.
Tôi cũng hỏi sơ lược về công ty và dự án, thì được biết là dự án sẽ là về banking. Sau đó cũng hỏi một vài thứ linh tinh, rồi anh em cũng chào hỏi và kết thúc buổi phỏng vấn. Bạn HR sau đó liên lạc và hẹn tôi sẽ báo kết quả, có thể là sau lễ 30/04. Thời điểm tôi viết bài này thì chưa có kết quả nhưng sau ngày tôi phỏng vấn thì thấy công ty đã không nhận hồ sơ nữa. Tôi nghĩ công ty đã phỏng vấn đủ hồ sơ nên chắc ngay sau lễ sẽ có kết quả. Theo quy trình thì nếu may mắn pass vòng này, tôi sẽ còn một vòng phỏng vấn nữa với khách hàng.
Nhìn chung thì tôi vẫn có cảm giác công ty có quy trình và ổn, nhưng nếu so với công ty A** tôi phỏng vấn cùng thời điểm thì không bằng. Không bằng cả về chất lượng chuyên môn buổi phỏng vấn và về cách HR trao đổi với ứng viên. Đặc biệt tôi không đánh giá cao chất lượng của buổi phỏng vấn technical, nội dung phỏng vấn chưa phù hợp với level Architect (hầu như không có câu hỏi nào về architecture, programming principles, patterns…).
Buổi phỏng vấn diễn ra ngay trước lễ 30/04 nên tầm gần 10 ngày sau đó thấy công ty không có phản hồi, tôi đã chủ động nhắn tin hỏi bạn HR. Bạn trả lời thế này:

Công ty đánh giá tôi ở level Senior, chưa đạt Architect

Tôi cũng chia sẻ thật suy nghĩ của mình
Mặc dù bạn HR nói vậy, nhưng tôi cũng có suy nghĩ riêng:
mình chưa đủ level architect thực sự
hoặc là công ty đang muốn ép level xuống để deal lương,
hoặc là 2 bạn phỏng vấn kia chưa đủ kinh nghiệm phỏng vấn & chưa làm mảng Flutter/mobile đủ cứng và thật ra buổi phỏng vấn cũng không đá động gì tới architect.
Tuy nhiên, điều bất ngờ hơn lại xảy ra tiếp theo, tôi thực sự cũng hơi bất ngờ dù trước đó thông qua các review trên mạng tôi cũng có hình dung được một phần. Theo các bạn review thì công ty G này chuyên outsource cho các ngân hàng, khi hết dự án hoặc dự án dừng thì sẽ có một bộ phận ngồi không, nếu không giải quyết được thì sẽ bị cắt giảm. Tôi không chắc là do những phản hồi thật lòng của tôi ở trên, hay do công ty thực sự có kế hoạch, nhưng bạn HR nhắn tiếp cho tôi thế này:

Thông báo bất ngờ về việc dừng process
Tuy bất ngờ nhưng tôi cũng thấy không buồn hay thất vọng, có thể một phần vì việc tương tự đã xảy ra với tôi quá nhiều lần (huỷ process, khách hàng dừng dự án, khách hàng quỵt tiền…). Tôi cũng rất vui vẻ phản hồi. Đối với tôi, công việc cũng là một loại duyên số, khi nào đến ắc sẽ đến, vấn đề của chúng ta là chuẩn bị thật tốt và luôn chuyên nghiệp.

Tôi vẫn trả lời rất điềm tĩnh
Đến đây thì dĩ nhiên các bạn cũng hiểu là tôi không thể trải nghiệm tiếp vòng phỏng vấn với khách hàng. Và chuyến trải nghiệm của tôi cũng dừng lại, tôi chỉ có đôi điều nhắn nhủ các bạn và cả bản thân mình:
1. Để chuẩn bị cho các cuộc phỏng vấn, chúng ta nên tìm hiểu về công ty và nếu được người sẽ phỏng vấn. Từ đó, hình dung ra được một phần nội dung phỏng vấn.
2. Kết quả phỏng vấn phụ thuộc vào nhiều yếu tố chủ quan và khách quan. Rõ ràng là chúng ta không thể kiểm soát được yếu tố khách quan, nên hãy tập trung vào các yếu tố chủ quan (kỹ năng, kiến thức, sự chuẩn bị).
3. Công việc là một loại duyên số, có việc phù hợp, có việc không, cứ thử, cứ trải nghiệm và chọn lựa.
4. Dù kết quả thế nào, hãy luôn hành xử chuyên nghiệp. Công ty có thể tốt hoặc chưa tốt, nhưng đó chỉ là khách quan, chúng ta có quyền lựa chọn trở thành người chuyên nghiệp hay không, hoàn toàn không phụ thuộc vào công ty hay kết quả phỏng vấn.
Đến đây tôi xin tạm dừng câu chuyện. Chúc các bạn có một ngày vui vẻ và bình an!

