25 Jan, 2021
Nghề nghiệp trong kiểm thử
Một sinh viên nói với tôi: “Em thích làm việc với viết mã và là người kiểm thử phần mềm. Nhiều người bảo em rằng đó là “việc làm tồi nhất” vì lương thì thấp và việc thì vất vả. Không ai kính trọng người kiểm thử vì đó là kĩ năng thấp nhất trong phát triển phần mềm. Điều đó có đúng không? Xin thầy lời khuyên.”
Đáp: Như tôi đã nhắc tới trong những bài trước, có hai kiểu người kiểm thử phần: mức vào nghề và mức chuyên nghiệp. Nhiều người bắt đầu nghề nghiệp của họ là người kiểm thử mức vào nghề rồi đi lên làm việc như người phát triển, người thiết kế, người quản lí dự án. Tuy nhiên, một số người vẫn còn ở kiểm thử và trở thành người kiểm thử chuyên nghiệp. Những người này tìm hiểu những kĩ thuật mới, phương pháp luận mới và tiếp tục cải tiến kĩ năng của họ với công nghệ thay đổi. Khó khăn cho nhiều người phát triển phần mềm là làm sao phân biệt hai kiểu này vì họ cả hai đều làm cùng mô tả việc là “người kiểm thử” mặc dầu kĩ năng của họ tách rời nhau thế. Một số người phát triển coi người kiểm thử là vị trí “mức vào nghề” vì đó là điều họ bắt đầu trong việc làm đầu tiên của họ. Đó là sai lầm vì có những người kiểm thử chuyên nghiệp, người có nhiều kinh nghiệm và họ dứt khoát ở vị trí cao hơn nhiều, lương cao hơn người phát triển, người lãnh đạo kĩ thuật và người quản lí dự án.
Mọi dự án đều cần người kiểm thử, mọi công ti đều muốn có người kiểm thử và người kiểm thử chuyên nghiệp bao giờ cũng có nhu cầu cao. Đó là lí do tại sao khó tuyển được người kiểm thử chuyên nghiệp vì hầu hết các công ti đều giữ họ và đối xử với họ tốt vì họ biết rằng chất lượng sản phẩm của họ phụ thuộc vào kĩ năng của người kiểm thử chuyên nghiệp này. Vài năm trước, một cựu sinh viên đã nói với tôi rằng anh ta phải giải thích cho người quản lí mới về anh ta thực sự làm gì cả ngày vì anh ta không viết mã hay thiết kế. Thậm chí anh ta thường phải cung cấp các hướng dẫn về cách tạo ra chiến lược chất lượng cho những người điều hành cấp cao để cải tiến chất lượng của sản phẩm của công ti. Tôi nói với người cựu sinh viên đó cứ để cho người quản lí mới biết rằng “Là người “kiểm thử”, mọi điều người đó làm là nhìn vào mã của người phát triển nhưng được trả nhiều tiền, thậm chí còn nhiều hơn cả lương của người quản lí mới. Là “người kiểm thử” anh ta thường được mời tới để cho lời khuyên cho chủ tịch công ti về cách cải tiến chất lượng phần mềm.” Tôi chắc chắn rằng có thể có “choáng” cho người quản lí mới chưa có kinh nghiệm đó.
Tôi nghĩ đến lúc làm rõ ràng hiểu lầm về việc làm của người kiểm thử vì nhiều người không biết người kiểm thử làm gì, đặc biệt trong những người quản lí mới và người phát triển thiếu kinh nghiệm. Sự kiện là hầu hết những người kiểm thử chuyên nghiệp đều làm việc độc lập và yên tĩnh. Họ ưa thích làm việc với mã, không với con người cho nên ít người biết về họ hay điều họ làm. Tôi tin đây là lúc cho người kiểm thử, người phát triển, người quản lí và người quản lí cấp cao được đưa lại cùng nhau và hiểu vai trò và trách nhiệm đặc thù của họ. Có nhiều công việc trong phát triển phần mềm, mọi người đều đóng góp vào cho sản phẩm từ vai trò và kĩ năng riêng của họ. Không có những điều như “việc làm tốt hơn” hay “việc làm tồi nhất”. Nếu bạn thích điều bạn làm, nếu bạn hài lòng là người kiểm thử thì theo đuổi nghề kiểm thử chuyên nghiệp. Việc làm của bạn có lẽ là an ninh hơn các việc làm khác. Người kiểm thử đã giúp cho việc cải tiến chất lượng phần mềm nhiều nhưng họ cần cải tiến hình ảnh của họ nữa.
—-English version—-
A career in testing
A student told me: “I like to work with code and be a software tester. Many people told me that is a “worst job” since the wage is low and the work is hard. No one respect testers because it is the lowest skill in software development. Is it true? Please advise”.
Answer: As I have mentioned in previous articles, there are two types of software testers: Entry-level and Professional. Many people start their careers as entry-level testers then move on to work as developers, designers, project managers. However, some people stay in testing and become professional testers. These people explore new techniques, new methodologies and continue to improve their skills with changing technology. The difficult for many software developers is how to distinguish these two types since they both have the same job description as “Tester” although their skills are so far apart. Some developers consider testers as “entry-level” position because that is what they start in their first job. That is a mistake since there are professional testers who have a lot of experiences and they definitely in a much higher positions, higher wages then developer, technical leader and project manager.
Every project needs testers, every company wants testers and professional tester is always in high demand. That is why it is difficult to recruit professional testers because most companies keep them and treat them well because they know that their product quality is depending on these professional tester’s skills. Few years ago, a former student told me that he had to explain to a new manager what he actually did all day since he did not code or design. Even he had often provide guidelines on how to create a quality strategy to senior executive to improve the quality of company’s products. I told my former student to let the new manager know that “As a “tester”, all he did is to look at developers’ code but get paid a lot of money, even more then the new manager’s wage. As “tester” he was often called to advise the president of the company on how to improve software quality”. I am sure that may be a “shock” to that inexperienced new manager.
I think it is time to clear the misunderstanding about the job of testers since many people do not know what testers do, especially among new managers and inexperienced developers. The fact is most professional testers work independently and quietly. They prefer to work with code, not with people so few people know about them or what they do. I believe it is time for Testers, Developers, Managers and senior manager to be brought together and understand their specific roles and responsibilities. There are a lot of works in software development, everybody contribute to the product from their own roles and skills. There is no such thing as “better jobs” or “worst jobs”. If you like what you are doing, if you are happy as tester then pursue the professional tester career. Your job is probably more secured than other jobs. Testers have helped improve software quality a lot already but they need to improve their image as well.