Software engineer

According to the latest study, software engineer is one of the occupations projected to grow the fastest in 2005-2025 with excellent job prospects for applicants with bachelor's degree in software engineering, Information technology management, and computer science. Students who want to pursue a career in software field must have strong problem-solving and analytical skills. They also must be able to communicate effectively with team members and the customers they meet. Because they often deal with a number of specific technical tasks in relation with business, they must pay close attention to additional skills related to where they like to work. For example if they like to work for a bank, they should have some knowledge in finance so that they understand banks' computer needs. If they like to work for a network company, they will need knowledge of the internet, web applications and network security.

Most companies prefer applicants who have at least a bachelor's degree and broad knowledge of variety of computer systems and technologies. The typical major for software workers is computer science but in recent years, software engineering and information system management are preferred because of increasing emphasis on software process, computer security, project management, especially in large software companies and consulting firms. Students seeking software works can improve their employment opportunities by participating in internships at software companies. These experiences provide students with broad knowledge and experience, making them more attractive to employers. In the U.S more than 80% of students participate in internships during the summer month as compare with 42% in Europe and 22% in Asia. The ability to work before graduation has given U.S students significant advantages for employment in global software companies.

A software engineer writing Java code. Image: Wikimedia Commons

As technology changes, companies will need workers with the latest skills therefore software workers must continually strive to acquire new skills if they wish to remain in this dynamic field. To help keep up with changing technology, software workers need to take continuing education and professional development certificates offered by software training vendors or universities. Continuing education is not new but it is strongly encouraged in the U.S with over 75% of software workers take advantage of company's endorsement of additional training where Europe is much less with 45% in Germany, Scandinavia countries and lesser than 30% in France, Spain, and Italy. In most countries in Asia, except Japan and S. Korea, lifelong learning is still a new concept with few workers take continuing education to improve their skills.

In the global economy, many companies have to adopt and integrate new technologies to maximize the efficiency of their computer systems and they need more software engineers to implement these changes. The demand for software engineer who could work for global companies and travel to different countries has increase ten fold as compare to few years ago. According to several studies, there is a critical shortage of software people in every countries and worldwide demand is estimated at 2 to 5 million software engineers from 2010 to 2015, despite the fact that India and China are graduating over million software engineer each year. Advancement opportunities for software workers increase with experience. Entry-level is likely to focus mostly on testing and programming but as they become more experienced, workers may move up to design and architect software. Eventually, they may advance to become a project manager, manager of information systems, or chief information officer, especially if they have business skills and training. Some software engineers with several years of experience can find opportunities working as Chief engineers or independent consultants. Demand for software engineers will continue to increase as networking continues to grow. The expanding Internet technologies have advance demand for software engineers who can develop Internet, intranet, and World Wide Web applications. Likewise, electronic data-processing systems in business, telecommunications, government, and other settings continue to become more sophisticated and complex. Implementing, safeguarding, and updating computer systems and resolving problems will fuel the demand for growing numbers of software engineers who specialized in information security. Concerns over “cyber security” result in company continuing to invest heavily in software that protects their networks and vital electronic infrastructure from attack. The expansion of this technology in the next 10 years will lead to an increased need for network security engineers to design and develop the software and systems to run these new applications and integrate them into older systems.

As with other changes by globalization, outsourcing of software development to other lower cost countries may somewhat impact employment growth of some computer jobs in developed countries. Several companies may look to cut costs by shifting some operations to foreign countries with lower wages and highly educated workers. Jobs in software engineering are less prone to being outsourced than are jobs in computer programming and testing, because software engineering requires innovation and intense business knowledge and skills that are difficult to transfer oversea. Most Software engineers analyze users' needs, design, architect, and maintain the needed software or systems for the business and solve any problems that arise. Software engineers often work as part of a team that designs new hardware, software, and systems. A core team may have engineering, marketing, factory, and design people who work together until the product is done. Software engineers who are employed by global companies and consulting firms are required to spend time away from their offices and travel meet with customers.

The salary of software engineer in the U.S for 2008-2010 is approximately USD $ 60,000 to $ 80,000 a year depending on the specialty and university degree. (Top university is higher than state university) Advanced degree such as Master degree or experiences also help boosts the salary an additional of $ 10,000. For engineer who could travel, especially international travel could bring the salary to USD $100,000 to 150,000 to a software engineering degree with 5 years of experiences.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University