Software engineers affect society by creating applications. These applications produce value for users, and sometimes produce disasters.
Applications
Software engineers build applications that people use.
Applications influence software engineering by pressuring developers to solve problems in new ways. For example, consumer software emphasizes low cost, medical software emphasizes high quality, and Internet commerce software emphasizes rapid development.
Engineering All traditional engineering branches use software extensively. Engineers use spreadsheets, more than they ever used calculators. Engineers use custom software tools to design, analyze, and simulate their own projects, like bridges and power lines. These projects resemble software in many respects, because the work exists as electronic documents and goes through analysis, design, implementation, and testing phases. Software tools for engineers use the tenets of computer science; as well as the tenets of calculus, physics, and chemistry.
TAURUS - UK share settlement system and dematerialised central share depository .
Therac-25 - A radiation therapy machine responsible for six overdoses due to faulty software.
Technologies and practices
Skilled software engineers use technologies and practices from a variety of fields to improve their productivity in creating software and to improve the quality of the delivered product.
Software engineering topics
Many technologies and practices are (mostly) unique to software engineering,
though many of these are shared with computer science.
A platform combines computer hardware and an operating system. As platforms become more powerful and less expensive, applications and tools become more widely available.
Deliverables must be developed for many SE projects. Software engineers rarely make all of these deliverables themselves. They usually cooperate with the writers, trainers, installers, marketers, technical support people, and others who make many of these deliverables.
Edsger Dijkstra: Wrote Notes on Structured Programming , A Discipline of Programming and Go To Statement Considered Harmful , algorithms, formal methods, pedegogy .