Cover image
Đoàn Trung Quý
Đoàn Trung Quý
.Net Developer

Beyond "Fixed": Khi 0.0001 Decimal Là Cả Một Sự Thấu Cảm Trong Hệ Thống HRMS

28/04/2026
135 views

6

Community's Choice
Winning badge
1. Phía sau những Ticket là cuộc sống thực
Trong một hệ thống quản trị nguồn nhân lực (HRMS) quy mô lớn, công việc của một Software Developer đôi khi bị đóng khung trong những Ticket khô khan trên Jira hay Trello. Tôi cũng từng có lúc xem việc "Cấu hình tham số" hay "Sửa lỗi sắp xếp" chỉ là những bài toán logic cần giải quyết để kịp Deadline. Tuy nhiên, hành trình thực chiến tại dự án này đã giúp tôi nhận ra một góc nhìn sâu sắc hơn: Phía sau mỗi module nhỏ trong HRMS là quyền lợi sát sườn của hàng ngàn người lao động.
2. Thử thách: Khi một Feature nhỏ mang trọng trách lớn
Tôi nhận nhiệm vụ tối ưu hóa tính năng Salary Parameter Settings – một mắt xích khiêm tốn nhưng lại là "trạm điều chuyển" cho toàn bộ công thức tính toán thù lao của module Payroll.
  • Bài toán kỹ thuật: Hệ thống yêu cầu độ chính xác cực cao (16,4 cho tham số lương và 12,6 cho tỷ giá). Logic cũ thường tự động ép giá trị về 0 khi có sai sót nhập liệu để đảm bảo an toàn hệ thống.
  • Tư duy "Beyond Tasks": Thay vì chọn cách xử lý nhanh chóng, tôi tự đặt câu hỏi: "Nếu chỉ dừng lại ở việc hoàn thành ticket, liệu tôi đã thực sự mang lại giá trị tối ưu cho người dùng?". Việc xóa sạch dữ liệu lỗi của bộ phận HR sẽ khiến họ mất dấu vết và hoang mang. Trong lĩnh vực Fintech nội bộ, tôi tin rằng sự minh bạch và bền vững quan trọng hơn sự tiện lợi nhất thời.
3. Giải pháp: Nỗ lực vì sự bền vững của hệ thống
Để bảo vệ tính toàn vẹn của dữ liệu tài chính, tôi đã tập trung vào hai giải pháp cốt lõi:
  • Bảo toàn dữ liệu gốc (Data Integrity): Tôi sử dụng Dynamic và Anonymous Objects để giữ nguyên những gì người dùng nhập vào, kể cả khi đó là lỗi. Điều này giúp bộ phận kế toán dễ dàng nhận diện sai sót để điều chỉnh thay vì phải đoán mò lý do tại sao dòng tiền bị biến mất trên hệ thống.
  • Tối ưu hóa nền tảng (Backend Optimization): Tôi đã tái cấu trúc cách lọc dữ liệu thông qua hàm dùng chung GetPredicate và áp dụng logic Numeric Sort (Cseq). Trong một hệ thống quản lý hàng ngàn nhân viên, việc mã số 10 đứng sau số 2 (thay vì số 1) là một cải tiến nhỏ về code nhưng là một bước tiến lớn về trải nghiệm đối soát tài chính thực tế.
4. Tác động (Impact): Khi Code góp phần xây dựng niềm tin
Tôi tin rằng những nỗ lực tối ưu hóa dù là nhỏ nhất cũng góp phần mang lại giá trị thực tế cho hệ thống HRMS:
  • Độ chính xác tài chính: Đảm bảo sai số gần như bằng không khi nhân khối lượng lớn dữ liệu công và phụ cấp cho toàn bộ nhân sự tại tập đoàn.
  • Tính linh hoạt & Chủ động: Bộ phận HR giờ đây có thể tự điều khiển các tham số tài chính biến động (như đơn giá hay tỷ giá hàng tháng) một cách ổn định mà không cần sự can thiệp kỹ thuật thường xuyên.
  • Minh bạch hóa dòng tiền: Mọi thay đổi đều được lưu vết chi tiết qua Update_By và Update_Time, tạo ra một môi trường làm việc tin cậy, nơi mọi con số đều có "gốc gác" rõ ràng.
5. Kết luận: Không ngừng chăm chút cho những giá trị nhỏ
Từng may mắn được ghi nhận tại thử thách AI for Good, tôi hiểu rằng công nghệ chỉ thực sự có giá trị khi nó phục vụ con người một cách tận tâm. Dự án HRMS này một lần nữa củng cố niềm tin trong tôi: Một Software Developer không chỉ là người viết ra những hệ thống phức tạp, mà là người biết trân trọng và chăm chút cho từng tính năng nhỏ nhất. Đừng chỉ dừng lại ở việc "xong task", hãy làm việc với tâm thế của một người làm chủ sản phẩm, bởi mỗi dòng code của chúng ta đều đang mang trên mình một phần trách nhiệm với cộng đồng.
6