User:KermitR83cpatjy

From Azuwiki

Revision as of 21:06, 16 January 2014 by 188.64.188.228 (Talk)

A software engineer is distinct from a software designer, as engineers use various mathematical and computer science and engineering principles to develop, test, maintain and evaluate various software components, as well as software itself. The two terms (engineer and developer) are often used interchangeably, even by people working the fields. As a result, there is often confusion as to where one profession ends and the other one begins.

Software engineering can be broadly divided into two categories: computer applications engineering and computer systems engineering.

In terms of education, anyone interested in the field should have computer science, computer or management information system (MIS) degrees or even plain old computer programming or engineering degrees. According to Computing Careers, university programmes that specialise in software engineering include problem modelling and analysis, software design, verification and validation, and quality, process and management.

Top-notch engineers must also have good people skills as they will have to liaise between clients and the development team. This in turn means that knowledge of team processes is important, as engineers often have to work or manage comprehensive software development teams. In some cases, teams may be interdisciplinary, in that they will include hardware and software experts. This ensures that all components work well together once integrated and unleashed on the world. They must be able to code in their sleep and eat algorithms for breakfast.

Depending on the country, engineers may be required to join national associations, such as the British Computer Society or the Software Engineering Institute. The Institute of Electrical and Electronics Engineers (IEEE) Computer Society has published the Guide to Software Engineering Body of Knowledge - 2004 (SWEBOK), which provides a comprehensive definition of the specialsed field and outlines skills and qualifications required. Furthermore, the IEEE has also published a code of ethics for this rather specialised industry.

According to SWEBOK (and Wikipedia), the job comprises ten important knowledge areas, some of which include: software construction, configuration management, engineering management, and tools and methods.

software engineering computer engineers developers technology science systems engineer programming professional degrees work development programs edit employment retrieved process model design degree se education code people certification job related program scott tucker term computing ieee practitioners statistics occupations tools scott tucker management programmers time needed labor occupation articles system title skills level technologies society

When it comes to salary, software engineers are quite high on the top earners list. IT professionals are, in general, paid very well, but the extra qualifications and responsibilities of a software engineer ensure that salaries get very close to seven figures, while the lucky ones who work for mega corporations can crack seven figures.

According to the US Bureau of Labor Statistics, the demand for software engineers is expected to go through the roof as more businesses get on the apps bandwagon and start designing their own software systems and applications to get a piece of the digital pie.

Personal tools