Software engineer
Encyclopedia
A software engineer is an engineer
Engineer
An engineer is a professional practitioner of engineering, concerned with applying scientific knowledge, mathematics and ingenuity to develop solutions for technical problems. Engineers design materials, structures, machines and systems while considering the limitations imposed by practicality,...

 who applies the principles of software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

 to the design, development, testing, and evaluation of the software and systems that make computers or anything containing software, such as computer chips, work.

Overview

Prior to the mid-1990s, software practitioners called themselves computer programmers or software developer
Software developer
A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...

s,
regardless of their actual jobs. Many people prefer to call themselves software developer and programmer, because most widely agree what these terms mean, while software engineer is still being debated. A prominent computing scientist, E. W. Dijkstra, wrote in a paper that the coining of the term software engineer was not a useful term since it was an inappropriate analogy, "The existence of the mere term has been the base of a number of extremely shallow --and false-- analogies, which just confuse the issue...Computers are such exceptional gadgets that there is good reason to assume that most analogies with other disciplines are too shallow to be of any positive value, are even so shallow that they are only confusing."

The term programmer has often been used as a pejorative term to refer to those without the tools, skills, education, or ethics to write good quality software. In response, many practitioners called themselves software engineers to escape the stigma
Social stigma
Social stigma is the severe disapproval of or discontent with a person on the grounds of characteristics that distinguish them from other members of a society.Almost all stigma is based on a person differing from social or cultural norms...

 attached to the word programmer. In many companies, the titles programmer and software developer were changed to software engineer, for many categories of programmers.

These terms cause confusion, because some denied any differences (arguing that everyone does essentially the same thing with software) while others use the terms to create a difference (because the terms mean completely different jobs).

A state of the art

In 2004, Keith Chapple of the U. S. Bureau of Labor Statistics
Bureau of Labor Statistics
The Bureau of Labor Statistics is a unit of the United States Department of Labor. It is the principal fact-finding agency for the U.S. government in the broad field of labor economics and statistics. The BLS is a governmental statistical agency that collects, processes, analyzes, and...

 counted 760,840 software engineers holding jobs in the U.S.
United States
The United States of America is a federal constitutional republic comprising fifty states and a federal district...

; in the same period there were some 1.4 million practitioners employed in the U.S. in all other engineering disciplines combined. The label software engineer is used very liberally in the corporate world. Very few of the practicing software engineers actually hold Engineering degrees from accredited universities. In fact, according to the Association for Computing Machinery, "most people who now function in the U.S. as serious software engineers have degrees in computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

, not in software engineering". See also Debates within software engineering and Controversies over the term Engineer.

Regulatory classification

The U.S. Bureau of Labor Statistics
Bureau of Labor Statistics
The Bureau of Labor Statistics is a unit of the United States Department of Labor. It is the principal fact-finding agency for the U.S. government in the broad field of labor economics and statistics. The BLS is a governmental statistical agency that collects, processes, analyzes, and...

 classifies computer software engineers as a subcategory of "computer specialists", along with occupations such as computer scientist, programmer, and network administrator. The BLS classifies all other engineering disciplines, including computer hardware engineers, as "engineers".

The U.K. has seen the alignment of the Information Technology Professional and the Engineering Professionals.

Software engineering in Canada has seen some contests in the courts over the use of the title "Software Engineer". The Canadian Council of Professional Engineers (C.C.P.E. or "Engineers Canada") will not grant a "Professional Engineer" status/license to anyone who has not completed a recognized academic engineering program. Engineers qualified outside Canada are similarly unable to obtain a "Professional Engineer" license. Since 2001, the Canadian Engineering Accreditation Board has accredited several university programs in software engineering, allowing graduates to apply for a professional engineering licence once the other prerequisites are obtained, although this does nothing to help IT professionals using the title with degrees in other fields (such as computer science).

Some of the states in the United States regulate the use of terms such as "computer engineer" and even "software engineer". These states include Texas and Florida.

Education

About half of all practitioners today have degree
Academic degree
An academic degree is a position and title within a college or university that is usually awarded in recognition of the recipient having either satisfactorily completed a prescribed course of study or having conducted a scholarly endeavour deemed worthy of his or her admission to the degree...

s in computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 or information technology
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...

. A small, but growing, number of practitioners have software engineering degrees. In 1987, Imperial College London
Imperial College London
Imperial College London is a public research university located in London, United Kingdom, specialising in science, engineering, business and medicine...

 introduced the first three-year software engineering Bachelor's degree
Bachelor's degree
A bachelor's degree is usually an academic degree awarded for an undergraduate course or major that generally lasts for three or four years, but can range anywhere from two to six years depending on the region of the world...

 in the UK and the world; in the following year, the University of Sheffield
University of Sheffield
The University of Sheffield is a research university based in the city of Sheffield in South Yorkshire, England. It is one of the original 'red brick' universities and is a member of the Russell Group of leading research intensive universities...

 established a similar programme. In 1996, the Rochester Institute of Technology
Rochester Institute of Technology
The Rochester Institute of Technology is a private university, located within the town of Henrietta in metropolitan Rochester, New York, United States...

 established the first software engineering Bachelor's degree program in the United States, however, it did not obtain ABET
Abet
Abet may refer to:* Abet Guidaben , former Philippine Basketball Association basketball player* ABET, Inc., a non-profit organization that accredits higher education programs in applied science, computing, engineering, and technology....

 accreditation until 2003, the same time as Rice University
Rice University
William Marsh Rice University, commonly referred to as Rice University or Rice, is a private research university located on a heavily wooded campus in Houston, Texas, United States...

, Clarkson University
Clarkson University
-The Clarkson School:The Clarkson School, a special division of Clarkson University, was founded in 1978 as a unique educational opportunity. The School offers students an early entrance opportunity into college, replacing the typical senior year of high school with a year of college...

, Milwaukee School of Engineering
Milwaukee School of Engineering
The Milwaukee School of Engineering is a private university located in downtown Milwaukee, Wisconsin. MSOE is best known for its applications-oriented curriculum, close association with business and industry, and extremely high placement rate...

 and Mississippi State University
Mississippi State University
The Mississippi State University of Agriculture and Applied Science commonly known as Mississippi State University is a land-grant university located in Oktibbeha County, Mississippi, United States, partially in the town of Starkville and partially in an unincorporated area...

 obtained theirs. In 1997, PSG College of Technology in Coimbatore, India was the first to start a five-year integrated Master of Science degree in Software Engineering.

Since then, software engineering undergraduate degrees have been established at many universities. A standard international curriculum for undergraduate software engineering degrees was recently defined by the CCSE. , in the U.S., about 50 universities offer software engineering degrees, which teach both computer science and engineering principles and practices. The first software engineering Master's degree
Master's degree
A master's is an academic degree granted to individuals who have undergone study demonstrating a mastery or high-order overview of a specific field of study or area of professional practice...

 was established at Seattle University
Seattle University
Seattle University is a Jesuit Catholic university located in the First Hill neighborhood of Seattle, Washington, USA.SU is the largest independent university in the Northwest US, with over 7,500 students enrolled in undergraduate and graduate programs within eight schools, and is one of 28 member...

 in 1979. Since then graduate software engineering degrees have been made available from many more universities. Likewise in Canada, the Canadian Engineering Accreditation Board (CEAB) of the Canadian Council of Professional Engineers
Canadian Council of Professional Engineers
The Canadian Council of Professional Engineers , operating with the business name of Engineers Canada, is the national organization of the 12 provincial and territorial associations that regulate the practice of engineering in Canada...

 has recognized several software engineering programs.

