back arrow

Code nhanh và chậm

22 - 10 - 2022

Có nhiều điều để dự án bị chậm hơn kế hoạch mặc dù kế hoạch sinh ra có nhiều biến số chỉ là cảm tính. Tuy vậy với vai trò là một thành viên của team, bạn làm điều tốt nhất có thể để hài lòng sếp và hài lòng khách hàng. Dự án có thể trở nên nhanh hơn nếu như một vài chuyện sau không xảy ra:

1. Đột ngột thay đổi công nghệ

Tôi bắt đầu tự án bằng việc học Hasura và sau 2 tháng xây features nháp, CTO từ phía khách hàng có báo rằng mức giá Hasura đề nghị là quá cao và chúng ta sẽ xây bằng các cộng cụ thông thường (ở đây là MongoDB thay cho Hasura). Vì thế mà các api cũ cùng dữ liệu trở nên vô dụng nếu không migrate và bản thân migration lại là thêm 1 việc.

2. Thêm người vào một dự án chậm khiến dự án càng chậm AKA The Mythical Man-Month

Thực tế mà tôi trải qua không phải là thêm người mà thực ra là có những thành viên rời đi và những thành viên khác được thay vào vị trí trống. Những người đi có thể vì tác phong làm việc không đạt yêu cầu hay yêu cầu từ phía khách hàng mập mờ khiến họ không hài lòng với trải nghiệm làm việc. Những người mới đến mặc dù họ đều có năng lực khá thì việc phải cài đặt, giải thích cấu trúc code, làm quen với conventions… khiến họ chậm lại và không thể xây features như kỳ vọng.

3. Rào cản về giao tiếp

4. Sự cầu toàn

Ở một thái cực ngược lại, tôi có cho mình một đồng nghiệp cầu toàn. Anh bạn này sẽ nghĩ đến những trường hợp giới hạn (edge cases) mà người dùng thực hiện. Anh ấy sẽ đặt câu hỏi và lật đi lật lại vấn đề cho đến khi chúng tôi có 1 giải pháp hoàn thiện hoặc mọi mâu thuẫn được xử lý. Tôi thích điều này vì bản thân tôi đôi khi không nhận ra những giới hạn vê thiết kế sẽ là rào cản cho chúng tôi về lâu về dài. Từ góc nhìn của anh bạn mà tôi nhận ra rằng có những điều chỉnh là cần thiết. Đây cũng là sự đánh đổi tự nhiên về tốc độ nếu chúng tôi muốn sự an toàn và ổn định của hệ thống.

5. Cấu trúc nhóm

Nhóm của tôi có 1 cấu trúc phẳng. Ở đây không ai là lãnh đạo về công nghệ nên mọi quyết định về các thư viện hay các cài đặt đều mang tính dân chủ. Ý kiến được đưa ra và tranh luận. Khi mọi mâu thuân và khúc mắc được xử lý, chúng tôi sẽ bắt đầu dựng tính năng. Cái hay của cấu trúc này mà tôi thích nhận là không có sự gò bó mà một lãnh đạo tài năng áp đặt lên bạn. Trong suốt 4 tháng qua tôi gần như luôn chọn công việc mà tôi cảm thấy thú vị. Cái dở là có những lúc chúng tôi mất công tranh cãi, thảo luận những phương án mà không đưa ra quyết định trong khi 1 lãnh đạo tài năng sẽ nhanh chóng chỉ cho chúng tôi con đường.