Software engineering is the systematic approach and practice of creating and maintaining software applications and modules. Many universities and professional schools and organizations offer formal degrees and certifications for many of the disciplines that comprise software engineering. The discipline not only describes many different and often competing procedures, methods and standards used to create and maintain software (including SDLC, Program Management, Software Quality, etc.) but also the technologies used (including computer languages, algorithms, networking, system design, etc.). Most of my Areas of Expertise are subsets of Software Engineering. Like any profession, many professional organizations exist (e.g. IEEE, ACM) and 1000’s of texts and web sites exist.
Below are a few samples: