Software engineers and jobs

Each year, I invite industry professionals to come and give lecture to my students so they are aware about what is happening in the industry. Bob Marshall is a recruiter for a large software company and I invite him to give a lecture to my Software Engineering class. Following is a summary of what he said:

“If you are looking for a good career, software engineer is a good choice. Skilled software engineers are always in short supply all over the world and finding qualified job candidates is very difficult because there are not many of them. Even during the financial crisis when unemployment reaches 12% among college graduates, you can almost hire anyone that you want but there is an exception, you cannot find software engineers.”

“Today technologies such as mobile technology and big data are creating a huge demand for IT skilled workers and a software engineer is the highest demand job and it will last in the next ten years. The U.S. Bureau of Labor Statistics projects a 32% increase in the number of software engineering jobs between 2010 and 2020 but there will not be enough of them. The U.S schools can only produce about a third of that and two third will come from foreign countries such as India, China and Western European countries.”

“As a recruiter, I always visit universities to meet with students at least two years before they graduate. I look at all the classes that they took, talk to professors on their progress and discuss with them about the opportunity. I want to know what will make them work for my company and not others and offer what they want. To succeed in this career, you have to be aggressive to find the right talent. You cannot wait until they graduate to hire them as it is too late because someone may get them first. Sometime when demand is high, I have to travel to foreign countries to find qualified workers. I am very familiar with the training programs in the U.S but in foreign countries, it is difficult because training programs vary a lot among universities so it is difficult to find qualified software engineers. Hiring from foreign countries is also difficult because you have to deal with language proficiency. Even you find a very good person but if he does not speak English well you have to give up. Software work is teamwork and communication is important. Technical skills alone are NOT enough as I always look for other soft-skills such as communication, presentation, leadership and teamwork etc.”

“Due to the skills shortage, there is a competition among companies for a few software engineers. Sometime I have to convince working software engineers to switch job to my company. Luring software engineers away from an existing job is not easy because their companies often use stock options as bonuses to keep them. Last year, I found a software engineer with the specialized skills that we need but he is working for a company that gave him over $50,000 worth of stocks if he stays so I had to offer him $60,000 to leave. One good software engineer can do the work of three or four others so when a company finds them, they never let them go.”

"Most software engineers that I recruit are highly talented. They are problem solvers who love technology, but most of all they always keep up with changes in the technology market. Most of them read a lot and always learn new skills, lifelong learning attitude is one of the key factors that I hire them and my company pays them more than others. An entry level position for a Bachelor's degree starts at $100,000 a year with sign in bonus of $30,000 and about $30,000 to $60,000 in stock options. That means a graduate in software engineering is valued at $150,000 to $200,000. Experienced engineers get more and people with specialized skills such as big data analytics or security often get over $200,000 a year. (2013 data)”

“Today the most popular programming language is Java but our company also uses C++, Python, Ruby on rails, and R but knowing a particular programming language is not a requirement. If you are software engineer, you can learn any language. For example, many web applications are using Ruby on rails now but for software developers who know Java or PHP, it is a matter of time for them to learn Ruby. As college students, you should spend time to learn modern development environments like Ruby on Rails if you like to work in Web development area. Of course, besides software engineers, software developers, software architects, requirements engineers, application integration and security specialists, there are other positions but few students pay attention. Sometime we have difficulty hiring software quality assurance workers, configuration managers, database administrators, cloud computing and software as service specialist, help desk technicians and network specialists.”

“Since you are all software engineering students, you have chosen a good career with excellent future. There is no doubt in my mind that you will doing well but today you will need to explore further and broaden your knowledge into other areas such as business or manufacturing since some of you may want to advance your career into management. There are many wonderful opportunities waiting for you and make sure you stay in touch with me on a regular basis because I have something for you.”

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University