2 điểm bởi GN⁺ 2024-12-29 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đây là một POC tự động hóa quy trình tìm việc, nơi việc nhập liệu lặp lại và viết email tùy chỉnh là điểm nghẽn, bằng cách kết hợp script Python và LLM từ khâu thu thập tin tuyển dụng đến tạo email ứng tuyển được cá nhân hóa
  • Việc thu thập tin tuyển dụng bắt đầu bằng sao chép HTML thủ công thay vì web scraping, nhằm tránh khác biệt cấu trúc giữa các trang và khả năng LLM tạo ảo giác
  • HTML thô được chuyển thành JSON có cấu trúc với các trường như job_title, job_company, job_skills, application_instructions thông qua parser và prompt LLM
  • Phần tạo thư xin việc đưa cả CV và chi tiết tin tuyển dụng vào, đồng thời buộc thất bại nếu thiếu thông tin bắt buộc để tránh gửi email dạng mẫu
  • POC đã kết nối việc trích xuất tin tuyển dụng, phân tích mô tả chi tiết và tạo hồ sơ ứng tuyển tùy chỉnh, cuối cùng đạt mức có thể gửi 250 hồ sơ ứng tuyển trong 20 phút

Nhìn quy trình ứng tuyển việc làm như một công việc lặp lại

  • Ứng tuyển việc làm là một luồng liên tục gồm sao chép–dán cùng một thông tin, chỉnh sửa CV và viết thư xin việc
  • Vì tính lặp lại và quy trình tương đối có cấu trúc như vậy, tác giả đánh giá đây là ứng viên phù hợp để tự động hóa
  • Luồng cơ bản như sau
    • Tìm tin tuyển dụng
    • Kiểm tra yêu cầu năng lực
    • Tìm hiểu công ty
    • Nộp CV và thư xin việc
    • Chờ phản hồi
  • Kết quả xây dựng cho phép gửi 250 đơn ứng tuyển trong 20 phút, và tác giả cho biết đã nhận được đề nghị việc làm trước khi hoàn thiện hệ thống

Cách xây dựng POC

  • Thu thập danh sách tin tuyển dụng

    • Bước đầu tiên là gom một lượng lớn tin tuyển dụng
    • Tác giả đã thử web scraping, nhưng mỗi trang tuyển dụng có cấu trúc khác nhau nên chi phí tự động hóa tăng lên
    • Cách đưa toàn bộ trang web vào LLM để sắp xếp dữ liệu cũng được thử nghiệm, nhưng có hai vấn đề
      • Chi phí cao
      • Muốn tránh khả năng LLM tạo ảo giác về yêu cầu tuyển dụng
    • Cuối cùng, tác giả chọn cách sao chép thủ công HTML thô
    • Đây được xem là một cách đơn giản nhưng hoạt động được
  • Làm sạch HTML thô

    • Trích xuất các trường cần thiết từ HTML đã sao chép và chuyển thành dữ liệu có cấu trúc
    • Định dạng mục tiêu là JSON có các khóa như job_link, job_id, job_role, employer, location, work_arrangement, salary
    • Cách làm là đưa cho ChatGPT mẫu HTML và định dạng đầu ra mong muốn, rồi giao việc tạo script phân tích cú pháp

Phân tích thông tin chi tiết của tin tuyển dụng

  • Gửi yêu cầu GET tới từng tin tuyển dụng để lấy toàn bộ mô tả
  • Phản hồi là HTML thô nên lẫn cả các thành phần cấu trúc của trang như thanh điều hướng, popup, footer
  • Viết một HTML parser riêng để chỉ giữ lại nội dung chính của tin tuyển dụng
  • Một số trang có thêm bước phải bấm nút mới xem được email của nhà tuyển dụng hoặc thông tin chi tiết về công ty
  • Nếu làm việc với từng trang tuyển dụng một, chỉ cần nắm mẫu cấu trúc của trang đó một lần
  • Giữa các yêu cầu có độ trễ 2–3 giây để tránh bị chặn IP

Tạo dữ liệu có cấu trúc bằng LLM

  • Tin tuyển dụng thường có các thành phần cơ bản tương tự nhau, nhưng vị trí của kỹ năng hoặc yêu cầu lại khác nhau tùy trang
  • Dùng prompt LLM để phân tích nội dung HTML và chuyển thành đối tượng JSON hợp lệ
  • Các khóa cần trích xuất gồm
    • contact_email
    • application_instructions
    • job_posting_text
    • job_posting_link
    • additional_info
    • job_title
    • job_company
    • job_department
    • job_location
    • job_skills
    • job_instructions
  • Các khóa tùy chọn gồm hiring_manager_name, job_portal, v.v.
  • Yêu cầu chuyển job_posting_text sang dạng Markdown

Prompt tạo thư xin việc

  • Tác giả xem yếu tố cốt lõi của một thư xin việc tốt là ngữ cảnh, nên đưa cả CV và chi tiết tin tuyển dụng vào LLM
  • Prompt yêu cầu tạo email ứng tuyển ở dạng có thể gửi ngay
  • Thiết kế để nếu thiếu thông tin bắt buộc thì trả về lỗi, thay vì tạo một email không hoàn chỉnh
    • Trường bắt buộc: tên vị trí, tên công ty, mô tả tuyển dụng, nội dung CV
    • Trường tùy chọn được khuyến nghị: tên nhà tuyển dụng, phòng ban, địa điểm, cách ứng tuyển, kênh giới thiệu, danh sách kỹ năng yêu cầu
  • Đầu ra là đối tượng JSON, bao gồm status, error_message, email
  • email chứa các mục sau
    • Tiêu đề
    • Nội dung HTML
    • Nội dung văn bản thuần
    • Các điểm chính đã đề cập
    • Kỹ năng được nhấn mạnh
    • Kinh nghiệm trong CV phù hợp với yêu cầu tuyển dụng
    • Thông tin còn thiếu có thể củng cố hồ sơ ứng tuyển, nếu có
    • Phân tích tông giọng email
  • Nội dung HTML bị giới hạn chỉ dùng các thẻ cơ bản như p, br, b, i, ul, li để tương thích với email client
  • Cấu trúc này là cơ chế để tạo email cá nhân hóa kết nối kinh nghiệm thực tế với yêu cầu tuyển dụng, thay vì email chung chung kiểu “tôi đã thấy tin tuyển dụng”

