Tin tuyển Senior FDE của Cresta: mỗi dòng là một việc ở chỗ khách
Phía sau mỗi gạch đầu dòng trong tin tuyển là một việc cụ thể trong hệ thống contact center của khách, và cách chứng minh tốt nhất là tự làm thử một bản nhỏ của việc đó.
Tóm tắt nhanh
- Tin Senior FDE (AI Agent) của Cresta xoay quanh bốn động từ: phát triển, cấu hình, triển khai, tối ưu AI agent, kèm yêu cầu tích hợp agent với API, cơ sở dữ liệu và CRM của khách.
- Python và Golang là yêu cầu cốt lõi, kèm cloud và DevOps; kinh nghiệm LLM và prompt engineering được ưu tiên mạnh.
- Sau vòng lọc hồ sơ là bài CoderPad tự làm, nên một dự án agent có tích hợp thật đáng giá hơn mọi dòng liệt kê kỹ năng.
Bạn mở tin tuyển Senior Forward Deployed Engineer (AI Agent) của Cresta, đăng ngày 13/10/2026 cho ứng viên làm remote từ Úc, và thấy một danh sách quen thuộc: Python, Golang, cloud, DevOps, LLM, quản lý dự án.
Đọc lướt thì giống mọi tin tuyển kỹ sư khác. Đọc kỹ thì mỗi dòng có thể dịch thành một việc cụ thể bạn sẽ làm với hệ thống của khách hàng, dù vị trí này làm remote.
Kỹ năng cần học ở đây không nằm riêng ở Cresta. Đó là cách đọc một tin tuyển FDE: dịch từng dòng thành việc phải làm, rồi dựng một bằng chứng nhỏ cho từng việc. Người làm được điều này qua vòng hồ sơ dễ hơn, và bước vào bài kiểm tra kỹ thuật khi đã tự tay làm thử những việc ấy.
Động từ trong tin tuyển nói nhiều hơn danh từ
Câu mở đầu phần trách nhiệm có bốn động từ: phát triển, cấu hình, triển khai và tối ưu AI agent trên nền tảng và công cụ của Cresta. Thứ tự đó là vòng đời của một engagement. Bạn không xây sản phẩm từ đầu; bạn lấy một nền tảng có sẵn rồi làm cho nó chạy được với một khách hàng cụ thể.
Muốn hiểu “chạy được” nghĩa là gì, phải nhìn vào sản phẩm. Cresta tự mô tả mình là nền tảng hợp nhất cho cả nhân viên người lẫn AI agent ở quy mô doanh nghiệp.
Một bài phân tích của eesel AI, cập nhật tháng 5/2026, cho biết AI Agent của Cresta xử lý thoại, chat và SMS, và nối vào hệ thống khác qua function calling dựa trên API cùng hỗ trợ MCP.
Còn một chi tiết cũ hơn nhưng quan trọng hơn. Ngay từ năm 2021, blog của Cresta viết rằng sản phẩm được làm để tích hợp và chạy song song với phần mềm contact center mà khách đang dùng. Vì thế FDE ở đây hầu như luôn làm việc bên trong hệ thống của người khác, với dữ liệu, giới hạn và quy trình mà mình không quyết định được.
Mỗi dòng yêu cầu là một việc ở chỗ khách
Bảng dưới đây dịch các dòng chính trong tin thành việc thật và cách bạn có thể chứng minh trước khi nộp đơn.
| Dòng trong tin tuyển | Việc thật ở chỗ khách | Bằng chứng nên có |
|---|---|---|
| Tích hợp agent với API, cơ sở dữ liệu, CRM | Agent phải tra được hóa đơn, đơn hàng, hồ sơ khách trong lúc đang hội thoại | Một tool gọi API có timeout và đường lui |
| Python và Golang | Viết logic agent, viết service trung gian chạy ổn định | Cùng một service viết bằng cả hai ngôn ngữ |
| Cloud (AWS, GCP hoặc Azure) và DevOps | Đóng container, đưa qua CI/CD, giám sát sau khi chạy thật | Repo có Dockerfile, pipeline CI, một dashboard |
| LLM và prompt engineering (ưu tiên mạnh) | Chỉnh prompt khi agent trả lời sai trên dữ liệu thật | Bộ câu hỏi kiểm thử và kết quả trước, sau khi sửa |
| Đặt mốc, lập kế hoạch, phối hợp nội bộ | Giao đúng hạn khi phụ thuộc nhiều nhóm | Một kế hoạch triển khai có mốc và rủi ro |
Mức kinh nghiệm tin yêu cầu là từ 3 năm toàn thời gian trong phát triển phần mềm, tư vấn hoặc kỹ thuật AI/ML. Ba nhánh được chấp nhận ngang nhau, nên một kỹ sư backend chưa từng làm AI vẫn có cửa, miễn là chứng minh được dòng Python và Golang cùng dòng cloud và DevOps.
Ví dụ: agent tra hóa đơn trong lúc khách đang gọi
Thử hình dung một nhà mạng muốn AI agent trả lời câu “hóa đơn tháng này của tôi bao nhiêu” trên kênh thoại. Dữ liệu nằm trong hệ thống billing của nhà mạng, không nằm ở Cresta. Việc của bạn là viết một tool để agent gọi qua function calling.
import requests
BILLING_URL = "https://billing.example-telco.internal"
TOOL_SPEC = {
"name": "get_open_invoice",
"description": "Lấy hóa đơn chưa thanh toán của khách đã xác minh số điện thoại",
"parameters": {
"type": "object",
"properties": {"phone": {"type": "string"}},
"required": ["phone"],
},
}
def get_open_invoice(phone: str) -> dict:
try:
r = requests.get(
f"{BILLING_URL}/invoices",
params={"phone": phone, "status": "open"},
timeout=2.5, # trên cuộc gọi, im lặng lâu là lỗi
)
r.raise_for_status()
except requests.RequestException:
# hệ thống của khách lỗi: không đoán, chuyển cho người
return {"ok": False, "action": "handoff_to_human"}
items = r.json().get("items", [])
if not items:
return {"ok": True, "invoice": None}
inv = items[0]
return {"ok": True, "amount": inv["amount"], "due": inv["due_date"]}
Phần gọi API chỉ chiếm vài dòng. Phần đáng giá là ba quyết định xung quanh nó, và đó là những quyết định người phỏng vấn muốn nghe bạn giải thích.
Quyết định đầu tiên là timeout. Trên kênh chat, chờ năm giây vẫn chấp nhận được; trên cuộc gọi, năm giây im lặng khiến khách tưởng máy đã ngắt. Con số 2,5 giây ở đây là giả định để minh họa; ở dự án thật, bạn đo độ trễ API của khách rồi mới chọn.
Quyết định thứ hai là trả về handoff_to_human thay vì để mô hình tự xoay xở. Một agent không lấy được dữ liệu mà vẫn trả lời là agent bịa ra số tiền. Vì nền tảng phục vụ cả nhân viên người lẫn AI agent, chuyển cuộc gọi sang người là đường lui tự nhiên.
Quyết định thứ ba là phân biệt “không có hóa đơn” với “lỗi”. Hai trường hợp này dẫn tới hai câu trả lời hoàn toàn khác cho khách, và prompt phải dạy agent nói đúng từng câu.
Từ ví dụ đến hồ sơ: làm theo thứ tự này
Bắt đầu bằng đúng tool ở trên, chạy với một API giả lập do bạn tự viết, kèm mười câu hỏi kiểm thử gồm cả số không tồn tại và API bị treo. Ghi lại agent trả lời đúng bao nhiêu câu trước và sau khi chỉnh prompt. Đó là bằng chứng cho dòng LLM và prompt engineering, thứ tin tuyển ghi rõ là được ưu tiên mạnh.
Sau đó viết lại service billing giả lập bằng Go. Tin yêu cầu cả Python lẫn Golang, nên một repo có cùng service viết bằng hai ngôn ngữ trả lời thẳng vào dòng đó. Đóng container, thêm pipeline CI chạy test, gắn một chỉ số độ trễ: ba thứ này phủ trọn dòng cloud và DevOps.
Cuối cùng viết một trang kế hoạch triển khai giả định cho nhà mạng: các mốc, nhóm nào của khách phải cấp quyền API, rủi ro nào làm trễ hạn. Tin yêu cầu FDE tự đặt mốc, lập kế hoạch triển khai và phối hợp với các nhóm nội bộ để giao đúng hạn, nên trang kế hoạch này là bằng chứng trực tiếp cho dòng đó.
Vòng CoderPad và những lỗi hay gặp
Theo tin tuyển, ứng viên đạt vòng lọc hồ sơ sẽ làm một bài đánh giá kỹ thuật trên CoderPad, tự sắp xếp thời gian. Hồ sơ là cửa đầu tiên, nên CV nên kể những việc bạn đã làm thay vì liệt kê công nghệ.
Một mẫu dễ dùng: “Tích hợp agent với hệ thống X của khách qua API Y, giảm Z”, với Z là con số bạn đo được thật.
Lỗi thứ nhất là ghi “LLM, RAG, agent” trong mục kỹ năng mà không có bộ kiểm thử nào đi kèm. Lỗi thứ hai là nghĩ FDE sẽ thay hệ thống của khách, trong khi chính Cresta nói sản phẩm được làm để chạy song song cùng phần mềm contact center sẵn có. Lỗi thứ ba là bỏ qua Go vì nghĩ AI chỉ cần Python.
Một tin tuyển khác của Cresta cho thấy bước tiếp theo trên con đường này: vị trí Forward Deployed Engineering Manager, đăng tháng 1/2026 cho ứng viên remote ở Mỹ, yêu cầu ít nhất 2 năm quản lý, mentor và phát triển đội kỹ sư, kèm sẵn sàng đi công tác 10-25% thời gian để gặp khách và dự sự kiện.
Phần kế hoạch và phối hợp bạn tập hôm nay chính là nền móng cho bước đó.
Người đọc tin tuyển giỏi không đếm xem mình khớp bao nhiêu từ khóa. Họ tự hỏi đã từng làm việc này cho ai chưa, và nếu chưa thì cuối tuần này dựng một bản nhỏ của nó.
Bài này có hữu ích không?
Cảm ơn bạn đã góp ý!
4 nguồn
- Remote Senior Forward Deployed Engineer (AI Agent) at Cresta - Jobicy · 2026-10-13
- Forward Deployed Engineering Manager @ Cresta | Simplify Jobs · 2026-01-28
- A deep dive into Cresta in 2026: Features, pricing & a modern alternative | eesel AI · 2026-05-08
- Investing in Cresta: Supercharging Agents in Real-Time · 2021-03-31