Software EngineeringSoftware EngineeringSoftware engineering (SE) is the profession concerned with specifying, designing, developing and maintaining software applications by applying technologies and practices from computer science, project management, and other fields.
SE applications are used in a wide range of activities, from industry to entertainment. Software applications improve user productivity and quality of life. Application software examples: office suites, video games, and the world wide web. System software examples: embedded systems and operating systems.
SE technologies and practices improve the productivity of developers and the quality of the applications they create. Software engineering examples: databases, languages, libraries, patterns, and tools. Computer science examples: algorithms and data structures. Project management examples: processes.
OriginsThe term software engineering was used occasionally in the late 1950s and early 1960s. Software engineering was popularized by the 1968 NATO Software Engineering Conference held in Garmisch, Germany and has been in widespread use since.
MeaningsAs of 2004, in common parlance the term software engineering is used with at least three distinct meanings:As the usual contemporary term for the broad range of activities that was formerly called programming or systems analysis;As the broad term for the technical analysis of all aspects of the practice, as opposed to the theory of computer programming;As the term embodying the advocacy of a specific approach to computer programming, one that urges that it be treated as an engineering profession rather than an art or a craft, and advocates the codification of recommended practices in the form of software engineering methodologies.
LevelsThere are currently no widely accepted criteria for distinguishing someone who is a software engineer from someone who is not a software engineer. In addition, the industry is in the midst of a complex debate on the licensing of practicing software engineers. For the localities that do not license software engineers, some hiring classifications are made based on education and experience. Classification levels may include: entry-level, mid-level, and senior.
Typical entry-level software engineers have a bachelors degree and zero to five years of experience. Typical mid-level software engineers have a bachelors or masters degree and have five to ten years of experience. Typical senior-level software engineers have an advanced degree and have ten or more years of experience. Note that these are only guidelines that are trends seen in hiring practices and that many exceptions exist.
Software engineerSoftware engineering is the practice of creating software.Members of this profession are called software engineers, programmers, developers, or practitioners.People who write code and do not follow the doctrines of software engineering are more accurately called programmers, developers, or software artists.Software engineering todayImpact of software engineeringSoftware engineering affects economies and societies in many ways.EconomicIn the U.S., software drove about 1/4 of all increase in GDP during the 1990s (about $90 billion per year), and 1/6 of all productivity growth (efficiency within GDP) during the late 1990s (about $33 billion per year). Software engineering drove $1 trillion of economic and productivity growth over the last decade.
The growth of digital information from 2011 to 2014 has increased from 1.7 % of the US economy, to 3.6 %, to 2.7 % of the world in 2014.
- Use this data to save your time and money, and learn about the benefits and costs of software engineering activities
- Use this data to create your own team, and learn about the benefits of technology.
- Use the data to make better decision about where to hire software technology professionals, find ways to improve business processes and software development, and find new opportunities to increase your career. It all takes practice.
- . and more—and more and more. If you had to choose between a computer, a desktop, or computer with all the features, you definitely know…