Software Engineering Job Description
What is Software Engineering
The explosive impact of computers and information technology on our everyday lives has generated a need to design and develop new computer software systems and to incorporate new technologies into a rapidly growing range of applications. The rapid decline in the costs of computer hardware means that the software in a typical system often costs more than the hardware it runs on. Large software systems may be the most complex things ever built. This places great demands on the software engineering process, which must be disciplined and controlled.
The software engineering process is usually divided into 5 phases. These phases are: a design phase, a coding phase, a testing phase, and a maintenance phase. The output of each phase serves as the input to the next.
Role of Software Engineer
Computer software engineers apply the principles and techniques of computer science, engineering, and mathematical analysis to the design, development, testing, and evaluation of the software and systems that enable computers to perform their many applications. Software engineers working in applications or systems development analyze users' needs and design, construct, test, and maintain computer applications software or systems.
Because they are interacting with both business functions and programmers, Software Engineers should have excellent communication skills and should enjoy working as part of a team. They will often have to explain business functions to programmers and technology restraints to non-technical business managers. Engineers should be creative, inquisitive, analytical and detail-oriented. Writing and presentation skills are also vital so engineers can share their research and experiences with colleagues through topical meetings, professional associations, and various publications.
Working environment
Most software engineers work at least 40 hours a week; however, due to the project-oriented nature of the work, they also may have to work evenings or weekends to meet deadlines or solve unexpected technical problems.
Earnings potential
Earnings for engineers vary significantly by specialty, industry, and education. Even so, as a group, engineers earn some of the highest average starting salaries among those holding bachelor's degrees. Average annual earnings of a computer systems software engineers are in the range of $50000 to $85,000.
Growth prospects
After 3-5 years of experience many Software Engineers are promoted to a Senior Software Engineer position. Depending on the employee's skills and interests, a Senior Software Engineer may later be promoted to a Software Architect (a very senior designer of complex programs) or a role in Project Management.
Employment
Employers of computer software engineers range from startup companies to established industry leaders. The proliferation of Internet, e-mail, and other communications systems is expanding electronics to engineering firms that are traditionally associated with unrelated disciplines.
The following is a sample list of employers of computer software engineers:
• Apple Computer
• Cisco Systems
• Fujitsu Siemens Computers
• Hewlett-Packard
• Peoplesoft (Oracle)
• Sony Electronics
• Sun Microsystems
• Texas Instruments
Career Path Forecast
According to the U.S. Department of Labor, Bureau of Labor Statistics, employment of computer software engineers is projected to increase by 38 percent over the 2006 to 2016 period, which is much faster than the average for all occupations. This occupation will generate about 324,000 new jobs.
Demand for computer software engineers will also increase as computer networking continues to grow.
As a result of rapid employment growth over the 2006 to 2016 decade, job prospects for computer software engineers should be excellent.