0

Tư duy (Mindset) khi làm Leader Bài 8: Xây dựng Văn hóa Kỹ thuật (Engineering Culture) - Di sản của người Thủ lĩnh

Khi bạn rời đi hoặc thăng chức, thứ gì sẽ ở lại? Code của bạn rồi cũng sẽ bị thay thế (deprecated), các tính năng bạn làm rồi cũng sẽ lỗi thời . Thứ duy nhất trường tồn chính là Văn hóa Kỹ thuật (Engineering Culture) mà bạn đã cấy ghép vào đội ngũ . Đó là cách mà team tự động vận hành, tự động viết code sạch, và tự động giải quyết vấn đề ngay cả khi không có bạn ở đó .

Dưới đây là 3 trụ cột để xây dựng một Engineering Culture đúng nghĩa :


1. Văn hóa Chia sẻ tri thức (Knowledge Sharing) - Phá vỡ "Ốc đảo thông tin"

Một team yếu là team mà mỗi người ôm một mảng, kiến thức nằm chết trong đầu từng cá nhân . Một team mạnh là team có tính kế thừa cao .

  • Thúc đẩy viết lách (Documentation/Blogging): Hãy biến việc viết tài liệu kỹ thuật thành một chuẩn mực . Khuyến khích anh em trong team viết lại những bài học xương máu sau khi tối ưu một luồng Change Data Capture, hoặc cách xử lý row-level locking trong cơ sở dữ liệu . Không chỉ lưu nội bộ, hãy khuyến khích họ publish thành các bài tech blog cộng đồng . Việc hệ thống hóa luồng suy nghĩ ra văn bản chính là cách tốt nhất để rèn tư duy rành mạch .
  • Tech Talk nội bộ: Tổ chức các buổi seminar ngắn (30-45 phút) mỗi thứ Sáu . Đổi phiên cho từng thành viên (cả Junior) lên thuyết trình về một công nghệ mới hoặc một case study họ vừa giải quyết .

2. Định hình Tiêu chuẩn (Standardization) & Nỗi ám ảnh về Hiệu năng

Văn hóa không phải là những khẩu hiệu sáo rỗng, nó được thể hiện qua các rule (quy tắc) được ép vào hệ thống .

  • Thống nhất kiến trúc: Đừng để tình trạng mạnh ai nấy code . Hãy thiết lập một chuẩn chung (ví dụ: thống nhất sử dụng Clean Architecture, tách bạch rõ ràng các layer) để bất kỳ ai mở source code ra cũng có thể đọc hiểu và maintain được ngay lập tức .
  • Dữ liệu hóa sức bền hệ thống: Một team có văn hóa kỹ thuật tốt không bao giờ nói "Em nghĩ code này chạy nhanh" . Mọi thứ phải được chứng minh bằng số liệu . Thiết lập tiêu chuẩn gắt gao trước khi lên môi trường Production: mọi module quan trọng đều phải trải qua các đợt bắn tải, stress-test cẩn thận, giám sát sát sao các ngưỡng chịu đựng của CPU, RAM và thời gian phản hồi qua các dashboard metric .

3. Tư duy Dữ liệu (Data-Driven) khi xử lý sự cố

Trong các hệ thống yêu cầu tính chính xác tuyệt đối và xử lý đồng thời cao (như hệ thống giao dịch vé máy bay, vé tàu, hoặc cổng thanh toán), việc sai lệch dữ liệu là điều tối kỵ .

  • Văn hóa Log và Monitor: Khi xảy ra sự cố rớt log hay lệch data giữa các máy chủ, văn hóa của team không phải là ngồi đoán mò hay cãi nhau . Leader phải tập cho team phản xạ đầu tiên là: "Mở dashboard lên, tra cứu log, tìm vết (trace) của request đó đang bị kẹt ở microservice nào hoặc message broker nào" .
  • Hành động dựa trên bằng chứng: Mọi báo cáo kỹ thuật (Defect Report) gửi cho đối tác hay nội bộ đều phải đính kèm truy vết dữ liệu rõ ràng, biến những lời phàn nàn chung chung thành các bằng chứng kỹ thuật không thể chối cãi .

📝 Bài tập thực hành cho Bài 8 (Trong tuần này)

  1. Chuẩn hóa 1 quy tắc (Rule): Nhìn lại kho lưu trữ mã nguồn (Repository) của team . Hãy tìm ra 1 điểm chưa đồng nhất (ví dụ: cách đặt tên biến, cách handle error/exception trả về cho Frontend, hoặc luồng commit code) . Viết một file chuẩn hóa ngắn gọn và đề xuất áp dụng tự động hóa (ví dụ: cài đặt linter) để team tuân thủ từ nay về sau .
  2. Khởi tạo "Thư viện nội bộ": Khởi tạo một không gian chung (có thể là Notion, Confluence, hoặc file Markdown trong thư mục gốc của dự án) . Đặt tên là Tech-Radar hoặc Lesson-Learned . Hãy là người mở bát viết bài đầu tiên, tóm tắt lại một kỹ thuật khó hoặc một lỗi hệ thống bạn vừa khắc phục gần đây nhất để làm gương cho anh em .

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí