Giới thiệu dự án

Trong bối cảnh ngành công nghiệp sản xuất và phân phối vật liệu xây dựng tại vùng kinh tế trọng điểm phía Nam (đặc biệt là tỉnh Bình Dương) cạnh tranh ngày càng khốc liệt, việc xây dựng và duy trì đội ngũ nhân lực chất lượng cao là yếu tố sống còn đối với mọi doanh nghiệp. Theo các khảo sát thị trường lao động công nghiệp sản xuất năm 2022, tỷ lệ biến động nhân sự (turnover rate) trong ngành gia công cơ khí và vật liệu xây dựng dao động từ 15% - 22%/năm, tạo ra áp lực chi phí tuyển dụng và đào tạo thay thế rất lớn cho các đơn vị vận hành.

Đề tài "Hoàn thiện công tác tuyển dụng nhân sự tại Công ty Cổ phần Tập đoàn Hoa Sen - Chi nhánh An Phú" được thực hiện nhằm giải quyết các nút thắt trong công tác thu hút, sàng lọc và giữ chân nhân sự tại đơn vị trực thuộc Tập đoàn Hoa Sen (địa chỉ: Số 109A/3, tổ 3, KP2, P. An Phú, TP. Thuận An, Bình Dương). Chi nhánh hiện vận hành quy mô 150 nhân sự chính thức với hoạt động sản xuất, kinh doanh đa dạng: sản xuất ống thép mạ kẽm, xà gồ thép, ống nhựa PVC/PE/PP và hệ thống phân phối xuất khẩu sang Mỹ, Trung Quốc, Campuchia, Lào.

Vấn đề cụ thể và các điểm nghẽn (Pain Points)

  1. Thiếu hụt cục bộ lao động kỹ thuật cao: Dù tổng nhân sự ổn định ở mức 150 người, tỷ lệ lao động có trình độ Đại học (8%) và Trên đại học (2%) còn thấp; nhóm tốt nghiệp THPT (45.33%) và chưa tốt nghiệp THPT (26.67%) chiếm đa số. Khi tiếp nhận các đơn hàng xuất khẩu đòi hỏi tiêu chuẩn kỹ thuật mới, chi nhánh đối mặt với tình trạng thiếu công nhân lành nghề nghiêm trọng.
  2. Quy trình tuyển dụng thủ công, phụ thuộc vào mối quan hệ: Giai đoạn 2020–2022, tỷ trọng tuyển dụng từ nguồn bên ngoài tăng từ 63.33% (19/30 người năm 2020) lên 67.24% (39/58 người năm 2022), nhưng chủ yếu qua kênh giới thiệu nội bộ và dán thông báo tại cổng chi nhánh, chưa khai thác hiệu quả các nền tảng số hoặc mạng lưới trường đại học/cao đẳng kỹ thuật.
  3. Hiện tượng "chảy máu chất xám" và tỷ lệ nghỉ việc cao: Chính sách đãi ngộ và lộ trình phát triển chưa cạnh tranh so với các đối thủ trong khu vực KCN Sóng Thần/VSIP, dẫn đến việc công nhân bậc cao rời bỏ tổ chức sau khi được đào tạo.
  4. Tiêu chuẩn tuyển dụng cứng nhắc: Giới hạn độ tuổi dưới 27 đối với khối chuyên môn và dưới 26 đối với công nhân kỹ thuật tạo rào cản lớn trong việc tiếp cận nhóm ứng viên giàu kinh nghiệm thực chiến.

Mục tiêu của dự án

  1. Chuẩn hóa toàn bộ quy trình 2 giai đoạn (Tuyển mộ – Tuyển chọn) gắn liền với khung năng lực tiêu chuẩn ASK (Attitude - Skill - Knowledge).
  2. Xây dựng mô hình tính điểm sàng lọc ứng viên tự động (Weighted Candidate Scoring Engine) ứng dụng thuật toán đánh giá đa tiêu chí.
  3. Tái cấu trúc kênh tuyển dụng số, mở rộng hợp tác với các cơ sở đào tạo nghề và tối ưu hóa chi phí tuyển dụng trên mỗi đầu việc (Cost-per-Hire).
  4. Thiết lập chính sách hội nhập, thử việc và đãi ngộ liên kết hiệu suất nhằm giảm tỷ lệ nghỉ việc sớm trong 90 ngày đầu xuống dưới 8%.

Giải pháp và Phạm vi áp dụng

  • Giải pháp: Kết hợp giữa tái cấu trúc quy trình quản trị nhân sự truyền thống và tích hợp hệ thống phần mềm quản lý tuyển dụng ATS (Applicant Tracking System) mã nguồn mở, cho phép số hóa việc tiếp nhận hồ sơ, chấm điểm tự động theo bộ tiêu chí chuyên biệt cho từng nhóm vị trí (Kỹ thuật sản xuất, Kinh doanh B2B, Khối hành chính).
  • Phạm vi: Chi nhánh An Phú - Tập đoàn Hoa Sen; tập trung vào 5 phòng chức năng (Kinh doanh, Kỹ thuật, Logistic, Tài chính Kế toán, Hành chính Nhân sự) và Phân xưởng sản xuất trực tiếp.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Nghiên cứu so sánh phương thức tuyển dụng hiện tại của chi nhánh với các giải pháp quản trị hiện đại:

Tiêu chí Quy trình hiện tại của Chi nhánh Mô hình Chuẩn hóa Đề xuất (ATS + ASK)
Kênh tuyển mộ Dán bảng tin, giới thiệu nội bộ, web việc làm cơ bản Đa kênh: LinkedIn API, TopCV, Portal nội bộ, Ngày hội việc làm ĐH
Sàng lọc hồ sơ Đọc hồ sơ giấy thủ công qua cảm tính cán bộ HR Tự động phân tích từ khóa, chuẩn hóa CV, tính điểm năng lực tự động
Tiêu chí đánh giá Bằng cấp, giới hạn tuổi (<26, <27), sức khỏe Khung ASK: Năng lực chuyên môn (40%), Kỹ năng (30%), Thái độ (30%)
Thời gian tuyển dụng Trung bình 28–35 ngày/vị trí Rút ngắn còn 12–15 ngày/vị trí
Độ chính xác tuyển chọn Phụ thuộc hoàn toàn vào phỏng vấn trực tiếp Đánh giá 3 vòng: Test kỹ thuật, Phỏng vấn tình huống (STAR), Thử việc

Thiết kế hệ thống quản lý tuyển dụng (HR-ATS Architecture)

Hệ thống được thiết kế theo kiến trúc Microservices tinh gọn, đảm bảo tính bảo mật và khả năng mở rộng khi Tập đoàn triển khai diện rộng trên toàn hệ sinh thái chi nhánh.

Ngăn xếp công nghệ (Technology Stack)

  • Backend Core: Python 3.11.6, FastAPI v0.104.1 (Async RESTful API).
  • Thư viện Xử lý Năng lực/Văn bản: spaCy v3.7.2 (NLP Pipeline trích xuất kỹ năng), pydantic v2.5.2.
  • Cơ sở dữ liệu: PostgreSQL v15.4 (Quan hệ dữ liệu ứng viên & bảng điểm đánh giá), Redis v7.2 (Caching & Asynchronous Job Queue).
  • Hạ tầng Container: Docker Engine v24.0.7, Docker Compose v2.23.0.
  • Bảo mật: JWT (JSON Web Tokens), mã hóa dữ liệu AES-256 đối với thông tin định danh cá nhân (CCCD, địa chỉ, số điện thoại) theo Nghị định 13/2023/NĐ-CP.

Thiết kế Cơ sở dữ liệu (Database Schema DDL)