Gửi và theo dõi email

  • Bước cuối cùng là gửi thực tế các email ứng tuyển đã tạo
  • Các điều kiện cần có như sau
    • Gửi email trông chuyên nghiệp
    • Theo dõi lịch sử gửi thực tế
    • Giám sát phản hồi từ nhà tuyển dụng
    • Tránh bị phân loại là spam
  • Ở giai đoạn thử nghiệm, tất cả email được gửi trước tới tài khoản thử nghiệm
  • Khi gửi cho nhà tuyển dụng thật, tác giả khuyến nghị thêm chính mình vào BCC để xác nhận email đã được gửi
  • Ở giai đoạn POC, tác giả dùng một nhà cung cấp email đơn giản như Mailgun
  • Tác giả báo trước rằng Part 2 sẽ nói về việc bị từ chối đăng ký AWS và thất bại khi vận hành máy chủ email riêng trong quá trình cố xây dựng một hệ thống quản lý email hoàn chỉnh

Kết quả POC và bước tiếp theo

  • POC thực hiện việc trích xuất danh sách tin tuyển dụng, phân tích cú pháp và tạo hồ sơ ứng tuyển cá nhân hóa bằng một vài script Python
  • Nhiệm vụ tiếp theo là biến các script thành một ứng dụng thực tế
  • Các mục tiêu mở rộng gồm
    • Xử lý nhiều trang tuyển dụng
    • Theo dõi lịch sử ứng tuyển
    • Quản lý phản hồi email
    • Không bị chặn bởi hệ thống HR
  • Part 2 sẽ nói về quá trình xây dựng ứng dụng thực tế, các quyết định kỹ thuật và những đánh đổi

