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