Software Engineering Career

Software engineering has been ranked as the hottest job in the world. Basically; software engineer is responsible for creating quality software product that meets customer’s requirements. Software engineering students are trained to architect a software solution based on a set of technology components. They learn to design prototypes to make sure that the solution meets customer’s needs, and write code to create products based on those prototypes. Students learn to follow software process, software lifecycle, and software methods and using tools so by the time they graduate, they have a set of skills that can be applied to many areas. In addition, they also maintain awareness of the latest industry trends and technologies, and provide technical advice to other people.

The future of this field is bright as there are many job opportunities today and in the future. The most interesting thing about software engineering is that graduates can work in so many different fields. Software engineering is part of every industry.

If you are a software engineer working for a software company like Microsoft, Google, Facebook etc. you will be working with other software engineers and be specialized in testing, programming, developing, quality assurance, architecture, and project management etc. If you are a software engineer working in a manufacturing or business company, you could be working on customer Relation Management system (CRM); Enterprise Resource Planning system (ERP); or Supply Chain management system (SCM) and developing software or customize Commercial off the Shelf (COTS) software such as “SAP” or “PeopleSoft” for the company. As more companies are trying to automate their information system, they need more software engineers.

Today Information technology (IT) field that consists of Computer Science, Software Engineering, Information System Management and Computer Engineering are one of the occupations that grow the fastest in the world. In fact, there is a shortage of these people in every country because the demand has exceeded the supply. This growth will continue because there are more businesses need new technologies to streamline the efficiency of their computer systems. All this growth and demand leads to significant increasing salaries. Today starting salaries for software engineer’s graduates in the U.S is ranging from $89,000 to $105,000; with each year of experience add another $5,000 to $7,000. A software engineer with five years of experience can be expected to make $120,000 to $135,000 a year.

Today, mobile platforms and tablets became “Hot” areas. There is high demand for graduates who have skills in developing applications for mobile devices with emphasis on Apple’s iPod, iPhone and iPad or Google’s Androids. The change in technology requires a change in curriculum to focus more on mobile approach. Many programming classes are expanding to cover Java, C++, C#, Python, and Ruby on Rails.

With high global demand, now is a great time to study software engineering or other information technology fields. As you plan for your future career, remember to add foreign language such as English as many jobs in the future require language skills. Today, almost every job in IT industry require a Bachelor degree, some even prefer advanced degrees. Although in some countries, 2 years vocational or certificates are still good to get jobs but the market has changed rapidly. Today most software are becoming larger and more complex, the short training time will not give workers the skills that industry requires, especially if you want to work for global company, outsourcing provider company.

Although, job description varies among companies and specialty areas but most companies want to hire graduates that have experience in software development (Capstone project is often counted as 6 to 8 months experience); Graduates that have knowledge of software development process, lifecycle, design procedures with additional soft-skills such as communication skills, presentation skills, decision making, leadership skills and the most important is teamwork skills (Capstone project is often counted as having teamwork skills).

During job interviews, most companies would ask candidates about skills such as the design and architecture a software systems according to a requirements specification; the ability to work with distributed team members and be able to integrates suggestions and changes (This is why foreign language skill is critical) ; How to conduct unit test components to ensure module-level functionality and data structure consistency; Skills in design and implementation/code reviews of other team members; Skills in writing code in a timely fashion and with high quality, consistent with industry standards. The ability to communicate with customers and users (This is why foreign language is important); and knowledge about the latest industry trends and technologies. (This is why students must read technology news and industry trends often);

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University