In 1998, the US Naval Postgraduate School
Naval Postgraduate School
The Naval Postgraduate School is an accredited research university operated by the United States Navy. Located in Monterey, California, it grants master's degrees, Engineer's degrees and doctoral degrees...

 (NPS) established the first doctorate
Doctorate
A doctorate is an academic degree or professional degree that in most countries refers to a class of degrees which qualify the holder to teach in a specific field, A doctorate is an academic degree or professional degree that in most countries refers to a class of degrees which qualify the holder...

 program in Software Engineering in the world. Additionally, many online advanced degrees in Software Engineering have appeared such as the Master of Science in Software Engineering (MSE) degree offered through the Computer Science and Engineering Department at California State University, Fullerton
California State University, Fullerton
California State University, Fullerton is a public university located in Fullerton, California. It is the largest institution in the CSU System by enrollment, it offers long-distance education and adult-degree programs...

. Steve McConnell opines that because most universities teach computer science rather than software engineering, there is a shortage of true software engineers. ETS University and UQAM were mandated by IEEE to develop the SoftWare Engineering BOdy of Knowledge SWEBOK, which has become an ISO standard describing the body of knowledge covered by a software engineer .

Other degrees

In business, some software engineering practitioners have MIS or computer information systems degrees. In embedded systems, some have electrical engineering
Electrical engineering
Electrical engineering is a field of engineering that generally deals with the study and application of electricity, electronics and electromagnetism. The field first became an identifiable occupation in the late nineteenth century after commercialization of the electric telegraph and electrical...

, computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 with emphasis in "embedded systems" or computer engineering
Computer engineering
Computer engineering, also called computer systems engineering, is a discipline that integrates several fields of electrical engineering and computer science required to develop computer systems. Computer engineers usually have training in electronic engineering, software design, and...

 degrees, because embedded software often requires a detailed understanding of hardware. In medical software
Medical software
In computers, medical software is a significant branch of software engineering. Many medical devices that monitor or control patients are predominantly controlled by software. Medical devices are frequently regulated and must comply with local and regional laws. In the European Union, these...

, practitioners may have medical informatics, general medical, or biology degrees.

Some practitioners have mathematics
Mathematics
Mathematics is the study of quantity, space, structure, and change. Mathematicians seek out patterns and formulate new conjectures. Mathematicians resolve the truth or falsity of conjectures by mathematical proofs, which are arguments sufficient to convince other mathematicians of their validity...

, science
Science
Science is a systematic enterprise that builds and organizes knowledge in the form of testable explanations and predictions about the universe...

, engineering
Engineering
Engineering is the discipline, art, skill and profession of acquiring and applying scientific, mathematical, economic, social, and practical knowledge, in order to design and build structures, machines, devices, systems, materials and processes that safely realize improvements to the lives of...

, or technology
Technology
Technology is the making, usage, and knowledge of tools, machines, techniques, crafts, systems or methods of organization in order to solve a problem or perform a specific function. It can also refer to the collection of such tools, machinery, and procedures. The word technology comes ;...

 degrees. Some have philosophy
Philosophy
Philosophy is the study of general and fundamental problems, such as those connected with existence, knowledge, values, reason, mind, and language. Philosophy is distinguished from other ways of addressing such problems by its critical, generally systematic approach and its reliance on rational...

 (logic in particular) or other non-technical degrees. And, others have no degrees. For instance, Barry Boehm
Barry Boehm
Barry W. Boehm is an American software engineer, TRW Emeritus Professor of Software Engineering at the Computer Science Department of the University of Southern California, and known for his many contributions to software engineering.- Biography :...

 earned degrees in mathematics.

Employment

Most software engineers work as employees or contractors. Software engineers work with businesses, government agencies (civilian or military), and non-profit organizations. Some software engineers work for themselves as freelancer
Freelancer
A freelancer, freelance worker, or freelance is somebody who is self-employed and is not committed to a particular employer long term. These workers are often represented by a company or an agency that resells their labor and that of others to its clients with or without project management and...

