Trong quá trình mình đi làm, mình đã gặp rất nhiều trường hợp các anh chị đồng nghiệp ra vào team, và mỗi người đều có những lý do khác nhau. Song, với mindset của Agile mà nói, chúng ta sẽ luôn phải thay đổi để thích nghi với thực trạng hiện tại của nhóm phát triển.
Trong quá trình đi học, mình có được tham gia môn học quản lý dự án, và cũng nhận thức được tầm ảnh hưởng của việc thay đổi nhân sự. Tuy nhiên, đến thời gian gần đây mình mới cảm nhận được tác động thực sự của nó.
Sau đây mình xin chia sẻ một số khó khăn bản thân mình đã và đang gặp phải, và mong có thể giúp ích cho các bạn sinh viên mới đi làm.
Khối lượng công việc mới
Khối lượng công việc đè nặng lên các thành viên có kinh nghiệm, mình tạm gọi là Seniors. Đây có lẽ là ảnh hưởng rõ ràng nhất nếu bạn có thành viên trong team nghỉ, mà lớn hơn là Development Lead nghỉ.
Những gì mình phải chuẩn bị cho tâm lý:
- Ít nhất 1 tháng sau khi việc thay đổi nhân sự được thực hiện, mình phải ít nhiều làm thêm các phần việc của người đã đi, để đảm bảo đúng tiến độ. Với các anh chị mình làm việc chung thì hầu hết đều cố gắng hoàn thành công việc trước khi rời đi, hoặc ít nhất 80% để người sau vào có thể hoàn thành nhanh nhất có thể.
- Số lượng công việc không đổi, thời gian không đổi, người giảm: đây có lẽ là vấn đề thường gặp của các công ty outsource nhiều hơn. Mặc dù Agile đề cao tính flexibility, nhưng khi bị ràng buộc bởi các deadline, tính flexibility đó sẽ được đặt nặng lên development team. Nếu chúng ta underestimate một story và cần thêm một story khác để hoàn thành các phần việc còn thiếu, thì thường sẽ có 2 trường hợp: làm thêm giờ hoặc đẩy sang sprint kế tiếp. Nếu chúng ta có một "hard deadline" thì về mặt business mà nói phương án 1 sẽ luôn được lựa chọn. Điều tương tự cũng sẽ diễn ra nếu có một người nghỉ, và bỗng dưng thừa ra một story. Đây có lẽ là một trong những điều mình không thích nhất ở "Agile", mình đã nghe kể về Agile của một số anh chị làm ở các công ty khác và có vẻ nó khác khá nhiều so với những gì mình trải nghiệm.
- Khi leader nghỉ: tham gia vào quá trình đưa quyết định nhiều hơn. Mặc dù mình luôn cố gắng trả lời các câu hỏi được đặt ra trong quá trình Grooming/Refinement, và đóng góp các hướng giải quyết nhưng sau cùng mọi người phải thống nhất và leader chốt lại hướng giải quyết tốt nhất. Do đó, khi vị trí leader bấp bênh, mình đã cần phải tìm hiểu chắc chắn hơn về những câu trả lời của mình cả về business và technical.
- Khi leader nghỉ: không còn người định hướng phát triển cá nhân. Đương nhiên mỗi người đều có những sở thích của mình, tuy nhiên với cá nhân mình, mình thích nghe những người đi trước nói về trải nghiệm của bản thân và trong công việc mình muốn nghe về việc tại sao họ lại chọn cái này thay vì cái kia, đâu là hướng tiếp cận tốt cho một vấn đề, và tại sao dùng code này vì code kia, performance bị ảnh hưởng ra sao. Đó là những thứ mình không thể tự nói với bản thân mình được, ít nhất đối với một người "Associate Senior" như mình. Nhưng có lẽ đây cũng là tín hiệu để cho mình phải tự trau dồi nhiều hơn nữa.
Sự bấp bênh của thành viên mới
Trong một khoảng gian một vài tháng đầu, thành viên mới sẽ cần học các quy trình, các stardards, kiến thức về application hiện tại về business. Đối với các ứng dụng đã lớn và có kiến trúc phức tạp điều này có thể tốn nhiều tháng trời. Do đó, những người làm lâu năm sẽ tiếp tục chịu cảnh gồng gánh thêm một quãng thời gian nữa trước khi thực sự trở lại bình thường.
Có lẽ đây chính là lý do các công ty thường sẽ muốn giữ những người cũ, và về mặt kinh doanh mà nói việc tuyển một người mới vào dự án thường tốn kém hơn nhiều so với việc giữ chân các nhân sự.
Tiếp tục nói về việc thay đổi của người mới, mình từng thấy những người người development lead mặc dù rất tích cực nhưng lại không biết đã ngưng code tương đối lâu khiến cho, một lần nữa, công việc sẽ nặng gánh hơn cho các "seniors" khác. Và cũng sẽ rất nhiều người leader tham gia vào team với nguyện vọng là lên làm các vị trí quản lý cao hơn, và rồi một lần nữa vấn đề thay đổi nhân sự lại lặp lại.
Những góc nhìn mới
Một trong những điều tích cực nhất mình luôn ngóng chờ khi có người mới tham gia vào team đó chính là sự mới mẻ về mindset và cách làm việc. Đặc biệt với các thành viên đã làm việc lâu năm (như mình) đã bắt đầu bão hoà về kiến thức bên trong dự án và mong muốn tìm hiểu thêm những mảng khác trong lập trình. Nếu không có lựa chọn thay đổi dự án hay nghỉ việc, thì có người mới cũng giúp mình rất nhiều.
Mình đặc biệt thích việc này khi review hoặc được review code cho/bởi thành viên mới. Mình từng được một anh nói về những điều rất nhỏ về cost trong một ORM statement
như User.objects.count()
hay while do
giữa C và Python đã giúp mình mở mang rất nhiều chỉ thông qua những process thông thường của một development team.
Do đó, mình rất thích có việc có những thành viên mới tích cực tham gia vào quá trình phát triển phần mềm, dù có thể không được thêm về phần kỹ thuật, thì cũng hoàn toàn giúp mình học được thêm về những kỹ năng mềm.
Lời kết
Đi làm quả là muôn hình vạn trạng các trường hợp có thể xảy ra chỉ trong nội bộ của team. Mình luôn cố gắng nhìn về mặt tích cực của công việc để tiếp tục phát triển bản thân. Nhưng thú thật thì đôi khi mình cũng hơi sợ những sự thay đổi nội bộ này, khi các dự án dính đến với các deadlines và không thể thay đổi.
Còn bạn thì sao? Bạn đã bao giờ gặp những trường hợp oái ăm như vậy trong công việc chưa? 🤣