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.”

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University