Đối với một lập trình viên, code đỉnh không phải là tất cả. Vì bất cứ sản phẩm và project nào cũng cần một team để hoàn thiện nó. Và khi hoạt động team, sự thay đổi về thành viên là điều khó tránh khỏi. Với một Dev, khó khăn khi mới vào team của một project nào đó, thường xoay quanh 3 từ “thành viên mới”.
Gần đây tôi nghe được một trường hợp về một team cần tuyển thêm staff vì họ quá thiếu người.
Phản ứng của một trong số đó là:
Tôi không muốn dùng code của tụi nó
Tôi hiểu loại tâm lý này. Code của người khác bao giờ cũng xấu cũng tệ. Đối với hầu hết các lập trình viên thì đây là sự thật hiển nhiên.
Nhưng một sự thật hiển nhiên khác đó là rất ít phần mềm “xịn” được ra lò dưới tay một code thủ đơn độc được.
Build phần mềm là một hành trình đòi hỏi nhiều nỗ lực và cực kì tốn thời gian. Vào một thời điểm nào đó, chuyện tuyển thêm dev để đẩy nhanh tiến trình là không thể tránh khỏi. Đó là chưa nói chuyện thêm thành viên mới vất vả đến thế nào.
Thật ra rất nhiều khó khăn trong việc tuyển thêm dev hoàn toàn có thể kiểm soát được. Nỗi lo lắng về sử dụng code của ai đó chỉ dấy lên khi tuyển trúng người bị sai skill set. Chưa kể công việc tuyển dụng là một quá trình khá đơn giản, nhưng nếu bỏ công sức thêm vào nó thì có thể mang lại hiệu quả không ngờ.
Khó khăn lớn nhất về người mới thật ra là chuyện bắt kịp tiến độ. Mọi hệ thống phần mềm đều có các pattern và naming convention khác nhau. Tất cả phải được giải thích đầy đủ chi tiết cho người mới. Kể cả khi đã được train, còn cả tỷ thứ cần phải train trước khi dev mới sẵn sàng.
Chuyện này có thể giải quyết được nếu có một cấu trúc phần mềm tốt. Nó làm cho mọi thứ rõ ràng và minh bạch hơn. Nếu lỡ như dev mới có rắc rối trong quá trình làm, chỉ cần nhìn vào code là có thể giải quyết được.
Đáng tiếc là, cái “tốt” ở đây là vô cùng chủ quan. Các dev làm chung team với tôi có người rất đồng tình với quyết định của tôi, người thì lại cực kì ghét nó. Cái hợp lí phụ thuộc vào cảm nhận mỗi người và mỗi người cảm nhận rất khác nhau.
Một trong những vấn đề với dev mới
Là cái tôi của các dev cũ. Người mới tức là có những ý tưởng mới. Chúng làm ta cân nhắc lại các quyết định cũ. Lúc này việc ngại tiếp nhận code của người khác không phụ thuộc vào việc nó tệ nữa, mà là do nó khác với code mà chúng ta dự định viết.
Trong nhiều trường hợp, các ý tưởng mới là điều tốt. Những quan điểm mới giúp hoàn thiện những suy nghĩ của chúng ta mà giúp kết nối mọi người trong team vững mạnh hơn nhiều, cả người mới và cũ.
Và điều này chỉ xảy ra khi cái tôi của các thành viên cũ chấp nhận nó…
Xem thêm việc làm Software Developers hấp dẫn trên TopDev
TopDev