1 bình luận

 
GN⁺ 2024-12-29
Ý kiến trên Hacker News
  • Có nhiều tranh luận về việc giữa nhà tuyển dụng và ứng viên thì ai chịu trách nhiệm lớn hơn cho tình trạng hiện nay, nhưng từ góc nhìn của người tìm việc thì tôi không biết phải làm gì
    Khoảng 6 tháng qua tôi đã tìm việc khá tích cực, và với hơn 10 năm kinh nghiệm phát triển phần mềm, tôi chủ yếu nhắm tới các vị trí lập trình viên senior. Tôi hoàn toàn không dùng LLM trong CV hay thư giới thiệu, chỉ ứng tuyển vào những nơi mà tôi nghĩ mình đáp ứng yêu cầu và sẵn sàng nhận offer nếu được đề nghị
    Nhưng tôi không biết phải phát tín hiệu thế nào để cho thấy rằng 1) tôi là người thật, 2) kinh nghiệm và kỹ năng trong CV là thật, và 3) tôi thật sự quan tâm đến vị trí đó. Dù làm như vậy, kết quả vẫn rất thảm: tôi có khoảng 10–12 cuộc gọi sàng lọc ban đầu và vượt qua khá dễ, nhưng chỉ khoảng 3–4 lần đi được đến các vòng phỏng vấn sau, còn offer thì 0
    Tôi tự hỏi vì sao mình phải tiếp tục cách này khi cứ làm vậy cũng chẳng đi đến đâu. Tôi không biết có lý do gì để không chuyển sang kiểu rải shotgun, tự động nộp vào mọi tin tuyển dụng có yêu cầu đại khái phù hợp; còn cách khác để gửi tín hiệu rằng mình là người thật sự có kinh nghiệm thì chỉ là có người quen trong công ty đứng ra bảo chứng, mà trường hợp đó thì hầu như không có

    • Tôi đã quan sát lâu trong một Slack riêng lớn những người tuyệt vọng thử tự động ứng tuyển và dùng LLM; tỷ lệ phản hồi rất tệ, nhưng xu hướng phổ biến là bù lại bằng ứng tuyển số lượng lớn
      Vấn đề là ngay cả khi cuối cùng kiếm được việc, thường đó cũng là những công ty tệ. Đó là những nơi có quản lý tuyển dụng kém năng lực, không phân biệt được bài viết rác của LLM với hồ sơ thật, hoặc có quy trình phỏng vấn nơi việc gian lận bằng LLM quá dễ đến mức đồng nghiệp cũng như toàn là người điều khiển LLM
      Bạn có thể thử, và có thể vẫn tốt hơn là không có gì. Nhưng nếu kỳ vọng một công việc tốt ở một công ty tốt, khả năng cao nó sẽ không cho bạn kết quả mong muốn
    • Khoảng 4 tháng trước tôi là quản lý tuyển dụng cho 3 vị trí, và số lượng hồ sơ giả nhiều đến mức khó tin. 90% là hoàn toàn giả hoặc chứa cùng kiểu câu chữ AI tạo sinh, nên cuối cùng tôi bắt đầu chỉ xem những CV có liên kết LinkedIn hoạt động
      Sau khi xem quá nhiều CV tệ, tôi trở nên khá dễ dãi nếu có yếu tố nào đó trông giống người thật, dù ứng viên không khớp hoàn toàn yêu cầu. Ví dụ như mục sở thích cá nhân. Có nhiều lời khuyên rằng không nên viết những mục như vậy, nhưng giữa biển hồ sơ giả và rác sao chép-dán, nó lại giúp bạn nổi bật
    • Tình cảnh tìm việc thật đáng tiếc, nhưng theo kinh nghiệm của tôi, các bảng tin việc làm gần như vô dụng. Đặc biệt là hiện nay, mọi tin tuyển dụng trên LinkedIn đều có hàng trăm, thậm chí hàng nghìn người ứng tuyển, và Indeed, ZipRecruiter, Dice chắc cũng ngập tương tự
      Lần tìm việc gần nhất, tôi đã ứng tuyển gần 300 chỗ, nhưng cuối cùng lại có được công việc mới nhờ một recruiter tôi gặp ở một buổi meetup JavaScript nhỏ giới thiệu vị trí
      Chỉ là một câu chuyện cá nhân, nhưng nó chắc chắn đã thay đổi góc nhìn của tôi; nếu bắt đầu tìm việc nghiêm túc lần tới, tôi sẽ đi meetup nhiều và hoạt động mã nguồn mở tích cực hơn hẳn
    • Tình hình hoàn toàn điên rồ, và nếu không có gì thay đổi thì tôi nghĩ cách tuyển dụng sẽ có biến chuyển lớn
      Tôi không muốn viết lại trải nghiệm gần đây, nhưng khoảng 6 tuần trước tôi đã có một thread viết cụ thể ở đây https://news.ycombinator.com/item?id=42137229
      Tôi ở vị thế tốt nên có thể bỏ thời gian, nhưng nếu cần việc gấp thì thật lòng tôi không biết mình đã làm gì
    • Nếu là tôi thì sẽ đi theo hướng ngược lại: giảm tự động hóa và chịu khó đi gặp gỡ nhiều hơn
      Hãy hỏi những người trong mạng lưới của bạn xem họ có biết nơi nào đang tìm người có kỹ năng bạn có không, và tham gia các cộng đồng online/offline phù hợp với kỹ năng và mối quan tâm của bạn
      Làm như vậy, nếu được giới thiệu ấm tới quản lý tuyển dụng thông qua người biết bạn, hoặc người biết người biết bạn, thì thường bạn có thể được đưa lên đầu hàng. Nếu bây giờ tôi tìm việc, tôi sẽ làm như thế; ngoài ra thì quá nhiều nhiễu
      0: Cũng hiệu quả với startup: https://paulgraham.com/ds.html
  • Tôi là một quản lý phần mềm đã tham gia phỏng vấn và tuyển dụng dưới hình thức này hay hình thức khác suốt 13 năm
    Năm ngoái tôi tuyển kỹ sư phần mềm hai lần; đợt tuyển mùa xuân thì bình thường, còn đợt mùa thu thì cực kỳ khắc nghiệt. Mùa thu, số ứng viên tăng vọt, và nhìn lại thì có vẻ phần lớn đều đã dùng AI theo cách nào đó
    Vào mùa thu, tỷ lệ vượt qua vòng duyệt CV và sàng lọc qua điện thoại ban đầu đột ngột tăng cao, nhưng tất cả đều sụp đổ ở phỏng vấn kỹ thuật. Tỷ lệ rớt ở phỏng vấn kỹ thuật cao hơn thường lệ rất nhiều
    Chúng tôi có một recruiter chuyên trách, và tôi không biết chắc 100% anh ấy dùng công cụ gì, nhưng cuối cùng chúng tôi bắt đầu xem từng CV một cách thủ công. Có hàng trăm hồ sơ nên mất nhiều thời gian, nhưng vấn đề sàng lọc ban đầu thì rất tốt còn phỏng vấn kỹ thuật thì tệ vẫn tiếp diễn
    Vì vậy chúng tôi quyết định loại các ứng viên nhắc nhiều đến AI, LLM và khoa học dữ liệu. Lý do là trong gần 1.000 ứng viên, chúng tôi cần phân loại bằng cách nào đó. Trường hợp sử dụng của chúng tôi khá đặc thù, không phải kiểu công việc dùng JavaScript hay parser, và hiệu quả tiết kiệm thời gian cũng không lớn. Làm vậy thì loại được một mảng lớn ứng viên và quy trình bắt đầu có cảm giác bình thường hơn
    Chúng tôi cũng đổi lại để chỉ tiến hành phỏng vấn tại chỗ. Vòng sàng lọc kỹ thuật ban đầu vẫn làm từ xa, nhưng trước COVID thì 100% là phỏng vấn tại chỗ, sau đó chuyển sang hybrid, còn giờ nhóm chúng tôi lại bắt buộc phỏng vấn tại chỗ

    • Nếu có lời khuyên cho người tuyển kỹ sư cho vị trí remote, thì dù bạn biết quy trình là 100% từ xa, cứ nói với ứng viên rằng “có thể sẽ có đánh giá kỹ thuật trực tiếp”
      Hiện nay có quá nhiều ứng viên giả đến mức vô lý, và cách duy nhất để khiến họ tự rút lui là cho họ biết rằng có khả năng họ phải trực tiếp đến đâu đó
      Có trường hợp chúng tôi nói “Bạn sống ở Flint, Michigan đúng không? Tình cờ là có một nhân viên ở cách đó 20 phút, bạn có thể gặp người đó không?” thì họ đột nhiên rút khỏi quy trình phỏng vấn
      Có quá nhiều kẻ lừa đảo ở nước ngoài lợi dụng xu hướng làm việc tại nhà ở Mỹ, đến mức lấn át cả ứng viên thật, và tình hình thật sự nghiêm trọng
    • Tôi đã làm việc theo hợp đồng từ năm 2017, và đã từ bỏ việc dùng các agency tuyển dụng để tìm việc ở Anh
      Trong lĩnh vực của mình, tôi có lẽ gần như là chuyên gia số 1 thế giới, và tôi ứng tuyển vào những vai trò nêu rõ yêu cầu SME trong lĩnh vực đó. Đây không phải vấn đề kỹ thuật; dù không thể biết chắc, nhưng có thể nói tôi đi trước các ứng viên khác hàng năm ánh sáng. Không phải tự cao, thực tế trông đúng là như vậy
      Vậy mà giờ các agency thậm chí không liên hệ với tôi nữa. Tôi nghĩ họ không đọc CV hay đơn ứng tuyển của tôi, có lẽ vì trong giờ đầu tiên đã có hàng trăm đơn đổ vào. Có vẻ họ chọn người đầu tiên trông đủ tốt để tiến hành rồi đi lấp hợp đồng tiếp theo
      Kết luận là dù bạn xuất sắc đến đâu, nếu CV không được nhìn thấy thì cũng vô ích. Đặc biệt là nếu bạn không ứng tuyển trong 10 phút đầu; để được nhìn thấy, bạn phải chơi trò chơi đó và phải tự động hóa việc ứng tuyển
      Vậy nếu không muốn chơi trò chơi đó, vấn đề hiện nay là làm sao tìm được những công ty cần kỹ năng của mình
    • Tôi là kỹ sư nền tảng, và trải nghiệm này gần như y hệt chúng tôi. Chúng tôi cũng phải lọc lượng lớn ứng viên, đồng thời phải lọc cả những người lạm dụng LLM
      Tôi không phản đối việc dùng LLM trong hoàn cảnh phù hợp, nhưng vấn đề lớn là ứng viên dùng chúng không đúng cách để lách quy trình. Chúng tôi cố gắng đặt gánh nặng phỏng vấn tối thiểu lên ứng viên, hỏi các câu liên quan thay vì câu bẫy, và cập nhật trạng thái nhanh nhất có thể
      Nhưng nhiều ứng viên dường như không có ý định đáp lại bằng sự tôn trọng tương tự. Những hành vi như vậy khiến chúng tôi phải dựa nhiều hơn vào mạng lưới sẵn có để tìm ứng viên “đáng tin cậy”, điều này có nguy cơ tạo thêm thiên kiến hoặc loại oan những ứng viên không có mạng lưới. Chúng tôi là tổ chức ưu tiên remote nên mọi cuộc phỏng vấn đều diễn ra từ xa
      Sắp tới tôi đang nghĩ đến việc thử các kỹ thuật AI đối kháng thô sơ, chẳng hạn chia sẻ màn hình một sơ đồ rồi thêm các chú thích không liên quan dù nói rõ là chúng không liên quan. Phỏng vấn tại chỗ cũng có thể là một phần của giải pháp
    • Tôi tự hỏi quản lý tuyển dụng thực sự có thể làm gì để khiến cuộc sống của người tìm việc dễ dàng hơn. Cùng lắm thì chỉ có thể nâng chất lượng phản hồi
      Có những ứng viên phỏng vấn sáu vòng mà vẫn bị loại, không nhận được một phản hồi tích cực nào và bị đối xử như rác bằng một email từ chối vô hồn. Từ góc nhìn ứng viên, tôi không có chút cảm thông nào với doanh nghiệp đang tuyển tôi, và nếu thấy cách nào hiệu quả hơn thì tôi sẽ dùng mọi thứ có thể, kể cả AI
      Với tôi, công việc chỉ là một giao dịch kinh doanh, và tôi không quan tâm đến những lời giáo huấn cao đạo của quản lý tuyển dụng
    • Dịp Giáng sinh tôi gặp một người bạn đang dạy thỉnh giảng ở đại học địa phương, và anh ấy nói năm nay đã đánh rớt nhiều sinh viên vì lạm dụng LLM hơn cả toàn bộ quãng đời đi dạy trước đó cộng lại
      Anh ấy không dùng công cụ phát hiện LLM, nhưng nói rằng các bài viết có dấu vết dùng LLM rất dễ nhận ra. Kỳ lạ là trong chủ đề chi tiết cụ thể của anh ấy, ChatGPT dùng quá mức vài từ khó ít khi được dùng, và các bài luận của sinh viên lạm dụng nó xuất hiện những từ đó nhiều lần
      Anh ấy cũng bắt được sinh viên trích dẫn rất nhiều tác phẩm và sách nằm ngoài phạm vi đọc được giao, hoặc thậm chí trích dẫn những cuốn sách không tồn tại. Chỉ cần hỏi nguồn là gì, lấy văn bản ở đâu là có thể bắt được
      Hiện nay trong tuyển dụng và phỏng vấn kỹ sư phần mềm junior cũng thấy nhiều điểm tương tự. Chúng tôi từng có những bài tập uy tín dùng tốt trong nhiều năm, nhưng giờ rõ ràng nhiều ứng viên trẻ lấy câu trả lời bằng LLM. Khi vào phỏng vấn và yêu cầu nói về lời giải của chính họ, họ nói “không nhớ” nó hoạt động thế nào, hay vì sao họ chọn cách đó
      Với người đã làm việc từ xa lâu năm như tôi, điều này thật đáng buồn. Ở ứng viên remote thấy sự lạm dụng trắng trợn nhiều hơn hẳn, và khi gọi đến phỏng vấn tại chỗ thì những người gian lận bằng LLM có vẻ lập tức sợ hãi rút lui, nhưng việc đó tốn rất nhiều chi phí và thời gian cho tất cả mọi người
  • Từ góc nhìn của người quản lý tuyển dụng, việc bị ngập trong các CV nộp tự động là điều chúng tôi ít mong muốn nhất
    Gần đây tôi đăng một tin tuyển dụng và chỉ sau 2 ngày đã nhận hơn 100 CV, 99% trong số đó gần như không phù hợp. Việc lọc qua từng ấy CV để tìm người đáng phỏng vấn thật sự rất mệt
    Khi có quá nhiều nhiễu, ngay cả ứng viên tốt cũng có thể bị vô tình bỏ qua hoặc từ chối, và vòng luẩn quẩn cứ thế tiếp diễn
    Tôi biết thị trường hiện tại đang xấu và có nhiều người tìm việc, nhưng nộp tự động và dội bom các trang tuyển dụng không hiệu quả. Ít nhất là ở những nơi quan trọng

    • Có thể không phải công ty của bạn, nhưng có vẻ các công ty tuyển dụng đã tự chuốc lấy chuyện này bằng cách lập tức dùng AI để từ chối các ứng viên đủ tiêu chuẩn, đăng tin tuyển dụng ma, rồi biến mất sau phỏng vấn, v.v.
      Nếu một ứng viên đủ tiêu chuẩn phải nộp hàng trăm đơn chỉ để có được một buổi phỏng vấn, thì liệu có thể trách họ vì tự động hóa không? Ngược lại, nếu họ có sự chủ động và năng lực để tự động hóa tốt việc đó, họ có thể là một đối tượng tuyển dụng xuất sắc. Nếu họ chưa tìm được việc, tất nhiên
    • Các bảng việc làm công khai vốn đã đầy những ứng viên spam ít đầu tư, nhưng các công cụ AI đã khuếch đại vấn đề này lên rất nhiều
      Điều buồn nhất là chứng kiến sự bất lực do AI và mạng xã hội lan sang các mentee trẻ. Tôi đã làm mentor tình nguyện nhiều năm, và các lứa gần đây bị nhiễm cảm giác rằng thị trường việc làm chỉ là một trò chơi cần tối ưu hóa
      Thật đáng tiếc khi những người trẻ thông minh, có động lực lại học cách nghĩ về thị trường việc làm từ những nơi như Reddit và TikTok. Ở đó họ được dạy rằng nỗ lực là dở hơi, và cách duy nhất để giữ phẩm giá là bỏ ít công sức hơn vào công việc, nói dối trong phỏng vấn, thử giới hạn xem có thể làm ít đến mức nào, và làm việc kiểu quiet quitting. Rồi họ hợp lý hóa những hành vi này là do công ty và CEO, chứ không phải lựa chọn của bản thân
      Đợt suy thoái gần đây trong ngành công nghệ là một cú tỉnh ngộ lớn với những người này. Bầu không khí ở một số lứa đã chuyển từ kiểu bất lực kiêu ngạo, do thị trường kỳ lạ giai đoạn 2021–2022 khiến họ tin rằng nếu bị sa thải thì tuần sau vẫn có thể kiếm việc mới tăng lương 20%, sang việc bị sa thải vì hiệu suất thấp của chính mình và trở nên khiêm tốn hơn rất nhiều
      Phiên bản mới của sự bất lực này là niềm tin rằng dù sao AI cũng sẽ lấy mất việc, nên trò chơi là dùng LLM để gian lận hồ sơ ứng tuyển, vượt qua phỏng vấn, rồi sau khi vào làm thì bám trụ càng lâu càng tốt
      Vấn đề nghiêm trọng đến mức một công ty đã rút khỏi hợp tác với bảng việc làm nội bộ của chúng tôi. Lý do là hồ sơ ứng tuyển do LLM tạo ra và gian lận LLM lộ liễu trong phỏng vấn quá tràn lan. Ngược lại, những người thật sự học hỏi và nỗ lực một cách chân thành, chỉ riêng việc không dựa vào LLM cho giao tiếp và lập trình thôi đã tự động lọt vào khoảng top 25%
      Tôi không biết chuyện này sẽ kết thúc thế nào. Có cảm giác thị trường việc làm đang tiếp tục tách đôi thành những công việc nơi người ta nghiêm túc với công việc, và những công việc nơi miễn là không bị bắt quả tang thì ai cũng chỉ chơi ping-pong LLM với nhau
    • Vì spam tuyển dụng tự động, cộng với nền tảng đạo đức cơ bản lỏng lẻo của cả ngành đến mức còn có bài trên HN khoe các app hỗ trợ gian lận phỏng vấn bằng LLM, vài người bạn của tôi làm hỗ trợ tuyển dụng đã quay lại với phỏng vấn trực tiếp tại chỗ
      Điều vô lý hơn là đây đều là các vị trí 100% remote. Phỏng vấn được tiến hành ở văn phòng chia sẻ. Thế giới chúng ta đang sống hiện nay là vậy
    • Đây là phản ứng tự nhiên trước cách sàng lọc tự động mà phía tuyển dụng đã dùng suốt nhiều năm. Cuối cùng thì trong cuộc chạy đua vũ trang do phía tuyển dụng khởi xướng, sức mạnh hai bên đã cân bằng hơn một chút
      Tất nhiên kết quả là tất cả đều thiệt, và mọi thứ tệ hơn so với khi cuộc chạy đua vũ trang này chưa bắt đầu. Nhưng lẽ ra các quản lý tuyển dụng phải nghĩ đến điều đó trước khi tự động loại ứng viên. Trách nhiệm thuộc về phía tuyển dụng
    • Tôi tự hỏi lựa chọn thay thế là gì. Có vẻ không phải là “hãy cân nhắc kỹ và nộp vào một vài tin tuyển dụng cực kỳ liên quan”. Từ góc nhìn ứng viên, tôi không thấy nhiều bất lợi khi không chơi trò chơi con số
  • Tôi là người tự động hóa mọi thứ và vốn thích những việc kiểu này, nhưng cách tìm việc của tôi thì hoàn toàn khác
    Thay vì rải đơn bừa bãi, tôi dành khoảng một tuần để tìm hiểu sâu về những công ty mình muốn làm, và xác định xem nên vào ở vai trò nào. Tất cả đều 100% thủ công và tập trung cao độ, tổng số công ty không quá 8
    Nộp đơn hàng loạt có thể hiệu quả khi bạn còn junior, nhưng càng về sau trong sự nghiệp, bạn càng phải rất kén chọn nơi mình sẽ bỏ thời gian đi phỏng vấn. Vì vai trò là chuyện dài hạn và ảnh hưởng lớn đến cuộc sống

    • Về cơ bản tôi cũng làm như vậy. Vấn đề là hồ sơ được viết cẩn thận lại bị chôn vùi giữa vô số ứng viên. Cũng có nhiều người dùng các công cụ giống như ở trên
      Công cụ mà recruiter hoặc bộ phận nhân sự dùng cũng rất tệ và dễ bị đánh lừa. Chỉ cần rải chiến lược các từ khóa và cụm từ trong CV, dù không có kinh nghiệm thực tế. Kết quả là quản lý tuyển dụng không gọi được ứng viên tốt đi phỏng vấn, còn ứng viên tốt thì không có cơ hội phỏng vấn
      Vấn đề cốt lõi không phải chỉ là hệ thống tệ, mà là trong 2–3 năm qua, quá nhiều người trong ngành IT mất việc đến mức cuối cùng chẳng còn lựa chọn nào ngoài nộp đơn hàng loạt. Dù sao thì vẫn phải kiếm sống
      Mọi thứ sẽ không khá hơn cho đến khi tuyển dụng phục hồi khiến nhu cầu lao động tăng lên, và một số chuyên gia IT chuyển sang ngành khác làm nguồn cung lao động giảm xuống. Trông giống như những gì đã xảy ra vào năm 2000 và 2008
    • Nghe như một cách tiếp cận cao thượng và hay ho, nhưng tôi nghĩ chỉ cần bị ghost hoặc bị từ chối vội vàng một lần là sẽ bỏ ngay
      Có quá nhiều lý do vớ vẩn khiến hồ sơ bị phớt lờ, nên tôi không nghĩ cách này sẽ hiệu quả. Trừ khi bạn có thể tiếp cận người quản lý qua mạng lưới quan hệ
    • Nếu bỏ công như vậy mà vẫn bị ghost thì không đáng để đầu tư
    • Tôi tò mò lần gần nhất cách đó hiệu quả là khi nào, và bối cảnh cũng như loại vai trò bạn ứng tuyển là gì
    • Tôi cũng tò mò là sau đó bạn networking vào trong công ty để có phỏng vấn, hay là nộp online. Tôi muốn biết thêm về cách tiếp cận thủ công đó
      Tôi nghĩ cả hai cách đều có giá trị. Với hẹn hò online tôi đã dùng cách tiếp cận tự động hóa, và giờ đã kết hôn, nên nó đã có hiệu quả
      Cách tiếp cận tự động hóa với công ty có lẽ cũng hoạt động tương tự hẹn hò online. Chỉ là khác với hẹn hò online, tôi cảm thấy với công ty, nếu có thể đi được đến vòng phỏng vấn thì cách tiếp cận nhắm mục tiêu mạnh có khả năng hiệu quả hơn
      Lý do lớn nhất khiến cách tiếp cận nhắm mục tiêu không hiệu quả lắm trong hẹn hò là bạn phải tìm ra mình có phản ứng hóa học với ai. Trong công việc thì không cần tìm ra điều đó, hoặc ít nhất không đòi hỏi mức độ thân mật như trong một mối quan hệ tình cảm
  • Tôi cũng làm theo cách này và kiếm được việc chỉ sau 3 tháng
    Trước khi tự động hóa, phần nhàm chán nhất là sao chép và dán thông tin liên quan vào thư xin việc, cập nhật nội dung, tạo tài liệu Word cho thư xin việc, rồi đặt một bản sao CV vào thư mục của công ty/tin tuyển dụng đó. Tôi cũng tự động thêm chi tiết tin tuyển dụng vào bảng Notion dùng để theo dõi các hồ sơ đang mở, tức bảng Kanban
    Trước đây toàn bộ quy trình mất 30–45 phút, nhưng sau đó chưa đến 2 phút. Không phải tôi ứng tuyển nhiều hơn, mà là có thể viết hồ sơ ứng tuyển trong thời gian ngắn hơn rất nhiều, còn thời gian còn lại tập trung vào việc tìm hiểu công ty và vị trí
    ChatGPT đã làm cho toàn bộ quy trình trở nên rất mượt mà, và chúng ta đang sống trong một thời đại tuyệt vời

  • Nếu nhà tuyển dụng bị ngập trong CV, họ có thể dùng những tác vụ không được ưa chuộng và chỉ dẫn thủ công làm bộ lọc

    1. Trên trang nộp hồ sơ, đặt một câu như “Tất cả CV hoặc thư xin việc phải sao chép và áp dụng câu sau; nếu không có, hồ sơ sẽ bị loại khỏi quá trình xét duyệt”. Cách này kiểm tra xem ứng viên có thực sự đọc và làm theo chỉ dẫn hay không, và có thể tự động từ chối bằng tìm kiếm chuỗi đơn giản
    2. Với 1% ứng viên đã làm theo chỉ dẫn, ở bước lọc kỹ thuật hãy yêu cầu một tác vụ không được ưa chuộng để thể hiện kinh nghiệm lập trình trước đó. Trong trường hợp tôi là lập trình viên JavaScript, đó là tác vụ di chuyển từ một vị trí node DOM sang vị trí khác. Tôi đã có thể rút 22 ứng viên xuống còn 2 người, con số này chưa tính nhiều người khác đã bỏ cuộc giữa chừng
    • Tôi tò mò liệu tác vụ di chuyển DOM từ một vị trí node sang vị trí khác có phải là open-book không
      DOM có thể được duyệt theo nhiều cách. Nhắm mắt tôi cũng có thể hack ra thứ gì đó bằng childNodesnextSibling, nhưng cách tốt nhất có lẽ là lớp TreeWalker. Tôi từng dùng trước đây, nhưng sẽ không thể viết một triển khai chạy được trên bảng trắng nếu không lướt qua MDN một chút để nhớ lại
      Nếu chỉ lọc ứng viên dựa trên việc họ có thuộc lòng các chuẩn web ngày càng phình to hay không, bạn sẽ bỏ lỡ rất nhiều ứng viên giỏi
    • Cách đầu tiên thì LLM cũng có thể giải quyết dễ dàng y hệt
  • Tôi không đồng ý với ý kiến rằng bí quyết của một thư xin việc tốt là ngữ cảnh
    Tôi biết thời điểm tôi tìm việc hơn 4 năm trước và bây giờ đã khác nhau rất nhiều, nhưng thư xin việc không phải là nơi để cho thấy bạn đã đọc tin tuyển dụng rồi nhét các chi tiết cụ thể của vị trí vào một mẫu có sẵn; đó là cơ hội duy nhất để thể hiện cá tính
    Tôi nghĩ một thư xin việc tốt có thể thay đổi cục diện. Tôi có được công việc lập trình viên đầu tiên cũng vì quản lý tuyển dụng và các lập trình viên senior thích thư xin việc của tôi. Nó cũng là một bộ lọc tốt về mức độ phù hợp văn hóa. Tôi không phải là người quá nghiêm túc, và không muốn làm việc ở một công ty kỳ vọng tôi như vậy, nên tôi luôn thêm một chút hài hước
    Đầu năm nay, khi phải tuyển một chút, tôi cũng đọc thêm vài phút để tìm những thư xin việc có điều gì đó khác lệ thường, nhưng không tìm thấy. Ai cũng làm theo những mẫu nhàm chán tìm được sau khi Google qua loa “cách viết thư xin việc”
    CV không truyền tải được liệu tôi có phải kiểu người mà họ muốn làm việc cùng hay không. Có 200 CV của những người có thể làm công việc cần tuyển. Nếu chỉ bằng CV mà bạn phải cạnh tranh với 199 người có kỹ năng tương đương, một thư xin việc tốt có thể là lợi thế cạnh tranh
    Tất nhiên tôi biết môi trường tuyển dụng ngày nay hoàn toàn khác, nên góc nhìn của tôi có thể sai. Dù vậy, tôi nghĩ vẫn có những quản lý tuyển dụng đọc thư xin việc, và nếu một ngày nào đó tôi bắt đầu tìm việc mới, tôi sẽ dành thêm vài phút cho thư xin việc

    • Tôi cũng nghĩ như vậy khi nhìn một phần prompt. Thành thật mà nói, nếu đưa vào vài mẫu thư xin việc từng tự viết trước đây, kết quả sẽ cá nhân hơn nhiều vì nó bắt chước phong cách viết và tính cách của bạn
      Tách riêng vấn đề ứng tuyển rải thảm, ứng viên nên điều chỉnh theo mức nỗ lực mà nhà tuyển dụng bỏ ra. Nếu vài bước đầu được tự động hóa còn đoạn cuối có người đọc, thì thư xin việc được tạo ra nên được tự tay hiệu đính
    • Thực sự tùy công ty. Tôi đã phỏng vấn hơn 200 người nhưng chưa từng xem thư xin việc lần nào
  • Khá hay, nhưng có vẻ hữu ích hơn như một dự án demo gọn gàng hơn là một tính năng thực tế
    Trước hết, việc nộp hồ sơ xin việc tự động nhiều khả năng sẽ không tạo thiện cảm với quản lý tuyển dụng. Hơn nữa, giống như bạn không muốn tối ưu hóa cuộc sống của mình chỉ để giỏi buổi hẹn hò đầu tiên, có lẽ bạn cũng không muốn tối ưu hóa cuộc sống cho việc tìm việc
    Cuộc sống trọn vẹn hơn khi bạn tìm được điều mình muốn và có thể duy trì lâu dài

    • Đồng ý
      Cảm giác như đang tối ưu hóa cho mục tiêu sai: vượt qua càng nhiều vòng sàng lọc càng tốt cho nhiều vị trí, bất kể có phù hợp hay không
      Cá nhân tôi, những trải nghiệm thành công nhất trong tìm việc và đi làm là khi tôi có người quen trong công ty, bỏ qua hẳn vòng sàng lọc CV ban đầu, rồi nộp CV và thư xin việc được tinh chỉnh cẩn thận với sự hậu thuẫn mạnh mẽ từ những người biết tôi
      Tôi biết không phải ai cũng có được sự xa xỉ đó, nhưng tôi đã cố gắng duy trì networking cả trong lẫn ngoài công việc, và nhìn chung điều đó giúp lọc bớt những nơi làm việc tệ hoặc vai trò không phù hợp, tiết kiệm thời gian cho cả hai bên
  • Tôi đã tìm việc suốt mấy tháng mà không có kết quả, ngày nào cũng tự kiểm tra LinkedIn và Indeed để tìm vị trí mới, xem yêu cầu, rồi kiểm tra xem kỹ năng và kinh nghiệm của mình có phù hợp không
    Quá trình này cũng giúp tôi hiểu mình cần bổ sung ở mảng nào. Sau đó tôi nghiên cứu công ty và ngành. Đến lúc tôi thấy mình quan tâm, phù hợp và sẵn sàng ứng tuyển thì đã có hàng trăm ứng viên rồi. LinkedIn hiển thị số lượng ứng viên
    Tôi từng nghĩ “mới có 3 ngày mà sao có thể như vậy?”, và đây chính là lý do

    • Một cách hay để biết kỹ năng và kinh nghiệm có phù hợp không là chờ đến khi nhận được email mời phỏng vấn
      Cảm giác tàu lượn cảm xúc khi tự thuyết phục bản thân rằng mình hợp với công ty rồi cuối cùng lại không được rất đau. Và chi phí đó chỉ ứng viên phải chịu. Việc muốn trì hoãn chuyện đó cho đến khi chắc chắn ít nhất có một khả năng nào đó mình có thể kiểm soát được là điều tự nhiên
      Kết quả tuyệt đối không bao giờ hoàn toàn phụ thuộc vào thành tích và hành động của bản thân. Có rất nhiều vai trò không có ngân sách, công ty đang đóng băng tuyển dụng, hoặc tin tuyển dụng mà ứng viên đã thành công chỉ còn chờ offer chính thức
      Tôi cho rằng công sức bỏ ra để nghiên cứu hồ sơ ứng tuyển nên là một hàm của mức nỗ lực ứng viên được yêu cầu để đi tiếp và mức tôn trọng nhà tuyển dụng thể hiện với ứng viên. Nỗ lực cần cho một buổi phỏng vấn qua điện thoại là rất thấp, còn mức tôn trọng gần như bằng 0
    • Dịch vụ ứng tuyển thủ công thay cũng tồn tại. Theo đúng nghĩa đen, có những người coi việc ứng tuyển vào tin tuyển dụng như một nghề, và có thể tìm người cung cấp dịch vụ trên r/slavelabour
      Họ có thể lấy phí cố định theo mỗi lần ứng tuyển, hoặc lấy một tỷ lệ nhất định từ tháng lương đầu tiên ở công việc mới
      https://www.reddit.com/r/slavelabour/search/?q=job+applicati...
    • Việc có 100 ứng viên trong giờ đầu tiên là chuyện thường
      Lời khuyên cho cả hai phía là đừng dùng bảng tin tuyển dụng, mà nên dùng website của chính mình
    • Tôi nghe nói số lượng ứng viên trên LinkedIn hoàn toàn không như mọi người nghĩ
      Tôi không nhớ chi tiết, nhưng từ đó về sau tôi không còn xem nó một cách nghiêm túc nữa
    • Tham khảo thêm, theo kinh nghiệm của tôi thì hiện nay LinkedIn gần như là nơi tệ nhất để một người thật sự biết làm việc tìm việc
      Vì ai cũng cứ bấm nút ứng tuyển ở bất cứ đâu để xem có gì dính không, nên tỷ lệ tín hiệu trên nhiễu hoàn toàn rác rưởi. Nếu trang chủ công ty có mục tuyển dụng thì lúc nào cũng nên ưu tiên bên đó
  • Nhìn những bài như thế này khiến tôi nghĩ hoặc là mình đang làm sai điều gì đó, hoặc là họ đang làm sai điều gì đó
    Tôi chưa từng viết hàng trăm hồ sơ ứng tuyển. Khi tìm việc, tôi nghiên cứu vài công ty mình muốn làm, viết vài hồ sơ có suy nghĩ kỹ càng, và thường thì ít nhất cũng nhận được phản hồi, đa số còn được mời phỏng vấn
    Tất nhiên tôi có bằng đại học, nhưng nhiều người ở đây chắc cũng vậy. Tôi sống ở một thành phố cỡ trung tại Đức, nên nếu vậy thì tìm việc lẽ ra phải khó hơn chứ không có lý do gì lại dễ hơn
    Không phải hiện nay đang thiếu nhân lực kỹ thuật có tay nghề sao? Ở nhiều nơi, tiêu chuẩn tuyển dụng có cảm giác như “ai bước qua cửa cũng được”. Chúng tôi có lẽ cũng sẽ tuyển gần như bất kỳ ai biết lập trình, đáng tin cậy và có thể làm việc trong đội

    • Nhân lực kỹ thuật thì thừa, nhưng nhân lực kỹ thuật giỏi thì thiếu. Ở vòng CV, việc phân biệt hai nhóm này khó đến mức khó tin. Đăng tin tuyển dụng online thì chỉ trong vài ngày sẽ nhận được hàng trăm hồ sơ
      Hãy tưởng tượng bạn là một kỹ sư giỏi: bạn ứng tuyển vào một công ty, nhưng 200 người khác cũng ứng tuyển cùng. Công ty phải tự động loại một số ứng viên, nên CV của bạn có thể vào thùng rác vì vướng một tiêu chí heuristic đơn giản nào đó, hoặc chỉ vì kém may mắn, họ xóa nửa dưới mà không thèm xem
      Giờ phải làm gì? Vấn đề là bạn sẽ bỏ rất nhiều thời gian tuần tới để lặp lại quá trình này, hay hạ tiêu chuẩn xuống và ứng tuyển thêm 200 công ty nữa
    • Đức có vẻ khác. Ở đây công việc dường như diễn ra nhiều hơn qua truyền miệng, nên spam bằng LLM có lẽ chưa lan rộng như ở Anh hay Mỹ
      Phần lớn công việc không được quảng cáo công khai đến mức đó, mà bạn bè sẽ báo việc kiểu “tôi biết người có thể làm việc đó”
    • Tôi cũng sống ở Đức, và theo kinh nghiệm của tôi, dù có thiếu nhân lực đi nữa thì cũng vô ích nếu những gì HR hỏi không được phản ánh trong kinh nghiệm trên CV trong 1 năm gần đây
      Dù bạn đã từng làm việc đó 5 năm trước cũng vậy. Và trong thư giới thiệu không được có nội dung tiêu cực được gói ghém như phản hồi tích cực