Software Engineering

Engineering is a task that involves the use and materialization of mathematical and scientific principles. Engineering is ever present in many tangible and intangible aspects like manufacturing, design, efficient operation, economy, systems, processes, machines and even software applications.

The term software engineering was coined in the year 1968 at the NATO or North Atlantic Treaty Organization Software Engineering Conference which took place in Germany. F.L. Bauer, the chairman of the Organization during that time was responsible for the introduction of this new term.

For starters, software engineering refers to the practical application of quantifiable, disciplined and systematic ways to developing, operating and maintaining software applications. The application involves methods, tools and knowledge for identifying requirements, creating the design, implementing construction blue print, conducting products tests and sustaining the usefulness of a software product. Software engineering does not only get principles from computer science, it also involves knowledge in systems engineering, software ergonomics, quality management, project management and mathematics.

Software engineering is a huge industry, as of the year 2004, the United States Bureau of Labor Statistics reported a yearly count of more than 750,000 software engineers. As a whole, the industry is producing more than one million software engineering jobs in the US across all software engineering disciplines. Being a software engineer is no easy job although the job description is used freely even for non-accredited software designers. A computer engineering degree is not usually a requirement for the work. Some of the most notable names in software engineering are David Parnas, C. Hoare, Fred Brook and Barry Boehm.

Over the course of time, software engineering has indeed evolved both in terms of use and definition. What used to be called as a pure application of systematic, quantifiable, disciplines, way of developing, managing and maintaining software systems have now become a colloquial term for a wide range of programming and analysis activities. Donald Knuth, a notable person in the industry, once said that programming is art in itself. While David Parnas stated that software engineering is another type of engineering.

Steve C. McConnell, a software engineering guru and a textbook publisher, challenged Parnas of his statement and said software engineering is not yet pure engineering. As a matter of fact, the US Labor Statistics categorized it only as a sub of computer specialist. Most people however generally address and refer to software engineers as pure engineers as they would with civil and mechanical engineers.

The British government so far has no problem with associating general engineering with information technology practitioners. Although in Canada, software engineering is still the subject of court debates.

The dispute over the use of the term software engineering still continues until this very day. According to professionals and experts, software development is still a proper name for the industry and should not be regarded as a new field of engineering. The logic is very simple according to Pete McBreen who coined the term software craftsmanship. McBreen stresses out that software engineering is way too far to become an engineering form since the industry is dealing more on skills rather than the process of manufacturing. In addition, he sited an analogy that not all people who work in a construction project are called civil engineers. A person who knows basic programming codes cannot just be simply called a software engineer.

Wrong or not, but software engineering has been the source of livelihood for practitioners for many years now. A software engineer may be regularly employed or contractual. Either way, the compensation is attractive. Any software engineer may opt to work for himself as a self-employed, or as a government employee. One may also work for the military or for non-commercial organizations.

So, if you are a budding software engineer, all you need to do is master the craft. It does not matter if you’ve finished a degree or not, what counts are your skills and your knowledge.

Software » Software Development » Software Engineering
 
Read More About Software Related Resources Below

© 2007 All Rights Reserved. SoftwareCentric.net Home::Contact Us