16 Jan, 2021
Lời khuyên từ người quản lí thuê người
David là giám đốc cấp cao của công ti phần mềm toàn cầu, chịu trách nhiệm về tuyển mộ người. Mỗi năm, công ti ông ấy thuê quãng 6,000 tới 12,000 người phần mềm trên khắp thế giới cho nên tôi mời ông ấy tới cho bài giảng về thị trường việc làm toàn cầu hiện thời cho lớp của tôi nơi sinh viên có thể hiểu ông ấy các câu hỏi.
Sau đây là ghi chép tôi ghi lại trong buổi họp:
Sinh viên: “Ông tập trung vào việc làm nào khi thuê người năm nay và vài năm tới?”
David: “Là công ti toàn cầu lớn, chúng tôi có văn phòng ở nhiều nước và tuỳ theo nhu cầu địa phương thế nào thì chúng tôi sẽ tập trung vào thuê các kĩ năng đặc biệt. Tuy nhiên, chúng tôi thích thuê sinh viên mới tốt nghiệp vì dễ đào tạo lại họ để làm việc dựa trên các yêu cầu qui trình đặc biệt của công ti tôi. Ngày nay, chúng tôi đang tìm người có kĩ năng phát triển Web, người phát triển Java, người phát triển Dot.Net, chuyên viên an ninh, quản trị cơ sở dữ liệu.”
Sinh viên: “Tất cả chúng tôi đều biết về ngôn ngữ Java ở trường nhưng điều đó có đủ không hay chúng tôi cần cái gì đó khác?”
David: “Điều đó tuỳ vào trường. Chúng tôi bao giờ cũng kiểm điểm chương trình đào tạo tại từng trường để xác định liệu việc đào tạo là đủ hay không. Tất nhiên, CMU là nơi mà ngôn ngữ lập trình Java được tạo ra cho nên chúng tôi không hỏi câu hỏi về chất lượng ở đây. Những người phát triển Java của chúng tôi làm việc trên phạm vi rộng các ứng dụng, cả ở phía nguồn phục vụ và phía người dùng qua ứng dụng máy để bàn, trình duyệt Web và điện thoại di động. Ngày nay Java là ngôn ngữ được dùng trong miền rộng các ứng dụng trên khắp thế giới cho nên có kĩ năng lập trình Java là cần để kiếm việc làm trong công nghiệp CNTT. Với Java, có nhiều chọn lựa công cụ và nền cho nên bạn có thể cần chuyên môn hoá trong các nền nào đó như máy để bàn hay di động. Điều quan trọng nhất cho bất kì người phát triển Java nào là “tri thức đầy đủ về vòng đời phát triển phần mềm”, từ thu thập yêu cầu tới lập trình, kiểm thử và bảo trì. Đó là lí do tại sao chúng tôi CHỈ thuê sinh viên đại học và KHÔNG thuê người được đào tạo với chứng chỉ ngắn hạn. Các bạn có lẽ cũng để ý rằng tôi dùng từ “người phát triển” chứ KHÔNG “người lập trình”. Trong công nghiệp CNTT ngày nay, vài tháng đào tạo về ngôn ngữ lập trình KHÔNG đủ tốt. Chúng tôi cần người có tri thức đầy đủ về vòng đời phát triển phần mềm. Người phát triển phần mềm KHÔNG chỉ là người kĩ thuật mà còn là ai đó có tri thức về qui trình doanh nghiệp. Người phát triển phải hiểu nhu cầu người dùng vì họ làm việc trên Web và ứng dụng di động. Họ phải chứng tỏ và hiểu giao diện khách hàng và làm việc chặt chẽ với người dùng về hiểu đích xác ứng dụng đó cần làm gì.”
Sinh viên: “Về Microsoft Dot. Net thì sao? Ông cũng có nhắc tới nó.”
David: “Có, chúng tôi quả có cần người với kĩ năng Dot.Net. Những người phát triển Dot.Net của chúng tôi viết và duy trì ứng dụng máy tính để bàn và ứng dụng kinh doanh dựa trên Web, cũng như chuyên biệt hoá các nền Microsoft cho ứng dụng như quản lí quan hệ khách hàng (CRM), lập kế hoạch tài nguyên doanh nghiệp (ERP). Người phát triển giỏi Dot.Net phải có kĩ năng kiểm thử tích hợp và kiểm soát chất lượng. Về căn bản người phát triển phải có tri thức đầy đủ về vòng đời phát triển phần mềm. Đó là lí do tại sao chúng tôi KHÔNG thuê người được đào tạo ngắn hạn vì họ chỉ viết mã mặc dầu một số người thậm chí có chứng chỉ Microsoft. Điều chúng tôi tìm là nhiều hơn chỉ là người lập trình. Ngày nay công nghệ Dot.Net có ở mọi nơi, đặc biệt trong các giao diện người dùng ứng dụng. Đó là một trong những kĩ năng mà nhiều công ti toàn cầu cần vì nó là mặt tiền của hầu hết các ứng dụng. Với Dot.Net, các bạn cần hiểu kiến trúc phần mềm và khái niệm khuôn khổ vì nó cho phép các công ti làm tươi lại giao diện của các ứng dụng thừa tự, nối chúng với Internet và chuyên biệt hoá các ứng dụng hiện có. Phần lớn mọi người nhìn Dot.Net chỉ như thư viện phần mềm nhưng nó còn nhiều hơn thế bởi vì điều then chốt của Dot.Net là khuôn khổ tích hợp cho nhiều hệ thống như trong các ứng dụng CRM và ERP. Chúng ta biết rằng phần lớn các trường KHÔNG dạy về công nghệ Dot.Net trong chương trình của họ cho nên chúng tôi ưa thích thuê sinh viên tốt nghiệp rồi đào tạo họ về công nghệ này. Vì họ có tri thức tốt về vòng đời phát triển phần mềm và lập trình hướng đối tượng, thì họ có thể học Dot.Net nhanh chóng. Nếu họ có tri thức thêm về Silverlight của Microsoft thì điều đó còn tốt hơn nhiều.
Sinh viên: “Chúng tôi được bảo rằng ngày nay việc nóng là chuyên viên an ninh CNTT. Ông có thể nói cho chúng tôi thêm về việc làm này và yêu cầu là gì?”
David: “Các bạn đúng đấy, việc tốt nhất ngày nay có lẽ là chuyên viên an ninh CNTT. Tuy nhiên, việc làm này thường yêu cầu bằng cấp chuyên sâu và nhiều kinh nghiệm trong an ninh mạng. Chuyên viên an ninh CNTT giải quyết mọi khía cạnh của an ninh CNTT, tạo ra và thực hiện các thực hành an ninh CNTT công ti và đảm bảo rằng các nhân viên tuân theo các thủ tục đó. Chức vụ này bao gồm giữ an ninh mạng công ti, giải quyết việc lưu trữ băng từ sao lưu, thiết lập chính sách an ninh và nhiều điều nữa. Những sự cố gần đây của tấn công xi be (mạng), hắc khách đánh cắp bản ghi mật, phá huỷ website công tin, và nhiều điều tồi tệ tạo ra nhu cầu khẩn thiết về việc làm này. Ngày nay không có chương trình nào trong an ninh máy tính ở mức dưới đại học cho nên các bạn cần đi lên mức tốt nghiệp đại học và lấy thạc sĩ hệ thông tin, chuyên môn về an ninh máy tính. Hiện thời, chúng tôi đang thuê người với ít nhất năm tới bẩy năm kinh nghiệm an ninh CNTT. Chúng tôi cũng thuê người với có tư cách nhà chuyên môn an ninh hệ thông tin có chứng chỉ – Certified Information Systems Security Professional (CISSP) nếu họ có kinh nghiệm. Bởi vì chuyên viên an ninh CNTT cũng phải quản lí các đe doạ an ninh như truy nhập của nhân viên vào những tài liệu bị hạn chế, mất laptop chứa thông tin nhạy cảm, những người này cũng phải có kĩ năng về trao đổi, dạy, quản lí và bí quyết ngăn ngừa những rủi ro này. Do thiếu hụt những người này, công ti của chúng tôi lựa chọn người phát triển phần mềm có kinh nghiệm của riêng mình, đào tạo họ thành chuyên viên an ninh và khuyến khích họ lấy chứng chỉ CISSP.
Student: “Ông có thể nói thêm cho chúng tôi về quản trị cơ sở dữ liệu được không. Nó được dạy trong chương trình quản lí hệ thông tin của chúng tôi.”
David: “Đây là việc làm nóng khác trong thị trường ngày nay. Chúng tôi quả có cần nhiều người quản trị cơ sở dữ liệu. Người quản trị cơ sở dữ liệu (DBA) chịu trách nhiệm thiết lập, sao lưu, kiểm thử, giữ an ninh và thực hiện thay đổi cơ sở dữ liệu. Những người này hỗ trợ cho các dự án phát triển bằng cách làm việc với người phát triển và người dùng. Tuy nhiên, việc làm này cũng yêu cầu nhiều kinh nghiệm bởi vì dữ liệu là cốt yết và phải được tổ chức và bảo vệ tốt. Điển hình, chúng tôi thuê người với ít nhất năm tới mười năm kinh nghiệm trong nền phổ biến như Oracle, SQL server, vì đây là vị trí rất quan trọng nên chúng tôi KHÔNG thuê người được đào tạo ngắn hạn, cho dù họ có chứng chỉ. Lí do đơn giản, đây là vị trí mức cao hỗ trợ cho nhiều dự án hay dự án rất lớn và DBA phải có khả năng tương tác với các đơn vị nghiệp vụ khác nhau trong công ti. Thỉnh thoảng, DBA phải tương tác với người dùng và khách hàng để thu thập yêu cầu và bạn phải chứng tỏ tri thức chuyên gia của mình cũng như năng lực của mình để giải quyết vấn đề và thương lượng hợp đồng với khách hàng.”
Sinh viên: “Vậy đây không phải là vị trí mức vào việc? Làm sao tôi có được việc này nếu ông yêu cầu nhiều năm kinh nghiệm? Ông nghĩ gì về nền My SQL hay DB/2?”
David: “Quản trị cơ sở dữ liệu (DBA) KHÔNG phải là ở mức vào nghề mà là vị trí quản lí. Bởi vì nó cần nhiều kinh nghiệm, chúng tôi ưa chuộng đào tạo người riêng của mình trong lĩnh vực này. Chúng tôi lựa những người phát triển phần mềm có kinh nghiệm trong quản lí yêu cầu và kiến trúc hệ thống và để họ làm việc như trợ lí cho người DBA nơi họ sẽ họ “trong việc làm”. Về căn bản người quản trị cơ sở dữ liệu giỏi là khó tìm và hiện thời công nghiệp có nhiều việc DBA hơn có người lấp vào chỗ đó. Tôi biết rằng phần lớn các bạn có lẽ chỉ học một hay hai môn trong cơ sở dữ liệu ở trường, đấy là những khái niệm nền tảng cho bạn tri thức cơ sở để đi xa thêm. Để là người DBA giỏi, bạn cần kinh nghiệm, đặc biệt kĩ năng trong quản lí yêu cầu, kĩ năng thương lượng khách hàng, kĩ năng quản lí và kĩ năng trao đổi. Các bạn phải biết rõ về vận hành công ti để thiết kế và quản lí cơ sở dữ liệu hay nhà kho dữ liệu. Ngày nay, nhu cầu về các nền khác, như DB/2 và các cung cấp nguồn mở như My SQ, không có nhu cầu cao thêm nữa nhưng nếu bạn biết về chúng rõ, điều đó bao giờ cũng là cái gì đó tốt.
Sinh viên: “Là sinh viên, chúng tôi không quan tâm tới chức vụ yêu cầu kinh nghiệm. Có các vị trí khác mà sinh viên như chúng tôi có thể làm được không?”
David: “Tất nhiên có, có nhiều vị trí KHÔNG yêu cầu kinh nghiệm. Phần lớn các bạn có lẽ sẽ được thuê làm người phát triển phần mềm, người kiểm thử phần mềm. Một số trong các bạn cũng sẽ được thuê làm người quản trị hệ thống. Những việc này là ở mức vào nghề và nó tuỳ thuộc vào điều bạn thích làm trong công ti của chúng tôi. Một số trong các bạn có thể thích phát triển phần mềm, một cố thích quản lí ứng dụng phần mềm.”
Sinh viên: “Người quản trị hệ thống làm gì?”
David: “Về cơ bản việc làm là đảm bảo rằng vận hành CNTT chạy trôi chảy. Người quản trị cài đặt, nâng cấp, giám sát và bảo trì hệ thống CNTT, quản lí ứng dụng doanh nghiệp, kiểm soát hệ thống cơ sở dữ liệu, kiểm tra để đảm bảo rằng mọi cơ sở dữ liệu và nguồn phục vụ làm việc đúng đắn. Người quản trị cũng quản lí việc sao lưu dữ liệu và phục hồi, quản lí phần cứng mạng, công cụ phần mềm, nguồn phục vụ web, hệ thống email và mọi ứng dụng máy để bàn như Window, Offices, và các công cụ có liên quan. Về căn bản, người quản trị hệ thống là chuyên gia về cả phần mềm và phần cứng và việc của họ là đảm bảo rằng mọi thứ vận hành tương ứng. Thay vì phát triển phần mềm, họ quản lí vận hành của hệ thống CNTT. Việc làm này yêu cầu rằng người quản trí phải có tri thức đầy đủ về mọi thay đổi công nghệ ảnh hưởng tới hệ thống CNTT của công ti và thường xuyên kiểm điểm việc dùng công nghệ. Ngày nay hầu hết các hệ thống đều tăng trưởng ngày càng lớn và phức tạp hơn, có nhiều thay đổi thế với những sản phẩm và công nghệ mới cho nên người này bao giờ cũng phải học những điều mới và đánh giá chúng để bảo đảm rằng hệ thống làm việc hiệu quả. Để làm điều đó, người quản trị hệ thống phải có tri thức về doanh nghiệp và cách công ti được vận hành. Việc làm này yêu cầu người quản trị phải quen thuộc với qui trình doanh nghiệp và kết cấu nền CNTT. Bởi vì bản chất này, chúng tôi chỉ thuê những người với ít nhất là bằng tốt nghiệp đại học bởi vì người được đào tạo ngắn hạn sẽ KHÔNG có khả năng có tri thức sâu sắc.
David kết luận: ‘Khi công nghệ thông tin ngày càng lớn hơn và phức tạp hơn, nó yêu cầu mọi người phải có cả tri thức chiều rộng và chiều sâu. Theo ý kiến của tôi, yêu cầu tối thiếu là bằng đại học. Một số trong các bạn học về khoa học máy tính, kĩ nghệ phần mềm hay quản lí hệ thông tin. Chúng tất cả đều là những khu vực tuyệt vời để làm việc trong công nghiệp CNTT và các bạn KHÔNG có vấn đề gì để tìm việc trong mười năm tới bởi vì có thiếu hụt trầm trọng người có kĩ năng trên khắp thế giới. Các bạn đã lựa chọn đúng khu vực học tập, đúng công nghệ và đúng trường cho nên các bạn không phải lo nghĩ nhiều. Tôi đã từng thuê nhiều sinh viên từ CMU và sung sướng với hiệu năng của họ cho nên lời khuyên cuối cùng của tôi là tiếp tục học để cải tiến kĩ năng của bạn và đừng bao giờ ngừng học tập. Tôi hi vọng rằng tôi sẽ gặp nhiều người trong các bạn ở công ti tôi.”
—-English version—-
Advices from hiring manager
David is a Senior Director of a global software company, responsible for recruiting people. Each year, his company hires about 6,000 to 12,000 software people all over the world so I invited him to give a lecture about the current global job market to my class where students can ask him questions. Following is the note I took during the meeting:
Student: “What jobs are you focusing on hiring this year and next few years?”
David: “As a large global company, we have offices in several countries and depend on what the local market needs then we will focus on hiring specific skills. However, we like to hire newly graduates because it is easier to retrain them to work based on our company’s specific process requirements. Today, we are looking for people with Web development skills, Java developer, Dot.Net developer, Security Specialist, Database administration.”
Student: “We all learned about Java language in school already but is it enough or do we need anything else?”
David: “It depends on the school. We always review the training program at each school to determine whether the training is sufficient or not. Of course, CMU is where the Java programming language was created so we do not ask question about qualification here. Our Java developers work on a wide range of applications, both on the server side and users side through desktop applications, Web browsers and mobile phones. Today Java is a language that is used in a wide range of applications all over the world so having Java programming skills is necessary to get a job in IT industry. With Java, there are many tools and platform choices so you may need to specialize in certain platforms such as desktop or mobile. The most important thing for any Java developer is the “full knowledge of the software development life cycle”, from gathering requirements to programming, testing and maintenance. That is why we ONLY hire college students and NOT short-term certificate trained people. You probably notice that I use the word “Developer” NOT “Programmer”. In IT industry today, few months of programming language training is NOT good enough. We need people with a full knowledge of software development lifecycle. A software developer is NOT just a technical person but also someone who has knowledge about the business process. Developers must understand the users’ needs as they work on Web and mobile applications. They must demonstrate an understanding of the customer interface and work closely with users on understanding exactly what the application needs to do.”
Student: “What‘s about Microsoft Dot. Net? You also mention about it too”
David: “Yes, we do need people with Dot.Net skills. Our Dot.Net developers write and maintain desktop and Web-based business applications, as well as customize Microsoft platforms for applications such as Customer Relationship Management (CRM), Enterprise Resource Planning (ERP). A good Dot.Net developer must have skills in integration testing and quality control. Basically developer must have the full knowledge of software development lifecycle. That is why we do NOT hire short-term training people because they just write code although some even have Microsoft certificates. What we are looking for is more than just a programmer. Today the Dot.Net technology is everywhere, particularly in application user interfaces. It is one of the skills that many global companies need as it is the front-end of most applications. With Dot.Net, you need to understand software architecture and framework concepts because it allows companies to refresh legacy applications’ interfaces, connect them to the Internet and customize existing applications. Most people look at Dot.Net just as a software library but it is much more because the key of Dot.Net is an integration framework for many systems like in CRM and ERP applications. We know that most schools do NOT teach Dot.Net technology in their programs so we prefer to hire graduates then train them on this technology. As long as they have good knowledge of software development lifecycle and Object Oriented programming, then they can learn Dot.Net quickly. If they have additional knowledge of Microsoft’s Silverlight then it would be much better.
Student: “We are told that today the hot job is IT security specialist. Can you tell us more about this job and what are the requirements?”
David: “You are correct, the best job today probably is IT security specialist. However, this job often requires an advanced degree and a lot of experiences in network security. IT security specialist handles all aspects of IT security, creating and implementing corporate IT security practices and ensuring that employees follow those procedures. This position consists of securing company’s networks, handling storage of backup tapes, establishing policies for security and much more. Recent incidents of cyber attacks, hackers stole confidential records, destroyed companies websites, and many bad things create the urgent need for this job. Today there is no programs in computer security at the undergraduate level so you need to go into the graduate level and get the Master of Information System, specialize in Computer security. Currently, we are hiring people with at least five to seven years of IT security experience. We also hire people with Certified Information Systems Security Professional (CISSP) qualifications if they have experiences. Because IT security specialists also have to manage internal security threats such as employee access to restricted documents, lost laptop contain sensitive information, these people must also have skills in communication, teaching, managing and know how to prevent these risks. Due to the shortage of these people, our company selects our own experienced software developers, train them into security specialists and encourage them to take the CISSP certifications.
Student: “Can you tell us more about Database administration. It is taught in our Information System Management program.”
David: “This is another hot job in the market today. We do need a lot of database administration people. A database administrator (DBA) is responsible for installing, backing up, testing, securing, and making changes to databases. These people support development projects by working with developers and users. However, this job also requires a lot of experience because data is critical and must be well organized and protected. Typically, we hire people with at least five to ten years of experiences in popular platform like Oracle, SQL server, as this is a very important position we do NOT hire short term training people, even they have certificates. The simple reason, this is a high level position that support multiple projects or a very large project and the DBA must be able to interact with different business units in the company. Sometime, DBA must interact with users and customers to gather requirements and you must demonstrate your expertise as well as your ability to solve problems and negotiate contract with customers”.
Student: “So this is not a entry level position? How do I get the job if you require many years of experiences? What do you think about My SQL or DB/2 platform?”
David: “Database Administration (DBA) is NOT an entry level but a management position. Because it needs a lot of experiences, we prefer to train our own people in this field. We select software developers with experience in requirements management and system architect and put them to work as assistant to DBA people where they learn “on the job”. Basically a good database administration is difficult to find and currently the industry has more DBA jobs than there are people to fill them. I know that most of you probably take one or two courses in database in school, those are the fundamental concept that give you the basic knowledge to go further. To be a good DBA, you need experience, especially the skill in requirements management, customer negotiation skill, management skills and communication skills. You must know the company operation very well to design and manage database or data warehouse. Today, the demand for other platforms, such as DB/2 and open-source offerings like My SQ, is not much in high demand anymore but if you know them well, it always something good to have.
Student: “As students, we are not interested in positions that require experiences. Are there other positions that students like us can do?”
David: “Of course, there are many positions that do NOT require experiences. Most of you will probably be hired as software developers, software testers. Some of you will also be hired as system administrator. These jobs are all entry-level and it depends on what do you like to do in our company. Some of you may like to develop software, some prefer to manage software applications”.
Student: “What does an system administrator do?”
David: “Basically the job is to ensure that the IT operations run smoothly. The administrator install, upgrade, monitor and maintains IT systems, manages business applications, controls the database systems, checks to make sure that all database and servers are working properly. The administrator also manage the data backup and recovery, manages network hardware, software tools, web servers, email systems and all desktop applications such as Window, Offices, and related tools. Basically, a system administrator is the expert in both software and hardware and their job is to make sure that everything operate accordingly. Instead of develop software, they manage the operation of the IT systems. This job requires that the administrator must have full knowledge of all the technology changes that affect the company’s IT systems and constantly review the technology usage. Today as most systems are growing larger and more complex, there are so many changes with new products and technology so this person must always learn new things and evaluate them to make sure that the systems are working efficiently. In order to do that, the system administrator must have the knowledge of the business and how the company is operated. This job requires the administrator be familiar with the business processes and the IT infrastructures. Because of this nature, we only hire people with at least a bachelor degree because short-term trained people will NOT be able to have that profound knowledge.
David concluded: ‘As information technology is getting larger and more sophisticated, it requires people to have both broad and deep knowledge. In my opinion, the minimum requirements is a college degree. Some of you study Computer Science, Software Engineering or Information System Management. They all are excellent areas to work in the IT industry and you should NOT have problem to find jobs in the next ten years because there is a critical shortage of skilled people all over the world. You already selected the right area to study, the right technology and the right school so you should not worry to much. I have been hiring many students from CMU and very happy with their performance so my last advice is continue to learn to improve your skills and never stop learning. I hope that I will see many of you in my company.”