s. Some organizations have specialists to perform each of the tasks in the software development process
Software development process
A software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...

. Other organizations required software engineers to do many or all of them. In large projects, people may specialize in only one role. In small projects, people may fill several or all roles at the same time. Specializations include: in industry (analysts
Requirements analysis
Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries or users...

, architects
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...

, developers
Software developer
A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...

, testers
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

, technical support
Technical support
Technical support or tech support refers to a range of services by which enterprises provide assistance to users of technology products such as mobile phones, televisions, computers, software products or other electronic or mechanical goods...

, managers
Project management
Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...

) and in academia (educators, researcher
Researcher
A researcher is somebody who performs research, the search for knowledge or in general any systematic investigation to establish facts. Researchers can work in academic, industrial, government, or private institutions.-Examples of research institutions:...

s).

There is considerable debate over the future employment prospects for Software Engineers and other IT
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...

 Professionals. For example, an online futures market called the Future of IT Jobs in America attempts to answer whether there will be more IT jobs, including software engineers, in 2012 than there were in 2002.

Certification

Professional certification of software engineers
Professional certification (Computer technology)
Professional certifications in computer technology are non-degree awards made to those who have achieved qualifications specified by a certifying authority. Depending on the particular certification, qualifications may include completing a course of study, proof of professional accomplishments,...

 is a contentious issue. Some see it as a tool to improve professional practice
Professional Engineer
Regulation of the engineering profession is established by various jurisdictions of the world to protect the safety, well-being and other interests of the general public, and to define the licensure process through which an engineer becomes authorized to provide professional services to the...

.

Most successful certification programs in the software industry are oriented toward specific technologies, and are managed by the vendors of these technologies. These certification programs are tailored to the institutions that would employ people who use these technologies.

The ACM
Association for Computing Machinery
The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...

 had a professional certification program in the early 1980s, which was discontinued due to lack of interest. , the IEEE had certified over 575 software professionals. In Canada the Canadian Information Processing Society
Canadian Information Processing Society
The Canadian Information Processing Society is the Information Technology professional society in Canada.The society certifies and regulates the Information Systems Professional designation in most provinces....

 has developed a legally recognized professional certification called Information Systems Professional
Information Systems Professional
The Information Systems Professional , or Informaticien professionnel agréé , is a professional designation issued by the Canadian Information Processing Society . Introduced in 1989, the professional designation is recognised by legislation in most provinces of Canada...

 (ISP).

Impact of globalization

Many students in the developed world have avoided degrees related to software engineering because of the fear of offshore outsourcing
Offshore outsourcing
Offshore outsourcing is the practice of hiring an external organization to perform some business functions in a country other than the one where the products or services are actually developed or manufactured. It can be contrasted with offshoring, in which the functions are performed in a foreign...

 (importing software products or services from other countries) and of being displaced by foreign visa workers
Foreign Worker Visa
A Foreign Worker visa is an immigration document that allows a foreign national to temporarily live and work in a country. Ideally, such foreign nationals remedy a skill shortage in the host country, which gains support of business groups.-See also:...

. Although government statistics do not currently show a threat to software engineering itself; a related career, computer programming
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...

 does appear to have been affected. Often one is expected to start out as a computer programmer before being promoted to software engineer. Thus, the career path to software engineering may be rough, especially during recessions.

Some career counselors suggest a student also focus on "people skills" and business skills rather than purely technical skills because such "soft skills" are allegedly more difficult to offshore. It is the quasi-management aspects of software engineering that appear to be what has kept it from being impacted by globalization.

Prizes