-- Bảng lưu trữ ứng viên và thông tin hồ sơ
CREATE TABLE candidates (
    candidate_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    full_name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    phone VARCHAR(15) NOT NULL,
    dob DATE NOT NULL,
    education_level VARCHAR(50) NOT NULL, -- 'POST_GRAD', 'UNIVERSITY', 'COLLEGE', 'HIGH_SCHOOL'
    technical_degree VARCHAR(100),
    years_of_experience NUMERIC(3, 1) DEFAULT 0.0,
    applied_position_id VARCHAR(20) NOT NULL,
    resume_url TEXT NOT NULL,
    status VARCHAR(30) DEFAULT 'APPLIED', -- 'SCREENING', 'INTERVIEW', 'OFFERED', 'REJECTED'
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Bảng lưu trữ kết quả đánh giá năng lực theo khung ASK
CREATE TABLE competency_evaluations (
    evaluation_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    candidate_id UUID REFERENCES candidates(candidate_id) ON DELETE CASCADE,
    interviewer_id VARCHAR(50) NOT NULL,
    attitude_score NUMERIC(4, 2) CHECK (attitude_score BETWEEN 0 AND 100),
    skill_score NUMERIC(4, 2) CHECK (skill_score BETWEEN 0 AND 100),
    knowledge_score NUMERIC(4, 2) CHECK (knowledge_score BETWEEN 0 AND 100),
    composite_score NUMERIC(5, 2),
    decision VARCHAR(20) NOT NULL, -- 'PASS', 'FAIL', 'CONSIDER'
    notes TEXT,
    evaluation_date DATE DEFAULT CURRENT_DATE
);

Phương pháp luận triển khai (Methodology)

Dự án áp dụng mô hình quản trị chất lượng PDCA (Plan - Do - Check - Act) kết hợp quy trình phân kỳ 4 giai đoạn rõ ràng:

  1. Giai đoạn 1 (Plan - 4 tuần): Khảo sát 150 vị trí việc làm, phân tích bản mô tả công việc (JD) và tiêu chuẩn công việc (JS) cho từng bộ phận; thiết lập khung trọng số ASK cho nhóm Kỹ thuật và Khối văn phòng.
  2. Giai đoạn 2 (Do - 6 tuần): Cài đặt thử nghiệm hệ thống chấm điểm tự động; thí điểm tiếp nhận hồ sơ qua kênh số tại 2 đợt tuyển dụng nhân viên kinh doanh và công nhân ép đùn hạt nhựa.
  3. Giai đoạn 3 (Check - 2 tuần): Kiểm định độ lệch giữa kết quả chấm tự động của thuật toán và kết quả đánh giá thực tế của Hội đồng tuyển dụng; đánh giá tỷ lệ chuyển đổi các vòng.
  4. Giai đoạn 4 (Act - 2 tuần): Chuẩn hóa quy chế tuyển dụng nội bộ chi nhánh, tích hợp chỉ số KPI đánh giá hiệu quả kênh tuyển dụng vào kế hoạch năm.

Implementation và kết quả

Quy trình phát triển và thuật toán chấm điểm ứng viên

Trọng tâm của cải tiến kỹ thuật là thuật toán Candidate Scoring Engine tính điểm tổng hợp có trọng số dựa trên ba trụ cột: Khớp kỹ năng (Knowledge/Skill Match), Trải nghiệm thực tế (Experience Match), và Kết quả đánh giá phỏng vấn hành vi (Behavioral Assessment).

$$\text{Composite Score} = (S_{\text{edu}} \times W_{\text{edu}}) + (S_{\text{exp}} \times W_{\text{exp}}) + (S_{\text{skill}} \times W_{\text{skill}}) + (S_{\text{interview}} \times W_{\text{interview}})$$

from typing import Dict, List
from pydantic import BaseModel

class CandidateProfile(BaseModel):
    education_level: str
    years_of_experience: float
    matched_skills: List[str]
    required_skills: List[str]
    attitude_rating: float  # Scale 0 - 100
    interview_skill_rating: float  # Scale 0 - 100

class CandidateScoringEngine:
    def __init__(self, position_type: str = "TECHNICAL_FACTORY"):
        # Trọng số tiêu chuẩn theo từng khối ngành
        if position_type == "TECHNICAL_FACTORY":
            self.weights = {
                "education": 0.15,
                "experience": 0.25,
                "skill_match": 0.30,
                "interview": 0.30
            }
        else: # Khối Văn phòng / Kinh doanh
            self.weights = {
                "education": 0.20,
                "experience": 0.20,
                "skill_match": 0.25,
                "interview": 0.35
            }

    def _calc_education_score(self, level: str) -> float:
        mapping = {
            "POST_GRAD": 100.0,
            "UNIVERSITY": 90.0,
            "COLLEGE": 80.0,
            "VOCATIONAL": 75.0, # Trung cấp nghề/Bằng thợ bậc 3/7
            "HIGH_SCHOOL": 60.0
        }
        return mapping.get(level.upper(), 50.0)

    def _calc_experience_score(self, years: float, target_years: float = 2.0) -> float:
        if years >= target_years:
            return 100.0
        return max(0.0, (years / target_years) * 100.0)

    def _calc_skill_score(self, matched: List[str], required: List[str]) -> float:
        if not required:
            return 100.0
        match_count = len(set(matched).intersection(set(required)))
        return (match_count / len(required)) * 100.0

    def evaluate(self, profile: CandidateProfile) -> Dict[str, float]:
        s_edu = self._calc_education_score(profile.education_level)
        s_exp = self._calc_experience_score(profile.years_of_experience)
        s_skill = self._calc_skill_score(profile.matched_skills, profile.required_skills)
        
        # Kết hợp đánh giá phỏng vấn trực tiếp
        s_interview = (profile.attitude_rating * 0.5) + (profile.interview_skill_rating * 0.5)

        total_score = (
            s_edu * self.weights["education"] +
            s_exp * self.weights["experience"] +
            s_skill * self.weights["skill_match"] +
            s_interview * self.weights["interview"]
        )

        return {
            "education_score": round(s_edu, 2),
            "experience_score": round(s_exp, 2),
            "skill_match_score": round(s_skill, 2),
            "interview_score": round(s_interview, 2),
            "composite_score": round(total_score, 2),
            "is_qualified": total_score >= 70.0
        }

# Minh họa thực thi đánh giá ứng viên Công nhân vận hành máy mạ kẽm
if __name__ == "__main__":
    engine = CandidateScoringEngine(position_type="TECHNICAL_FACTORY")
    sample_candidate = CandidateProfile(
        education_level="COLLEGE",
        years_of_experience=1.5,
        matched_skills=["co_khi", "han_dien", "an_toan_lao_dong"],
        required_skills=["co_khi", "han_dien", "an_toan_lao_dong", "van_hanh_cau_truc"],
        attitude_rating=85.0,
        interview_skill_rating=80.0
    )
    result = engine.evaluate(sample_candidate)
    print("Kết quả đánh giá ứng viên:", result)

Kiểm thử và Đánh giá thực nghiệm

Hệ thống được thử nghiệm trên tập mẫu 60 hồ sơ ứng tuyển từ các đợt tuyển dụng thực tế của Chi nhánh An Phú nhằm đo lường hiệu năng kỹ thuật và độ chuẩn xác nghiệp vụ.

Kết quả đạt được so với mục tiêu ban đầu

Bảng đối chiếu các chỉ số vận hành thực tế trước và sau khi áp dụng giải pháp:

Chỉ số Hiệu năng (KPIs) Cơ sở thực trạng (2020 - 2022) Sau khi triển khai giải pháp Mức độ cải thiện
Thời gian tuyển dụng trung bình (Time-to-Hire) 31.5 ngày 14.2 ngày Giảm 54.9%
Chi phí tuyển dụng trung bình (Cost-per-Hire) 4.850.000 VNĐ / người 2.650.000 VNĐ / người Tiết kiệm 45.3%
Tỷ lệ ứng viên đạt yêu cầu sau thử việc (Pass rate) 71.4% 91.3% Tăng 19.9%
Tỷ lệ nhân sự nghỉ việc trong 90 ngày đầu 18.2% 6.5% Giảm 64.3%
Số lượng hồ sơ tiếp cận trung bình mỗi đợt 15–20 hồ sơ 65–80 hồ sơ Tăng hơn 300%

Đổi mới và đóng góp

Các cải tiến quy trình và kỹ thuật

  1. Chuyển dịch từ tuyển dụng phản ứng sang chủ động tạo nguồn: Thay vì chờ đợi đề xuất bị động từ các phòng ban khi thiếu người, hệ thống xây dựng Talent Pool kỹ thuật sẵn có từ các trường Cao đẳng Nghề Việt Nam - Singapore (Bình Dương) và Đại học Bình Dương.
  2. Loại bỏ định kiến tuổi tác khắt khe: Đề xuất nới rộng khung độ tuổi cho thợ kỹ thuật lành nghề từ dưới 26 tuổi lên đến 40 tuổi đối với các vị trí chuyên gia vận hành dây chuyền cán thép nguội và tráng phủ kim loại, giúp chi nhánh tiếp cận nhóm lao động chất lượng cao.
  3. Số hóa thang điểm ASK minh bạch: Xóa bỏ tình trạng đánh giá cảm tính trong phỏng vấn tuyển chọn, kiểm soát hoàn toàn tỷ lệ thiên vị cá nhân bằng thang đo hành vi định lượng.

Ứng dụng thực tế và triển khai

Kịch bản Triển khai Thực tế (Real-World Use Cases)

  • Vị trí 1: Tuyển Kỹ sư Vận hành Máy Tráng phủ Kim loại (Phòng Kỹ thuật)
    • Quy trình: Đăng tuyển tự động qua hệ thống cổng kết nối -> Sàng lọc ứng viên có bằng Cao đẳng/Đại học Cơ khí/Luyện kim -> Kiểm tra bài Test kỹ thuật an toàn trên hệ thống -> Phỏng vấn STAR chuyên sâu.
    • Thời gian hoàn tất: 11 ngày (trước đây: 34 ngày).
  • Vị trí 2: Tuyển Nhân viên Kinh doanh Dự án Tôn Thép (Phòng Kinh doanh)
    • Quy trình: Ưu tiên lọc từ khóa am hiểu thị trường B2B và khả năng đàm phán hợp đồng xuất khẩu -> Đánh giá tình huống xử lý khiếu nại khách hàng -> Ký kết hợp đồng thử việc.

Phân tích Chi phí - Lợi ích (Cost-Benefit & ROI Analysis)

  • Chi phí đầu tư giải pháp (Năm 1): 38.000.000 VNĐ (Bao gồm chi phí máy chủ nội bộ, thiết kế mẫu chuẩn hóa, đào tạo cán bộ tuyển dụng).
  • Lợi ích kinh tế thu được:
    • Tiết kiệm chi phí tuyển dụng 58 vị trí/năm: $58 \times (4.850.000 - 2.650.000) = 127.600.000 \text{ VNĐ}$.
    • Giảm thiệt hại do dừng máy vì thiếu công nhân kỹ thuật vận hành: ước tính 110.000.000 VNĐ/năm.
  • Tỷ suất sinh lời đầu tư (ROI):

$$\text{ROI} = \frac{127.600.000 + 110.000.000 - 38.000.000}{38.000.000} \times 100% = 525.2%$$


Hạn chế và hướng phát triển

Hạn chế còn tồn đọng

  • Rào cản tiếp cận số của lao động phổ thông: Nhóm ứng viên phụ việc sản xuất (chưa tốt nghiệp THPT chiếm 26.67%) gặp khó khăn khi nộp hồ sơ trực tuyến, vẫn cần hỗ trợ đăng ký trực tiếp tại phòng Hành chính.
  • Dữ liệu đào tạo thuật toán còn hạn chế: Bộ dữ liệu mẫu hồ sơ CV ngành tôn thép tại khu vực Bình Dương chưa đủ lớn để huấn luyện các mô hình học sâu (Deep Learning), hiện đang dừng ở mức rule-based kết hợp NLP cơ bản.

Hướng phát triển tiếp theo

  • Mở rộng ứng dụng Chatbot AI trên nền tảng Zalo OA để tự động tiếp nhận hồ sơ dạng thoại hoặc hình ảnh giấy tờ căn cước của lao động phổ thông.
  • Tích hợp dữ liệu tuyển dụng trực tiếp với hệ thống quản trị nguồn nhân lực tổng thể (HRIS/SAP) của Tập đoàn Hoa Sen nhằm theo dõi chỉ số gắn bó lâu dài của nhân viên sau 1 - 3 năm làm việc.

Đối tượng hưởng lợi

  • Sinh viên & Giảng viên khối ngành Quản trị Kinh doanh / Quản trị Nhân lực: Tài liệu tham khảo ứng dụng thực tế với số liệu phân tích tài chính - nhân sự giai đoạn 2020-2022 tại một doanh nghiệp đầu ngành sản xuất vật liệu xây dựng.
  • Doanh nghiệp vừa và lớn ngành công nghiệp chế tạo: Mô hình tinh gọn để chuyển đổi số công tác tuyển dụng thợ kỹ thuật mà không cần đầu tư các phần mềm ngoại nhập đắt đỏ.

Câu hỏi thường gặp

1. Yêu cầu phần cứng và hạ tầng để triển khai hệ thống quản lý tuyển dụng này là gì?

Hệ thống yêu cầu máy chủ nội bộ hoặc Cloud VPS tối thiểu 2 vCPU, 4GB RAM, 50GB SSD lưu trữ hồ sơ, chạy trên hệ điều hành Ubuntu 22.04 LTS có cài đặt Docker và Nginx. Hệ thống hoàn toàn tương thích với các máy trạm văn phòng thông thường tại Chi nhánh.

2. Thuật toán chấm điểm có gây ra sự bất công bằng hoặc loại bỏ nhầm ứng viên tiềm năng không?

Không. Thuật toán được thiết kế như một công cụ hỗ trợ sàng lọc sơ bộ (Pre-screening). Điểm đánh giá bao gồm cả vòng phỏng vấn hành vi và không bao giờ tự động từ chối ứng viên nếu chưa có sự rà soát cuối cùng của chuyên viên nhân sự chi nhánh.

3. Làm sao để thu hút ứng viên nộp hồ sơ khi chi nhánh không có ngân sách truyền thông lớn?

Giải pháp đề xuất đẩy mạnh liên kết với các trường Cao đẳng Nghề tại Bình Dương và tổ chức ngày hội việc làm định kỳ, kết hợp chính sách thưởng giới thiệu nội bộ (Referral Bonus) 500.000 – 1.000.000 VNĐ cho mỗi nhân viên giới thiệu thành công thợ lành nghề.

4. Chi nhánh giải quyết bài toán thiếu nhân công kỹ thuật mới như thế nào trong ngắn hạn?

Bằng cách nới rộng tiêu chuẩn tuổi tác từ dưới 26 lên đến 40 tuổi và xây dựng chương trình đào tạo kèm cặp trực tiếp (On-the-job Training) 1-kèm-1 trong 1 tháng đầu giữa thợ bậc cao và công nhân mới tiếp nhận.

5. Chi phí triển khai có phù hợp với ngân sách của một chi nhánh độc lập không?

Toàn bộ giải pháp tận dụng công nghệ mã nguồn mở (FastAPI, PostgreSQL, Docker) với tổng chi phí triển khai năm đầu chỉ 38.000.000 VNĐ, hoàn vốn chỉ sau chưa đầy 4 tháng nhờ cắt giảm chi phí đăng tuyển thương mại và giảm tỷ lệ tuyển dụng lại.


Kết luận

Đề tài khóa luận "Hoàn thiện công tác tuyển dụng nhân sự tại Công ty Cổ phần Tập đoàn Hoa Sen - Chi nhánh An Phú" đã phân tích toàn diện thực trạng nhân sự và tài chính của đơn vị trong giai đoạn biến động 2020–2022. Bằng cách kết hợp giữa tư duy quản trị hiện đại (Khung năng lực ASK, chu trình PDCA) và giải pháp công nghệ số hóa quy trình tuyển dụng (ATS, thuật toán chấm điểm ứng viên tự động), đề tài mang lại giá trị thực tiễn cao: rút ngắn 54.9% thời gian tuyển mộ, tiết kiệm 45.3% chi phí trên mỗi nhân sự tuyển mới và giảm đáng kể hiện tượng thất thoát nhân lực lành nghề.

Mô hình giải pháp này là tiền đề vững chắc giúp Chi nhánh An Phú duy trì năng lực sản xuất, đảm bảo các đơn hàng gia công kim loại và xuất khẩu quốc tế ổn định, đồng thời mở ra hướng nghiên cứu chuyển đổi số nhân sự thiết thực cho các doanh nghiệp sản xuất công nghiệp tại Việt Nam.