Là người quản lí công ti phần mềm, câu hỏi của tôi là: “Tôi cần đầu tư vào kĩ năng nào cho họ?” “Làm sao tôi biết rằng họ đang cải tiến?” “Làm sao tôi đo được cải tiến của họ?”
Đáp: Phần mềm không chỉ là công nghệ mà còn là việc trao đổi. Nếu bạn không biết đầu tư cái gì vào nhân viên riêng của bạn thì câu hỏi thứ nhất của tôi là: “Kĩ năng mềm của họ tốt thế nào, chẳng hạn như kĩ năng trao đổi?” Bạn cần nhìn vào các khu vực như kĩ nghệ yêu cầu, quản lí dự án, và quan hệ khách hàng để xem liệu kĩ năng nghe, kĩ năng thương lượng, và kĩ năng trình bày của nhân viên của bạn có đủ tốt không.
Bạn có thể hỏi họ kĩ năng nào họ cần để bạn có thể cung cấp đào tạo cho họ. Ngày nay, phần lớn các công ti phần mềm đều có khách hàng nước ngoài cho nên kĩ năng quan trọng khác họ có thể cần là kĩ năng ngoại ngữ. Người phát triển ít nhất phải trao đổi tốt trong tiếng nước ngoài như tiếng Anh.
Câu hỏi thứ hai của tôi là: “Nhân viên của bạn có tri thức chuyên gia miền ứng dụng không? Vì bạn ở trong doanh nghiệp phát triển phần mềm, nhân viên của bạn có hiểu cách khách hàng dùng sản phẩm của bạn không? Nhân viên của bạn có biết và hiểu qui trình doanh nghiệp của khách hàng của bạn không? Họ có hiểu cái gì là quan trọng cho khách hàng và tại sao không? Đây có thể là lúc để đầu tư vào giải thích cách sản phẩm của bạn được dùng trên thị trường. Điều quan trọng là nhân viên của bạn học về xây dựng tri thức chuyên gia miền cho họ nữa.
Câu hỏi thứ ba của tôi là: “Bạn có cân nhắc thích ứng công nghệ mới không? Nếu có, nhân viên của bạn có kĩ năng thích hợp trong phát triển, thiết kế, thực hiện và kiểm thử trong công nghệ đó không? Nếu bạn đang lập kế hoạch thích ứng công nghệ mới, đây là lúc đầu tư vào đào tạo để giúp họ học và dùng công nghệ mới. Nếu bạn không có công nghệ mới nào, bạn có thể đầu tư thêm vào cải tiến qui trình như cung cấp đào tạo về cách phát triển phần mềm hiệu năng cao, độ tin cậy cao, tính sẵn có cao, chất lượng cao. Đào tạo tốt nhất sẽ là về cách tiến hành kiểm điểm để nhận diện và loại bỏ lỗi và cải tiến chất lượng phần mềm.
Giống như bất kì đầu tư nào, bạn có thể đo năng suất, chất lượng, lịch biểu, thành công dự án, và sự thoả mãn của khách hàng trước và sau đào tạo để nhận diện đầu tư của bạn có hiệu quả ra sao. Có cách đo và độ đo tốt là cách tốt nhất để biết liệu nhân viên của bạn có cải tiến hay không. Tôi gợi ý rằng bạn làm cuộc điều tra về sự thoả mãn của khách hàng cũng như thoả mãn của nhân viên cứ mỗi sáu tháng. Một chỉ báo tốt khác về sự thoả mãn của nhân viên là tỉ lệ đổi người thấp. Nhân viên hài lòng không đổi việc làm, nếu họ biết rằng họ có thể thăng tiến trong nghề nghiệp trong công ti của bạn, họ sẽ không bỏ đi. Nếu bạn đối xử với họ tốt, họ sẽ ở lại với bạn. Nếu khách hàng của bạn hài lòng họ sẽ cho bạn nhiều kinh doanh hơn, bạn có thể đo thu nhập và lợi nhuận của bạn trước và sau đầu tư của bạn vào đào tạo nữa.
Một khi bạn đã đầu tư vào đào tạo, lời khuyên của tôi là đầu tư vào qui trình thuê người của bạn nữa. Dựa trên khảo cứu của tôi về công ti phần mềm, nhiều công ti chỉ thuê người khi họ cần. Phần lớn các công ti không làm việc tốt trong khâu tuyển chọn bởi vì họ cần lấp vào các vị trí một cách nhanh chóng. Họ thuê bất kì ai có phẩm chất về kĩ thuật nhưng không biết mấy về người được thuê trong các khu vực kĩ năng khác. Bạn nên biết rằng cái vào tốt sẽ đem tới cái ra tốt. Thay vì phản ứng với nhu cầu, quảng cáo các vị trí, lựa chọn bằng phỏng vấn các đương đơn khi cần, bạn có thể cộng tác với các đại học để có chương trình thực tập nơi bạn thuê sinh viên làm việc vào mùa hè.
Bạn có cơ hội để quan sát họ, biết họ rõ ràng và xem cách họ làm việc. Không chỉ là kĩ năng kĩ thuật của họ mà còn cả hành vi của họ, kĩ năng mềm của họ để cho bạn có thể có danh sách các ứng cử viên tốt nhất trước khi họ tốt nghiệp. Việc lập kế hoạch trước này sẽ tiết kiệm cho bạn nhiều thời gian và tiền bạc trong tuyển người. Vì những sinh viên này đã làm việc trong công ti của bạn, họ biết về qui trình của bạn, công cụ của bạn, nhân viên của bạn cho nên bạn sẽ dành ít thời gian để đào tạo họ khi họ tới làm việc cho bạn. Nếu bạn cần những kĩ năng nào đó, công nghệ nào đó, bạn có thể cộng tác với đại học để cho họ cung cấp loại đào tạo đó trong chương trình của họ. Đại học đang trong kinh doanh về đào tạo, phần lớn đại học sẽ đón chào gợi ý của bạn khi biết rằng bạn sẽ thuê sinh viên của họ.
Nếu bạn tới thăm Carnegie Mellon, bạn sẽ thấy rằng bao giờ cũng có một số đại diện của các công ti ở thường trực trong trường để quan sát và kèm cặp sinh viên để cho sinh viên sẽ làm việc cho họ. Đại học của chúng tôi cộng tác với nhiều công ti phần mềm và điều chỉnh chương trình đào tạo của chúng tôi để đáp ứng cho nhu cầu của họ. Đó là lí do tại sao phần lớn sinh viên của chúng tôi kiếm được nhiều việc làm trước khi họ tốt nghiệp.
Lập kế hoạch đầu tư cho nhân viên của bạn bây giờ đi. Công ti của bạn sẽ thành công hơn, và điều này sẽ làm cho khách hàng của bạn hài lòng hơn. Đó là cách đầu tư tốt nhất mà bạn có thể làm hôm nay.
A manager send me an email: “In the article “Process Improvement with CMMI”, you wrote: “If you want to invest, please invest in your own employees. Provide better trainings to help them improve their skills”. As a manager of a software company, my questions are: “What skills do I need to invest in them?”; “How do I know that they are improving?”; “ How do I measure their improvement?”
Answer: Software is not just about technology but also a communications business. If you do not know what to invest in your own employees than my first question is: “How good are their soft-skills such as communications? You need to look into areas such as requirements engineering, project management, and customer-relationship, to see if the listening skills, negotiation skills, and presentation skills of your employees are good enough. You may ask them which skills do they need so you can provide training for them. Today, most software companies have foreign customers so another important skill they may need is foreign language skill. Developers must at least communicate well in a foreign language such as English.
My second questions are: “Do your employees have domain expertise? Since you are in the software development business, does your employees understand how your customers use your products? Do your employees know and understand your customers’ business processes? Do they understand what is important to the users and why? This may be the time to invest in explaining how your products are being used in the market. It is important that your employees learn about your business to build domain expertise for them too.
My third question is: “Are you considering adapting any new technology? If so, do your employees have adequate skills in development, design, implement, and test in that technology? If you are planning to adapt new technology, this is the time to invest in training to help them learn and use the new technology. If you do not have any new technology, you could invest more in process improvement such as provide training about how to develop high performance, high reliability, high availability, high quality software. The best training would be on how to conduct reviews to identify and remove defects and improve software quality.
Like any investment, you could measure productivity, quality, schedule, project success, and customer satisfaction before and after the trainings to identify how effective is your investment. Having good measurements and metrics are the best way to know if your employees are improving. I suggest that you have a survey of customers satisfaction as well as employees satisfaction every six months. Another good indicator of employees satisfaction is low turnover rate. Happy employees do not change jobs, if they know that they can advance in their career in your company, they will not leave. If you treat them well, they will stay with you. If your customers are happy they will give you more business, you can measure your revenue and profits before and after your investment in training too.
Once you have invested in your training, my advice is to invest in your hiring process too. Based on my study of software company, many only hire people when they need. Most do not do a good job in selecting because they need to fill all positions quickly. They hire anyone who are qualified technically but not know much about them in other skill areas. You should know that a good inputs will bring good outputs. Rather than react to the demand, advertise positions, selecting by interviewing applicants when needed. You could collaborate with universities to have an internship program where you hire students to work in the summer. You have a chance to observe them, know them well and see how they work. Not just on their technical but also their behavior, their soft-skills so you can have a list of the best candidates before they graduate. This advance planning will saves you a lot of time and money in recruiting. Since these students already work in your company, they know about your process, your tools, your employees, so you will spend less time to train them when they come to work for you. If you need certain skills, certain technology, you can collaborate with universities to have them provide that kind of trainings in their program. University is in training business, most will welcome your suggestions knowing that you will hire their students. If you visit Carnegie Mellon, you will see that there are always number of company’s representatives who stay there permanently in school to observe and mentor students so they will work for them. Our university collaborates with many software companies and adjust our trainings to meet their needs. That is why most of our students get job offers before they even graduate.
Plan for your employees investments now. Your company will be more successful, and this will make your customers more satisfied. It is the best investment that you can make today.