PRIMUS
Bảng làm việc dành cho chuyên viên tư vấn tuyển dụng nhân sự cấp cao.
Đọc về việc chuyển đổi framework
Tóm tắt nhanh
- Đây là gì
- Bảng làm việc giúp chuyên viên tư vấn tuyển dụng nhân sự cấp cao tìm ứng viên, lập danh sách và liên hệ tiếp.
- Vai trò của mình
- Lập trình viên frontend duy nhất, kiêm một phần API, làm cùng đồng nghiệp backend và thiết kế.
- Phần mình làm
- Viết lại từ nhiều ứng dụng React thành một ứng dụng Angular
- Tìm kiếm ứng viên có bộ lọc, đánh dấu từ khóa và khôi phục tìm kiếm
- Hệ thống theo dõi sự kiện cho phép component chỉnh sự kiện trước khi gửi
- Công nghệ
- Angular
- TypeScript
- RxJS
- Trạng thái
- Đã ngừng hoạt động, 2019 đến 2023
Mình cũng làm danh sách ứng viên theo vị trí, lời mời ứng viên và trang doanh nghiệp. Các dịch vụ còn lại do đồng nghiệp backend phụ trách, còn thiết kế giao diện do nhóm thiết kế cung cấp.
Sản phẩm được dùng để làm gì
Tuyển dụng nhân sự cấp cao gồm nhiều việc ngoài tìm ra một cái tên. Chuyên viên tư vấn tìm ứng viên, lập danh sách phù hợp cho từng vị trí, xem CV và tiếp tục liên hệ. PRIMUS tập hợp những công việc đó vào một bảng làm việc tuyển dụng. Mình phụ trách frontend và đóng góp một phần API.
Tìm kiếm
Tìm và lọc hồ sơ ứng viên.
Chọn ứng viên
Gắn những ứng viên phù hợp với vị trí tuyển dụng.
Liên hệ tiếp
Xem thông tin và chuẩn bị liên hệ.

Giới thiệu vị trí và hỗ trợ công việc tuyển dụng
Các trang công khai của PRIMUS giới thiệu vị trí và nhà tuyển dụng qua thẻ việc làm và thông tin doanh nghiệp. Bảng làm việc của chuyên viên tư vấn hỗ trợ quá trình tuyển người cho những vị trí đó: từ kết quả tìm kiếm có thể mở hồ sơ, thêm vào danh sách ứng viên phù hợp hoặc gửi lời mời. Bộ lọc và ngữ cảnh tìm kiếm cần tiếp tục hỗ trợ người dùng khi chuyển giữa các công việc.
Là lập trình viên frontend duy nhất, mình xây dựng những luồng này cùng nhóm sản phẩm và các nhóm hỗ trợ. Tìm kiếm ứng viên có bộ lọc, đánh dấu từ khóa và khôi phục tìm kiếm. Danh sách ứng viên được chọn gắn từng người với vị trí và tiến độ trong quy trình tuyển dụng.

Gom frontend về một ứng dụng
Frontend mình tiếp nhận gồm nhiều ứng dụng React viết bằng JavaScript, có trạng thái Redux dùng xuyên qua ranh giới ứng dụng. Một thay đổi tính năng có thể liên quan đến nhiều codebase, và chuyển tính năng sẽ tải một ứng dụng khác.
Mình viết lại bảng làm việc thành ứng dụng Angular với TypeScript, định tuyến và dịch vụ dùng chung. Quá trình chuyển đổi bao gồm cả các tính năng tuyển dụng đang dùng và cấu trúc mới, sau đó được đưa vào production.
Quá trình chuyển đổi phải giữ được các tính năng đang sử dụng.

Cung cấp dữ liệu sử dụng sản phẩm cho đội ngũ
Mình cũng xây dựng hệ thống theo dõi dựa trên sự kiện. Component có thể thêm, sửa hoặc lọc sự kiện trước khi gửi, để thông tin đi theo đúng thao tác đang được thực hiện.
Các phần việc khác gồm lời mời ứng viên có xem trước và thông tin tương tác, trang doanh nghiệp và tích hợp tìm kiếm. Mình cũng xây dựng một phần API. Đồng nghiệp sản phẩm và backend phụ trách sản phẩm tổng thể cùng các dịch vụ còn lại; nhóm thiết kế cung cấp thiết kế giao diện.
Bản chuyển đổi được sử dụng khi sản phẩm còn hoạt động
Bảng làm việc Angular được đưa vào production và phục vụ quy trình tuyển dụng trong thời gian PRIMUS còn hoạt động. Mình hoàn thành việc viết lại frontend, các tính năng liên kết và một phần API.
Sau đó Navigos ngừng PRIMUS theo quyết định kinh doanh. Bảng làm việc được mô tả ở đây thuộc giai đoạn trước đó.
Sửa sản phẩm đang chạy? Đúng kiểu vừa ở vừa sửa nhà.
Phần nào cần tiếp tục hoạt động? Kể mình nghe trước.
Ghi chú triển khai
Chuyển đổi framework
Mình chuyển bảng làm việc từ React và Redux viết bằng JavaScript sang Angular 14 với TypeScript và RxJS. Route, dịch vụ và component dùng chung thay thế các ứng dụng frontend riêng.
Phạm vi tìm kiếm và sự kiện
Tích hợp tìm kiếm NBS liên quan đến chuyển hướng, deep link và khôi phục tìm kiếm. Hệ thống theo dõi cho phép từng component điều chỉnh sự kiện trước khi gửi.
Đóng góp API
Ngoài việc phụ trách toàn bộ frontend, mình xây dựng một phần API. Đồng nghiệp backend chịu trách nhiệm các dịch vụ còn lại. Đồng nghiệp sản phẩm và thiết kế cung cấp yêu cầu và thiết kế giao diện cho hệ thống tổng thể.
Ghi nhận công việc đã hoàn thành
Bản trích xuất Jira ngày 17 tháng 5 năm 2026 ghi nhận 89 ticket được giao cho mình ở trạng thái Done hoặc Resolved trong PRIMUS. Tổng này gồm nhiều nhóm tính năng, không phải số ticket riêng của hệ thống theo dõi hay thước đo tác động cá nhân lên sản phẩm.