There are several prizes in the field of software engineering:
  • The CODiE awards
    Codie awards
    The CODiE awards are annual awards issued by the Software and Information Industry Association for excellence in software development within the software industry....

     is a yearly award issued by the Software and Information Industry Association for excellence in software development the software industry.
  • Jolt Awards
    Jolt Awards
    The Jolt Awards are awards in the software industry.Since 1990, the Dr. Dobb's Jolt Product Excellence Awards have been presented annually to showcase products that have "jolted" the industry with their significance and made the task of creating software faster, easier, and more efficient.Jolt Cola...

     are awards in the software industry.
  • Stevens Award
    Stevens Award
    The Stevens Award is a software engineering award given in memory of Wayne Stevens. The international Stevens Award was created to recognize outstanding contributions to the literature or practice of methods for software and systems development...

     is a software engineering award given in memory of Wayne Stevens.

Suitability of the term

Typical formal definitions of software engineering are:
  • "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software".
  • "an engineering discipline that is concerned with all aspects of software production"
  • "the establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines"

The term has been used less formally:
  • as the informal contemporary term for the broad range of activities that were formerly called programming and systems analysis
    Systems analysis
    Systems analysis is the study of sets of interacting entities, including computer systems analysis. This field is closely related to requirements analysis or operations research...

    ;
  • as the broad term for all aspects of the practice of computer programming, as opposed to the theory of computer programming, which is called computer science
    Computer science
    Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

    ;
  • as the term embodying the advocacy of a specific approach to computer programming, one that urges that it be treated as an engineering
    Engineering
    Engineering is the discipline, art, skill and profession of acquiring and applying scientific, mathematical, economic, social, and practical knowledge, in order to design and build structures, machines, devices, systems, materials and processes that safely realize improvements to the lives of...

     discipline rather than an art or a craft, and advocates the codification of recommended practices.


Many people believe that software engineering implies a certain level of academic training, professional discipline, adherence to formal processes, and especially legal liability that often are not applied in cases of software development. A common analogy is that working in construction
Construction
In the fields of architecture and civil engineering, construction is a process that consists of the building or assembling of infrastructure. Far from being a single activity, large scale construction is a feat of human multitasking...

 does not make one a civil engineer
Civil engineer
A civil engineer is a person who practices civil engineering; the application of planning, designing, constructing, maintaining, and operating infrastructures while protecting the public and environmental health, as well as improving existing infrastructures that have been neglected.Originally, a...

, and so writing code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 does not make one a software engineer. It is disputed by some - in particular by the Canadian Professional Engineers Ontario
Professional Engineers Ontario
Professional Engineers Ontario, PEO, is the self-regulatory body that governs Ontario's 73,000 professional engineers, and sets standards for and regulates engineering practice in the province. It has a statutory mandate under the Professional Engineers Act of Ontario to protect the public interest...

 (PEO) body, that the field is not mature enough to warrant the title "engineering". The PEO disputed that "software engineering" was not an appropriate name for the field since those who practiced in the field and called themselves "software engineers" were not properly licensed professional engineers, and that they should therefore not be allowed to use the name.

In each of the last few decades, at least one radical new approach has entered the mainstream of software development (e.g. Structured Programming
Structured programming
Structured programming is a programming paradigm aimed on improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures and for and while loops - in contrast to using simple tests and jumps such as the goto statement which could...

, Object Orientation
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

), implying that the field is still changing too rapidly to be considered an engineering discipline. Proponents argue that the supposedly radical new approaches are evolutionary rather than revolutionary.

Individual commentators have disagreed sharply on how to define software engineering or its legitimacy as an engineering discipline. David Parnas
David Parnas
David Lorge Parnas is a Canadian early pioneer of software engineering, who developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today. He is also noted for his advocacy of precise documentation.- Biography :Parnas earned...

 has said that software engineering is, in fact, a form of engineering. Steve McConnell
Steve McConnell
Steven C. McConnell is an author of many software engineering textbooks including Code Complete, Rapid Development, and Software Estimation...

 has said that it is not, but that it should be. Donald Knuth
