C#

2 posts
challenge-icon

Beyond Tasks: How I "build impact" in Fintech

user-avatar
Đoàn Trung Quý
28/04/2026

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

1. Phía sau những Ticket là cuộc sống thựcTrong 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ớnTô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 tinTô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.
challenge-post-cover
#1
6
136
Community's Choice
Winning badge
challenge-icon

My Funemployment Story

user-avatar
Trịnh Hoàng Tú
11/12/2025

Sinh viên năm cuối & Nỗi sợ mang tên "Ra trường thất nghiệp": Biến hoang mang thành "Funemployment"

Là một sinh viên IT sắp ra trường, từ "Thất nghiệp" ám ảnh mình còn hơn cả Deadline đồ án hay bug lúc demo. Nhìn bạn bè đứa nào cũng khoe offer Fresher, Intern lương cao trên Facebook hay LinkedIn, còn mình thì inbox nhà tuyển dụng chỉ nhận được... sự im lặng. Đó là lúc mình nếm trải cảm giác "Unemployment" sớm.Nhưng rồi mình nhận ra, cứ ngồi lo lắng (anxious) thì code cũng không tự chạy được. Mình quyết định biến khoảng thời gian "chưa ai nhận" này thành Funemployment.1. Funemployment với sinh viên là gì? Là thay vì F5 email chờ lịch phỏng vấn trong vô vọng, mình F5 lại kiến thức nền tảng. Là chấp nhận mình đang "chậm" hơn bạn bè một nhịp, nhưng là chậm để chắc. Mình không thất nghiệp, mình đang "loading" dữ liệu để chuẩn bị cho một version xịn hơn.2. Mình đã làm gì để không bị Peer Pressure đè bẹp? Thay vì spam CV đại trà, mình làm 3 việc:Build lại Portfolio: Dành trọn 1 tuần để làm sạch Github, viết README chỉn chu cho mấy cái bài tập lớn (thứ mà trước giờ mình vứt xó).Học cái mình hổng: Trên trường dạy lý thuyết, mình dành thời gian rảnh này để cày thực chiến (Docker, CI/CD cơ bản...) - những thứ JD nào cũng đòi mà trường ít dạy.Sống lành mạnh: Ngủ đủ giấc, không thức đêm cày game để trốn tránh thực tại nữa.3. Lời nhắn cho các bạn đồng trang lứa: Nếu bạn cũng đang chưa tìm được chỗ thực tập, hay cảm thấy mình kém cỏi so với "con nhà người ta", thì hãy bình tĩnh. Khoảng thời gian này là món quà đấy. Vì sau này đi làm rồi, bạn sẽ không bao giờ có lại được sự tự do để học bất cứ thứ gì mình thích mà không bị dí deadline của sếp đâu.Đừng sợ thất nghiệp, hãy sợ việc mình ngừng học hỏi!
challenge-post-cover
#7
11
675

You've reached the end.