Công nhân mới trong công ti
Điều gì xảy ra khi sinh viên mới tốt nghiệp gia nhập công ty phần mềm? Họ có được những người phát triển phần mềm có kinh nghiệm đón chào không? Họh phải mất bao lâu để làm việc như một tổ? Phải mất bao lâu để người mới được tuyển học điều họ cần để có năng suất? Đó là những câu hỏi tôi muốn biết cho nên tôi đã dành vài tháng tới thăm các công ty phần mềm ở Mĩ và châu Âu và phỏng vấn người ở đó. Điều tôi tìm thấy thật thú vị nên tôi muốn chia sẻ với các bạn để cho các bạn có thể có khả năng tránh những sai lầm người khác đã phạm phải. Tôi cũng tin rằng vấn đề này sẽ được nghiên cứu thêm nữa để làm giảm thất vọng từ cảnh quan của nhân viên mới và cũng từ người quản lí dự án đi thuê người mới cho dự án.
Nhiều người bảo tôi rằng là nhân viên mới thường được phân công cho "nhiệm vụ làm quen,” tại đó họ được trao cho các tài liệu để đọc và cập nhật. Bởi vì họ không biết mấy về các dự án, họ bị lẫn lộn và một số người đã phạm sai lầm cần phải được sửa chữa về sau bởi những người có kinh nghiệm hơn. Sau vài tuần đọc tài liệu, họ được trao cho mã để kiểm điểm và thực hiện thay đổi nhỏ để cho họ có thể học được từ những việc "làm việc về mã" đó. Sau vài tháng sửa mã họ được trao cho các chương trình nhỏ để viết khi họ đã cải tiến tri thức của mình, nhưng cũng vẫn phải mất thời gian dài để hiểu làm sao công ty vận hành và phần mềm tất cả là để làm gì.
Khi người mới tham gia vào công ti, tất cả họ đều có những kĩ năng khác nhau tuỳ theo điều họ đã học ở trường và trường mà họ xuất thân ra. Một số người thích viết mã trước rồi hỏi câu hỏi sau. Một số muốn thảo luận chi tiết trước khi làm bất kì cái gì. Bởi vì hầu hết người quản lí đều rất bận rộn, họ không chú ý đủ tới công nhân mới. Nhiều người không biết phải làm gì bên cạnh việc được phân công cho họ cho nên một số dùng máy tính của công ty để tìm kiếm trên web về “các website thú vị”. Một số thậm chí còn chơi trò chơi video bởi vì có kết nối internet tốt, khi họ bị bắt họ bị kỉ luật và thậm chí bị đuổi. Bởi vì các kĩ năng khác nhau, những người mới được thuê nhìn các vấn đề theo những cách khác nhau và có những ý tưởng khác nhau về cách chúng nên được giải quyết. Bao giờ cũng là khó trong vài tháng đầu đối với mọi người mới được tuyển bởi vì nhiều ý tưởng mới đã được thực hiện theo cách thiếu kinh nghiệm và vụng về.
Những người mới không biết cách làm việc trong tổ cho nên họ thích tranh cãi với người khác để "khoe khoang" kĩ năng của họ. Một số thảo luận là tầm thường nhưng số khác lại nghiêm chỉnh hơn. Ý kiến khác có thể dễ dàng chấm dứt trong "Ai biết nhiều hơn" hay "Công cụ nào tốt hơn.” Một số người có xu hướng "theo sự kiện" nghĩa là họ KHÔNG đồng ý với bất kì cái gì chừng nào họ chưa có đủ dữ liệu. Họ thích biết đích xác thông tin nào có đó trước khi họ đồng ý với bất kì giải pháp nào. Nhiều người thuộc kiểu "Nhanh và sống" và muốn làm mọi thứ bây giờ rồi sửa chúng về sau, họ có nhiều năng lượng và muốn chứng minh cho người quản lí rằng họ là “người giỏi nhất” và biết cách làm mọi thứ "theo cách đúng.”
Vấn đề thông thường nhất trong nhiều công ty là thiếu đào tạo người mới và làm cho họ cảm thấy được đón chào. Phần lớn công ty phần mềm đều nhỏ và bận rộn cho nên họ không muốn đầu tư vào đào tạo người mới hay hướng dẫn tương ứng. Nhiều người quản lí bận rộn thế và họ muốn những người mới được thuê làm việc ngay khi những người này có thể làm thay vì dành thời gian để đào tạo những người này trở thành "nhà chuyên môn" hay thảo luận về cuộc sống bên ngoài công việc. Nhiều công ty có các cuộc họp hàng tuần nơi mọi người nói về các vấn đề nhưng lại tập trung vào các vấn đề kĩ thuật, các thứ họ không thể giải quyết được, hay các quyết định chính mà người quản lí phải ra thay vì cách đưa người lập trình mới được tuyển vào dự án.
Khi tôi phỏng vấn người quản lí phần mềm, nhiều người phàn nàn rằng người mới được tuyển không có kĩ năng mà công nghiệp cần. Ví dụ được trích dẫn nhiều nhất là hiểu quản lí cấu hình vì nhiều người mới được tuyển KHÔNG biết về kiểm soát phiên bản cho nên họ thay đổi mã tuỳ ý thích mà không có qui trình kiểm soát chính thức nào. Sai lầm thứ hai những người mới thường phạm phải là KHÔNG tuân theo qui trình chuẩn. Một người quản lí hỏi tôi: “Trường có dạy về "qui trình phần mềm" hiện nay không? Sinh viên có hiểu rằng họ phải tuân theo các chuẩn của công ty không?” Đây là vấn đề nhạy cảm, đặc biệt đối với các sinh viên khoa học máy tính và sinh viên được đào tạo trong các trường hướng nghiệp, không có giáo dục chính thức về kĩ nghệ phần mềm. Mọi công ty bao giờ cũng có mức độ chính thức nào đó về công việc của họ hay “Qui trình chuẩn.” Một số qui trình được làm tài liệu tốt nhưng số khác có thể không được làm tài liệu chút nào nhưng những người ở đó biết bởi vì đó là cách tổ vận hành. Chẳng hạn, kiểm thử có thể rất chính thức và phải được thiết kế sớm hay có thể viết kiểm thử sau khi viết mã như một cách giải quyết sau. Tuỳ theo loại dự án và độ phức tạp của công ti, điều đó có thể yêu cầu những người mới được tuyển phải làm quen với qui trình nào mà dự án dùng. Điều rất quan trọng cho người mới được tuyển là đi tới đồng ý với tổ của mình về cái gì là qui trình chính thức chấp nhận được tối thiểu bởi vì từng người mới làm thay đổi năng suất của tổ. Người mới được tuyển phải học để có năng suất nhiều nhất có thể được vì cả tổ sẽ bị ảnh hưởng bởi việc có người mới nữa. Một phần của vấn đề này là những người khác nhau có ý tưởng khác nhau về “năng suất” nghĩa là gì. Vấn đề là tổ thường làm những điều này theo cách đặc thù và thuận tiện cho họ. Sẽ khó cho người mới được tuyển học nhanh chóng vì đôi khi những điều họ đã học trong trường sẽ không có tác dụng trong công nghiệp.
Vấn đề chính với người mới được tuyển là phải kiên nhẫn và học tập. Một khi họ tự tin thì họ có thể được chấp nhận như một phần của tổ. Công việc tổ thường có vấn đề chính với người mới được tuyển vì họ KHÔNG được dạy cách làm việc trong tổ. Họ KHÔNG biết cách hỏi sự giúp đỡ vì họ sợ bằng việc hỏi quá nhiều câu hỏi, họ có thể bị đánh giá là "Không đủ năng lực.” Phải mất thời gian để học cách toàn thể công ty vận hành và cảm thấy cách các cấu phần khớp với nhau. Trong khi điều quan trọng là bắt đầu trong một dự án nhưng điều dễ cho người mới được tuyển là bắt vào mảnh nhỏ và không bao giờ thấy mảnh của họ làm gì cho toàn thể công ty. Những người có kinh nghiệm có thể giúp đỡ bằng cách giải thích nghiệp vụ của công ty cho người mới được tuyển sau một hay hai tháng ổn định công việc, để cho qui trình nghiệp vụ không bị mất hút trong quá tải thông tin của tháng đầu tiên. Người mới được tuyển cần biết rằng trong khi họ bắt đầu từ việc nhỏ, để thực sự có ích họ ít nhất cũng phải biết cách bộ phận dự án của họ khớp với "bức tranh lớn" và phải học nhiều hơn và việc hỏi được cần tới để tìm ra về điều đó.
Những phàn nàn khác mà nhiều người quản lí nói với tôi là nhiều người mới được tuyển viết "quá nhiều” mã mà không kiểm xem thư viện “dùng lại” có không. Trong phần lớn các công ti, có chỗ cất giữ "tài liệu dùng lại” nhưng người mới được tuyển hiếm khi nhìn vào trong nó. Người mới được tuyển về căn bản sẽ cố "viết lại mã" cho toàn thể hệ thống trong vài tuần đầu của họ theo việc làm. Họ được đào tạo viết mã nhưng không nhiều về các khía cạnh khác của phát triển phần mềm, họ đã KHÔNG để thời gian học cách bố trí mã, lí do cho điều đó, và ai đang dùng nó. Họ nhảy vào trong "viết mã" theo cách lớn lao và phạm nhiều sai lầm.
Tôi tin tưởng mạnh mẽ đào tạo và kèm cặp là cách tốt nhất để đem người mới được tuyển vào trong công ty. Nếu bạn chấp nhận ai đó mới trong tổ của mình, hãy chắc dành thời gian nói với họ về cách mọi sự được thực hiện và hỗ trợ họ để cho họ cảm thấy được đón chào vào dự án. Đây là đầu tư tốt nhất mà tổ có thể làm để cải tiến năng suất và xây dựng công việc tổ.
Tác phẩm, tác giả, nguồn
- Tác phẩm: Lời khuyên cho sinh viên
- Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
- Wiki hóa: https://kipkis.com