Donald Knuth
Donald Ervin Knuth is a computer scientist and Professor Emeritus at Stanford University.He is the author of the seminal multi-volume work The Art of Computer Programming. Knuth has been called the "father" of the analysis of algorithms...

 has said that programming is an art and a science. Edsger W. Dijkstra claimed that the terms software engineering and software engineer have been misused, particularly in the United States
United States
The United States of America is a federal constitutional republic comprising fifty states and a federal district...

.

Regulatory classification

The U.S. Bureau of Labor Statistics
Bureau of Labor Statistics
The Bureau of Labor Statistics is a unit of the United States Department of Labor. It is the principal fact-finding agency for the U.S. government in the broad field of labor economics and statistics. The BLS is a governmental statistical agency that collects, processes, analyzes, and...

 classifies computer software engineers as a subcategory of "computer specialists", along with occupations such as computer scientist, programmer, and network administrator. The BLS classifies all other engineering disciplines, including computer hardware engineers, as "engineers".

The U.K. has seen the alignment of the Information Technology Professional and the Engineering Professionals.

In New Zealand, IPENZ, the professional engineering organization entrusted by the New Zealand government with legal power to license and regulate chartered engineers (CPEng), recognizes software engineering as a legitimate branch of professional engineering and accepts application of software engineers to obtain chartered status provided he or she has a tertiary degree of approved subjects. Software Engineering is included but Computer Science is normally not.

In Canada, the use of the job title "Engineer" is controlled in each province by self-regulating professional engineering organizations, often aligned with geologists and geophysicists, and tasked with enforcement of the governing legislation. The intent is that any individual holding themselves out as an engineer (or geologist or geophysicist) has been verified to have been educated to a certain accredited level, and their professional practice is subject to a code of ethics and peer scrutiny. This system was originally designed for the practise of engineering where public safety is a concern, but extends to other branches of engineering as well, including electronics and software . Software engineering in Canada has seen some contests in the courts over the use of the title "Software Engineer" The Canadian Council of Professional Engineers (C.C.P.E. or "Engineers Canada") will not grant a "Professional Engineer" status/license to anyone who has not completed a recognized academic engineering program. Engineers qualified outside Canada are similarly unable to obtain a "Professional Engineer" license. Since 2001, the Canadian Engineering Accreditation Board has accredited several university programs in software engineering, allowing graduates to apply for a professional engineering licence once the other prerequisites are obtained, although this does nothing to help IT professionals using the title with degrees in other fields (such as computer science).

Some of the United States of America regulate the use of terms such as "computer engineer" and even "software engineer". These states include at least Texas and Florida. Texas even goes so far as to ban anyone from writing any real-time code without an engineering license.

See also

  • Bachelor of Science in Information Technology
    Bachelor of Science in Information Technology
    A Bachelor of Science in Information Technology, , is a bachelor's degree awarded for the completion of an undergraduate course or program in information technology....

  • Bachelor of Software Engineering
    Bachelor of Software Engineering
    A Bachelor of Software Engineering is an undergraduate academic degree awarded for completing a program of study in the field of software development for computers in information technology....

  • Consulting software engineer
    Consulting software engineer
    In the field of software engineering, the term consulting software engineer denotes a person who represents the customer's interests with, e.g., the project team actually building a software system, application or software product....

  • Software engineering demographics
    Software engineering demographics
    There are many software engineers. Canada, the European Union, Japan, and Australia will probably find corresponding numbers of SE practitioners.- India :There has been a healthy growth in the number of India's IT professionals over the past few years...

  • Software Engineering Institute
    Software Engineering Institute
    The Carnegie Mellon Software Engineering Institute is a federally funded research and development center headquartered on the campus of Carnegie Mellon University in Pittsburgh, Pennsylvania, United States. SEI also has offices in Arlington, Virginia, and Frankfurt, Germany. The SEI operates...

  • Software engineering professionalism
    Software engineering professionalism
    Software engineering professionalism regards software engineering's struggle to be considered as a profession. It was hampered by the common perception that it's merely the application of computer science...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK