Nhà tuyển dụng lo hai điều: bạn mất bao lâu để làm được việc, và bạn có bỏ cuộc giữa chừng không. Câu trả lời phải giải quyết đúng hai điều đó.
1. Tách phần chuyển được và phần phải học.
- Phần chuyển được: hiểu HTTP, thiết kế API, SQL và tối ưu truy vấn, Git, kiểm thử, đọc log, làm việc với hệ thống đang chạy. Đây là phần chiếm phần lớn công việc hằng ngày và không phụ thuộc ngôn ngữ.
- Phần phải học: cú pháp, mô hình đồng thời (goroutine/channel), hệ sinh thái thư viện, thói quen xử lý lỗi của Go. Nói thẳng và ước lượng: "khoảng 2–3 tháng để viết code sản xuất được, phần thiết kế hệ thống thì em dùng lại được ngay."
2. Có bằng chứng đã bắt đầu chuyển từ trước khi phỏng vấn. Đây là điểm quyết định — một dịch vụ nhỏ viết bằng Go đã deploy, một phần trong dự án cũ bạn xin làm bằng Go, hoặc một module backend bạn nhận thêm khi còn làm frontend. Nói "em muốn học Go" mà không có gì để xem thì mọi cam kết đều rỗng.
3. Nêu lý do chuyển gắn với công việc, không phải theo xu hướng: "Ở dự án cũ, phần xử lý hàng đợi bằng PHP không đáp ứng được lưu lượng, em tham gia viết lại một service bằng Go và muốn đi sâu hướng đó."
Thực tế thị trường: chuyển ngang trong cùng mảng (PHP → Go) thường giữ được level và mức lương; chuyển vai trò (FE → BE) có thể phải chấp nhận lùi nửa bậc trong 6–12 tháng đầu. Biết trước điều này giúp bạn thương lượng thực tế hơn.