Talk:Software engineering

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Not Engineers[edit]

I see that there is a discussion of this subject in the article. I just want to weigh in that programmers are not engineers because they do not work with physics. All engineering disciplines work with physics, such as kinematics, thermodynamics, or electromagnetics. The naming of this article, as opposed to it simply being a redirect to programmer, is propagating this misuse of the term engineer. —Preceding unsigned comment added by (talk) 15:22, 12 June 2008 (UTC)

With this definition, is it even possible to have a Software "Engineering" discipline or title. It is a stretch to say that Software Engineers use physics (or an understanding of physics) in their daily activities to develop software. Granted, the more a software developer gets into electronics, you could argue that they are an engineer, but... Maybe they ought to call it "Firmware Engineering".  :) Srfleckenstein (talk) 13:06, 13 June 2008 (UTC)

What's the source for the assertion that "All engineering disciplines work with physics?" One dictionary definition of engineering is:
1a. The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.
I don't see any restriction in there to physics. Surely chemical engineering is a discipline, but it is based on applications of chemistry, not physics. MIT, whose opinion ought to count for something, has a department of "biological engineering." A discipline of "agricultural engineering" has existed since the early 1900s.
I don't much like the term "software engineering". I think it carries a lot of ideological baggage with it. To my way of thinking, software development is still very much an art and will be for a very long time. But that's beside the point. The first thing is that it is a well-defined term in widespread use. You might as well complain that there is no such thing as an automobile, because they don't really move by themselves... or that the phrase "steep" learning curve should mean something that is learned very quickly... or that "taxpayer dollars" should be "taxpayer's dollars." It's beside the point. The language is what it is.
And the reason why software engineering is a misnomer is not that software engineering does not involve physics. It is that it is very hard to find any examples of the use of science or mathematics in a software engineering textbook. Dpbsmith (talk) 01:37, 15 June 2008 (UTC)
Financial engineering is another example of an engineering discipline which has nothing to do with physics. Wikipedia has its definition as:
Financial engineering is a multidisciplinary field relating to the creation of new financial instruments and strategies, typically exotic options and specialized interest rate derivatives. The field applies engineering methodologies to problems in finance, and employs financial theory and applied mathematics, as well as computation and the practice of programming; see computational finance
Ug. Most software work is like mechanic work. Parts are put together until they work. Some is more difficult, but its execution is closer to mathematics. Art is a better term for this work.Mlprater (talk) 23:14, 26 August 2012 (UTC)
The term "software engineering" is widely in use and I believe qualifies as an engineering discipline. The key is that software engineering does apply "engineering methodologies". As a simple and very concrete example, software engineers apply computer science principles to predict the asymptotic performance of algorithms, and to design an algorithm which has sufficient performance for its application. Xiphoris (talk) 01:30, 11 July 2011 (UTC)
As a very concrete example, when is the last time you had a warranty concern from a tolerance stack-up because your materials varied over time due to unprecedented meteorological events? Would a "software engineer" even know what I am talking about?Mlprater (talk) 23:18, 26 August 2012 (UTC)

Chemical Engineering is a discipline of engineering that is based on application of physics, mathematics, and chemistry. Formal Chemical Engineering curriculum involves only one or two more chemistry courses over what students in other engineering disciplines have to take. —Preceding unsigned comment added by (talk) 16:46, 23 July 2008 (UTC)

This is an old debate. Steve McConnell has responded to these types of attacks before:
There is no need for this debate. We are all (programmers, software developers, architects, software engineers, etc.) just trying to make the process of creating software better and easier (ie make the world a better place). Let us do that and not create destructive debates between us. Lwoodyiii (talk) 01:58, 31 December 2008 (UTC)
There is a serious need for this debate. Engineers add value to tangible objects. Those who write software do not. Adding value to tangible objects requires that you employ many people. Writing software does not. There is a mountain of difference from the perspective of measuring the behavior of societies. But, alas, I think that most of the authors of this page are from the US, and it is going to be a long time before folks in the US wake up to this.Mlprater (talk) 23:23, 26 August 2012 (UTC)

I think this article must also include the list of the popular books.. —Preceding unsigned comment added by Pranuthi (talkcontribs) 05:01, 24 April 2009 (UTC)

Engineering does not have to have anything to do with physics, even if you you are using the most narrow meaning of the word. The term "engineering" is derived from ingeniā, meaning to design. That design doesn't require the application of physics. —Preceding unsigned comment added by (talk) 17:42, 5 October 2010 (UTC)
That's wrong. Designing does not have physical boundary conditions. I can draw a pencil-thin building that's 200 stories high. That's designing. Applied engineering is bound by physics.Mlprater (talk) 23:26, 26 August 2012 (UTC)

The fact is that much work is done to insulate programmers from having to consider hardware, communications, and the constraints they impose. This should not obscure the fact that there are significant trade-offs to be considered, and alternative solutions to be conceived and evaluated at the interface between hardware and software. Why is the hardware side of the line considered engineering and the software side of the line not? At what point in moving away from the hardware are we no longer engaged in engineering? (talk) 21:23, 17 July 2011 (UTC)

Is the definition of "engineering" written in stone?! May I ask you to do a little research on the etymology of "Engineering" and "Engineer" words? Let me enlighten you my "religious" friend! Engineer (n.) mid-14c., enginour, "constructor of military engines," from Old French engigneor "engineer, architect, maker of war-engines; schemer" (12c.). Need I say more?! Dijsktra is known for many things, rightfully respected by many, but he is not a saint or prophet, same thing goes for many many famous people throughout the history. Software Engineering is engineering according to the contemporary meaning/definition of the word. Keep your "religion" out of it! (talk) 21:52, 24 September 2014 (UTC)

Dijkstra and Software Engineering[edit]

Does anyone understand Dijkstra well enough to know exactly what he had against software engineering?


The required techniques of effective reasoning are pretty formal, but as long as programming is done by people that don't master them, the software crisis will remain with us and will be considered an incurable disease. And you know what incurable diseases do: they invite the quacks and charlatans in, who in this case take the form of Software Engineering gurus. (talk) 01:50, 24 August 2008 (UTC)

I'm not sure this discussion really belongs here, but I suppose it is relevant to the controversy about the term. I can't claim to be a Dijkstra expert, but I suspect, asked what he thought of software engineering, Dijkstra's answer might have been similar to Gandhi's when asked what he thought of western civilization: "I think it would be a good idea!". I think Dijkstra would have argued that programming requires effective reasoning and the application of computer science, based on mathematics, and would not have expected that from the "software engineering gurus", who, he might claim, were misusing the term (see also the Dijkstra quote in footnote 20). In other words, I don't think Dijkstra had anything against "software engineering", as he would have wanted the term to be used, but he had something against "software engineering gurus" and against something inaccurately called "software engineering" by others. --Boson (talk) 10:44, 24 August 2008 (UTC)

I think Dijkstra saw computer science as based entirely on mathematics. He once made a statement to the effect that the poorer mathematicians should not go into the field of *computer science*. However, software engineering tends to be a field at a higher level of abstraction than the studies of mathematics esp. algorithms and data structures, and so perhaps most of the mathematical principles would not be relevant in SE, so I don't think he was making a criticism against the emerging discipline at all. But who knows...

The bigger picture[edit]

I wonder if the current article is missing the bigger picture. In the introduction this article mentions the Software development process, but the article itself explains a lot of details about the current situation. It is all well referenced and all. But I keep the feeling this article isn't giving a proper general introduction of the field. It seems to be written for all software engineers to tell them about the current events.

I think the current article is missing the bigger picture and is at first written for the wrong audience. I think it should at first focuss on all non software engineers. It should at first explain the wifes, childs and school kids about software engineering...!? I have compare this article with the featured Electrical engineering article, and think that that article is giving much more basic information.

Now don't get me wrong. I think this article is giving a lot of valuable information. I would like to move most of this info to other data and recreate an article here much more basic, for a larger audience. -- Marcel Douwe Dekker (talk) 00:12, 20 October 2008 (UTC)

As a start I have moved:
I just noticed most of this work seems to be written by one anominous user User around 2004. -- Marcel Douwe Dekker (talk) 15:09, 20 October 2008 (UTC)

A new Software Engineering template[edit]

This discussion started on Template talk:Software development process and Template talk:Software Engineering.

I designed a new Template:Software Engineering template here to replace the existing Template:Software development process‎. This new template has more possibilities to give a more detailled view on the field. At the moment some of the parts needs some more work, as always. -- Marcel Douwe Dekker (talk) 20:15, 20 October 2008 (UTC)

I disagree that it should replace that template. That template is about a multidisciplinary process that includes software engineering but is not summed up by software engineering. Software engineering describes a skill that evolves much faster than any one process. You are doing both software engineers and those who work with software engineers a disservice by trying to monopolize all the software development terminology under the umbrella of "software engineering." Oicumayberight (talk) 03:04, 21 October 2008 (UTC)
You opposition makes no sense to me. The new template is based on the statement, that "the software development process is the central issue in software engineer, and software engineering is the main discipline studying the software development process". You keep denying this. Now I told you I could list a dozend Software Engineering introduction books. I will name two:
This is this first mayor publications 40 years ago with the central issues: DESIGN, PRODUCTION and SERVICE in the main chapters 4 to 6. Fig 1 on page 11 already gives an overview of the THE SYSTEM DEVELOPMENT PROCESS PHASE AND FUNCTIONS with Some problems in the production of large-scale software systems.
Sommervill explains here:
Software engineering is concerned with theories, methods and tools for professional software development. It is an engineering discipline that is concerned with all aspects of software production. System engineers are involved in system specification, architectural design, integration and deployment.
Now I can go on and on. But this is not the point. I think in Wikipedia the Systems engineering articles and the articles about the Software development process‎ should be better integrated. Keeping two templates here is only confusing. Now there is still a lot of work here:
  1. This article should better express the relation with the Software development process‎
  2. The previous (good) article here could maybe be recreated in Wikibooks.
  3. The two Software development and Software development process‎ should be better integrated
  4. The List of basic software engineering topics or Topic outline of software engineering can be improved.
  5. There is a needs for a better understanding about the Prominent figures in the history of software engineering.
  6. There is a need for more illustrations in the software engineering articles
  7. And last but not least, the Software Engineering template
The new Software Engineering template is just in first step in improving the field of Software engineering in Wikipedia. I would like to go own, and could use some help and feed back.
-- Marcel Douwe Dekker (talk) 12:55, 21 October 2008 (UTC) & Jerzyt 19:26, 9 February 2009 (UTC)) (bypassed Dab at former bio title)
You can try to oversimplify it by saying that software engineering is the main discipline. I'm sure there are product developers and project managers that would disagree with you, but that's beside the point. The point is that software development is multidisciplinary. You're trying to pull the disciplines of "software development" that have little to do with engineering under the umbrella of "software engineering" as if those functions are a less important subclass of engineering. Oicumayberight (talk) 00:04, 22 October 2008 (UTC)
Yes software development is multidisciplinary, and software engineering is interdisciplinair. Computer scientists from different fields have joint together for over 40 years now and have build the theory about software development under the flag of software engineering. These are the facts. Look for software development in Google books and you find all books which classify as software engineering.
The main problem here is the current representation of software engineering and software development in Wikipedia, which could use some serious improvement. I hope to support this with this template. -- Marcel Douwe Dekker (talk) 09:53, 22 October 2008 (UTC)
The other template was better because it laid it out in steps and was highly visible at the top for those who may have only been interested in a particular step. I know that software engineering is not a step-by-step process, so I think it's futile to have software engineering template replace the software development process template. There should be two separate templates, one for the broader software development process and the other for the field or skill of software engineering. Your oversimplifying both subjects by merging the templates. Oicumayberight (talk) 22:38, 22 October 2008 (UTC)
Now you are simplifying
  • The two templates are different in structure, and number of items, and the placement in the article
  • I think highly visible at the top should be first of all an image reflecting the subject on hand, not a template to navigate. There should be more images, which is motivation for young ond old. And if there are images, than the old vertical template is getting in the way.
Your oversimplifying doesn't stand here. The old template is the simplification. And there are no two subjects. There is systems engineering here, and for example Softwaretechnik in Germany. That is the main umbrella here. And more sophisicated: systems engineering being part of computer science, being related to multiple other sciences involved in software development. But there is not a separate field of "software development process", you keep saying. -- Marcel Douwe Dekker (talk) 23:40, 22 October 2008 (UTC)
P.S. I have restored the {{software development process}} for now, untill we can find a better solution here.
Suggesting that there should be two separate templates is not over-simplifying. I'm not suggesting that the software development process template be a part of this article. I didn't say that the software development process is a field. I said that software engineering is a field, that's why it didn't work to merge it with a template that was about a process. Perhaps the idea of more continuity and flow between the articles is just not possible without over-simplifying some of the articles. Oicumayberight (talk) 00:15, 23 October 2008 (UTC)
I agree to keep them both untill there is a better solution. -- Marcel Douwe Dekker (talk) 00:56, 23 October 2008 (UTC)

Get this article to featured or good status[edit]

As you've probably noticed, I'm made a good number of changes to this article lately (hopefully for the better :) This article will most likely go into the 1.0 Release Version of Wikipedia and it is an important article. I'd like to work with Wikipedians to improve it substantially. User:Mdd pointed out that the Electrical Engineering article is featured and would be a good guide for our article. I wholeheartedly agree. Lwoodyiii (talk) 01:51, 31 December 2008 (UTC)

The main photo needs a caption. Oicumayberight (talk) 00:21, 1 January 2009 (UTC)
All done. Thank you for the tip. Lwoodyiii (talk) 22:44, 1 January 2009 (UTC)

Electrical Engineering Article[edit]

One thing I noticed in this article is that they don't re-direct users to other wikipedia articles in the main sections. We tend to do that a lot with this article (e.g. "History" and "Profession"). I think we should merge the good info in these articles into this one. What do you think? Lwoodyiii (talk) 01:51, 31 December 2008 (UTC)

The use of the word "Engineer"[edit]

Software Engineers are engineers according to the definition:

"a person trained and skilled in the design, construction, and use of engines or machines, or in any of various branches of engineering: a mechanical engineer; a civil engineer."

They are also Computer Scientists according to the definition:

"a person with advanced knowledge of one or more sciences" —Preceding unsigned comment added by Dprust (talkcontribs) 20:00, 3 February 2009 (UTC)

Merge discussion[edit]

I'm proposing that anything that is useful in software product lines should come in here. There doesn't seem to any point in having a separate article on that topic. Or perhaps some could go into software, or perhaps nothing's salvageable at all? Itsmejudith (talk) 15:41, 24 February 2009 (UTC)

Hi, I considered your proposal and have three points
  • The concept Software product lines seems notable enough to have an article of it's own. It seems that article could use some good work.
  • The two articles you consider Software engineering and computer software (there is no software article) are kind of "main articles", which should only explain the most important concepts in the field. It should remain only an introduction to the over 250 articles in this field.
  • You could consider merging this articles in the software system or software development article, because they seem just as related.
I personly would prefer the first option. -- Marcel Douwe Dekker (talk) 20:19, 24 February 2009 (UTC)
I agree that the Software product lines page should be marked for improvement rather than merge. Software product line development focuses a great deal on product planning and organizational structures, software engineering is one of the disciplines involved in the realization of a software product line.
Can we say that if there's no further objection, the article can be tagged as a stub and the merge tag can be removed at the end of May? – JWBito (talk) 05:01, 4 May 2010 (UTC) (May the 4th be with you!)
Support closure of merge discussion (result = no merge), and removal of merge tag.--Boson (talk) 06:06, 4 May 2010 (UTC)

It appears that the article title and the article content don't match. When I think of software product lines, I think of a Software suite, software classification or an application software category. Oicumayberight (talk) 18:46, 3 March 2009 (UTC)

If you read the literature on software product lines (for instance the SEI overview), you'll see that the term is not used to mean a category of application software. – JWBito (talk) 05:01, 4 May 2010 (UTC)

First software doctorate claim[edit]

I think it would be good to investigate this claim in particular with the creation in 1993 of the Software Engineering program at Oxford university which used to include a Phd ? [1]
Ghaag (talk) 05:13, 27 February 2009 (UTC)

Sketchy response: the Oxford University Gazette listed an amendment to the regulations for the D.Phil in Software Engineering, in April 1999. Internal records suggest that candidates were being admitted in April 1998, but I cannot find the original Gazette entry establishing the D.Phil programme (and, for information, no students have been admitted since 2004). Apmapmapm (talk) 13:48, 27 March 2009 (UTC)

Professional Certification[edit]

I think the paragraphe highlighting the predominance of proprietary certification is relevant. The fact in itself seem to me to be undisputable but I agree that finding the right reference is not straightforward. What would constitute a good reference in this case ?
Ghaag (talk) 00:19, 3 March 2009 (UTC)

Something other than Wikipedia would be a good start. Perhaps you can find an article in a trade magazine that makes an assertion along those lines. The paragraph itself might also be somewhat less controversial if it didn't include the word "successful" (by what metric is "success" being judged?). --Allan McInnes (talk) 04:05, 3 March 2009 (UTC)
I agree that proprietary certification is relevant, but the CSDP[2] is probably the most closely aligned with Software Engineering. Unfortunately, it has not become that relevant. I would think that the Oracle, Sun Java, and Microsoft cert's are the most relevant, but it should be noted that they are aligned with technologies and not software engineering per se. Lwoodyiii (talk) 23:00, 4 March 2009 (UTC)

Merge with Software Engineer[edit]

I am proposing to merge this article with Software engineer. The two articles treat the same topic and share several sections verbatim. I Do not see the point of keeping them separate. Ghaag (talk) 13:02, 3 March 2009 (UTC)

The software engineer article is the place to give detailled information about the profession. Now in the past some guys added a lot of detailled information about the profession here, instead of there. I copied most of it to that article, and that is why there are several similair sections.
Better just remove the double sections and write a new summery here. -- Marcel Douwe Dekker (talk) 13:18, 4 March 2009 (UTC)
I agree with the merge. A software engineer does software engineering. Electrical Engineer has a re-direct to the FA Electrical Engineering. Lwoodyiii (talk) 22:53, 4 March 2009 (UTC)
We both agree the the FA Electrical Engineering is a good example. In that article about 20% is about the profession of the electrical engineers. If you merge the software engineer article here, about 60 to 80% of that article will be about the profession. And most of that is also US oriented facts about the current situation.
I think an overview article on a subfield of science should introduce what it is all about. A merged article will agian look like a checklist for the junior software engineer. -- Marcel Douwe Dekker (talk) 23:22, 4 March 2009 (UTC)
I see this pattern all over wikipedia. One article should be about the process and skills involved. The other article should be about the career and qualifications for the profession. Even if it gets merged, it will probably keep getting split into separate articles. Oicumayberight (talk) 23:41, 4 March 2009 (UTC)
There is a prior occurrence of a merged practice/practitioner article split again afterward. Do you have a specific example (I'm getting obsessed with refs).
Marcel Douwe Dekker, your point about the quality of software engineer strikes me as good reason to merge as it would make the each article's flaws more obvious and therefore likely to be addressed.
Could we prototype a merged article somewhere?
Ghaag (talk) 01:29, 5 March 2009 (UTC)
I don't understand your argument, and I wonder if you have understood mine. But your last question I can answer. Just start a User:Ghaag/Software engineering sub-userpage article. -- Marcel Douwe Dekker (talk) 01:43, 5 March 2009 (UTC)
I did understand something which I hope was what you meant but I don't think that speculations on message integrity are productive in this case. Thanks for the tip. Can other editors contribute to sub-userpage articles ?
Did you notice the redirect on Software Engineer but not on Software engineer?
Ghaag (talk) 04:37, 5 March 2009 (UTC)
My argument is not about message integrity, but about message composition, article composition in fact. Six months ago, see here, the software engineer was redirected here and that article was 75% about the software engineer. And here is a huge difference with related overview article like Computer science, Electrical engineering, software engineer, and systems engineering.
On userpage and sub-userpage you are on your own. Other editors are not to edits these user pages, unless to make necessary corrections. These redirects happen all the time, I will correct it. -- Marcel Douwe Dekker (talk) 14:27, 5 March 2009 (UTC)

This article should be improved a lot[edit]

The 1988 Airbus airshow crash was *not* attributed to software problems, according to the official aircrash investigation report. It is speculation only, and the statement should be removed from image caption. —Preceding unsigned comment added by (talk) 05:55, 9 October 2010 (UTC)

History section[edit]

I've just stoped by the history section on this arcticle and have to say, from my POV, it discuss a lot of peripheral things, but history of software engineering is not one of them. When the term started to be used? Who where the pioneers in studying and applying engineering practices to software construction? What where the controversies at the time? Who participated, or how traditional engineers reacted? How, exactly, the discipline evolved, and what trends where developed? What is the relationship between the development of software engineering and the so called software crisis at the time? What is the current state of affairs??? —Preceding unsigned comment added by (talk) 03:26, 2 May 2009 (UTC)

Software development methodology[edit]

Hi, there are two proposals concerning the Software development methodology article:

Could anybody interested comment on both items. Thank you. -- Marcel Douwe Dekker (talk) 11:10, 18 May 2009 (UTC)


Pabitra 777 (talk) 17:52, 9 August 2009 (UTC)Caching is the technique of storing an in-memory copy of some information that’s expensive to create. For example, you could cache the results of a complex query so that subsequent requests don’t need to access the database at all. Instead, they can grab the appropriate object directly from server memory.

ASP.NET really has two types of caching Output caching: It store a copy of the final rendered HTML page that is sent to the client. So when next client submit a request for this page ,It doesn’t actually run the page. Instead, the final HTML output is sent automatically. Data caching : Store important pieces of information that are time-consuming to reconstruct (such as a DataSet retrieved from a database) in the cache.

Other pages can check for the existence of this information and use it. Data caching is conceptually the same as using application state, But it’s much more server friendly because items will be removed from the cache automatically when it grows too large and performance could be affected

Output Caching When the same page is requested again, the control objects are not created, the page life cycle doesn’t start, and none of the code executes. Instead, the cached HTML is served. The rendered contents of the page are cached for every user that requests the page.

Certification in Israel[edit]

I can't find any reference to Software Engineering on the Architects and Engineers Registrar website linked to from the article. The assertion that "[in Israel a] software engineer has the right to be written in the engineering registry" should in my opinion either be removed or have a valid citation added. (talk) 21:14, 28 April 2010 (UTC)


I suggest a change to the intro. Depending on the jurisdiction, software engineering is either a profession or a vocation. One of the staples of a profession is licensure to practice (e.g., lawyers, doctors, dentists, etc). The status of software engineering licensure, and by extension professional status, varies jurisdictionally. I respectfully suggest we modify the intro to refer to SE as a profession or vocation. Sawagner201 (talk) 04:43, 1 May 2010 (UTC)

To me that is a rather restricted definition of profession , i.e. what in Europe would be called a liberal profession. In British English at least, I would say profession can be used in that sense, but in this context I would understand it to mean profession as defined in Wiktionary. --Boson (talk) 09:17, 1 May 2010 (UTC)

The term Engineer across Canada is a protected professional term similar to Doctor, Dentist etc. By extension software engineer is also a protected term. Association of Professional Engineers and Geo-scientists of Saskatchewan (APEGS) controls who can use the term engineer. It requires the person to have completed an accredited degree in engineering (not computer science). They must pass the requirements to become a professional engineer (P. eng). Only then are they able to call themselves an engineer. This document states ...however, there is no legal requirement to have these qualifications. This couldn't be further from the truth. Engineering of any type is protected under The Engineering and Geoscience Professions Act. In this document it outlines the following, 26(1) No person other than a professional engineer shall use the title “Professional Engineer”, “Engineer”, “Consulting Engineer” or the abbreviation “P.Eng.”, either alone or in combination with any other word, title or designation, abbreviated or otherwise, to imply that he or she is a professional engineer. This clearly shows that Software Engineer would be protected under this provincial legislation. Each province has similar legislation that protects the term. — Preceding unsigned comment added by (talk) 19:51, 1 June 2011 (UTC)

Watz it al abt —Preceding unsigned comment added by (talk) 10:22, 9 July 2010 (UTC)

New PE exam discipline[edit]

A new exam in this new discipline is pending (US) Software Engin exam--Billymac00 (talk) 04:13, 14 July 2010 (UTC)


Is it encyclopedic to give bill rates? If so, from an international point of view, we should then give rates in other major markets. Besides which, do we give rates for lawyers, plumbers etc.? --Boson (talk) 05:00, 31 August 2010 (UTC)

Probably not. It's likely to fluctuate and rapidly become out of date anyway. --Allan McInnes (talk) 00:18, 1 September 2010 (UTC)

I would advocate the inclusion of rates as the article spends a great deal of time emphasizing the employment of the Software Engineer, the loss of jobs to off shore components, and the lack of freshers entering this work force. The example rate specified is an IBM rate and has not changed in seven years. Therefore, it cannot be considered in flux. Since Software Engineering profession is a bonafide Global profession, with a Global Service Delivery model, it may be useful to list other markets from around the world to illustrate the diverse compensatory levels. In the 1990s, Indian resources made one-tenth of Western compensation levels, but in the last few years, they now exceed Western compensation levels. --John Green (talk) 20:42, 9 September 2010 (UTC)

It doesn't seem to appear typically based on a really quick check. Such info is not normally considered encyclopedic. AliveFreeHappy (talk) 21:19, 9 September 2010 (UTC)
Ok, perhaps we can represent the concept without using actual monetary amounts. The theme of the section is about employment of Software Engineers. The theme of the article is about the changes over the last few decades. The concepts that should be represented are (1) freshers can make a decent living as a noob Software Engineer; (2) Veteran Software Engineers, through the magic of remote internet working, can make five to six times what freshers would make in the same calendar year; (3) top-tier consulting firms bill extradinarily high hourly rates, challenging those billed by attorneys or other white-collar professionals (blue-collar are construction workers, assembly line workers and the like; white-collar workers are lawyers, desk-type professional workers, engineers, etc); (4) if employed by a top-tier consulting firm like IBM, the consultant's cut of the hourly rate in the form of direct compensation is only a minority share of the rate, the company absconds with the rest. Can you suggest some creative language that would drive these points out as an alternative to what is currently presented? --John Green (talk) 12:02, 10 September 2010 (UTC)
What sources are you using for this so I can try to read up on it? AliveFreeHappy (talk) 16:40, 10 September 2010 (UTC)
There are sources listed in the article. You might find more information if you want to read extensively at . There are lots of individual job reqs you can use to piece together experience and compensation level.,, and provide good views of job reqs. Futurestep (by Korn Ferry) is probably the one with the most global emphasis. Over the years, there have been lots and lots and loads of articles about teleworking, IT internships, and high-technology company practices, so you shouldn't have much difficulty googling some articles that talk about that. The IBM employee message board listed in the article is a great source for IBM bill rate info and IBM consultant direct compensation info. If you look at you get a load of what the freshers in India are facing now. In high-tech industrial cities there, lots of inflation over the last decade due to the dramatic rise in fresher compensation. and are also great sources. Good luck. Post back with specific questions and I can help you find info. --John Green (talk) 17:08, 10 September 2010 (UTC)
Ok, that helps. But what I'm trying to avoid is original research. Namely, if I go and make a bunch of comparisons on my own based on reading pages, and draw some conclusions from it, it's not allowed on wikipedia. So what I'm interested in is sources that say what you say, IE sources that talk about not the pay of a particular job, but actually discuss the comparisons you make. AliveFreeHappy (talk) 17:11, 10 September 2010 (UTC)
Here are a couple of related articles. I'll continue researching for articles that highlight this info. --John Green (talk) 18:22, 10 September 2010 (UTC)
Cool, I'll try and check them out and see what we can do. AliveFreeHappy (talk) 22:14, 10 September 2010 (UTC)

Cleaning up the Sub-disciplines Section[edit]

The Sub-disciplines Section includes disciplines other than the 10 disciplines outlined in the SWEBOK reference. Some disciplines have different names from those in the SWEBOK reference. I will clean up this section to conform with the SWEBOK reference. — Preceding unsigned comment added by Knowledge Examiner (talkcontribs) 16:27, 13 October 2011 (UTC)

Defintion of Software Engineering should be that from SWEBOK[edit]

The definition of software engineering should that of the IEEE SWEBOK reference because it is a consensus secondary source while any other definitions should be secondary definition. I will reorganize the definitions. — Preceding unsigned comment added by Knowledge Examiner (talkcontribs) 13:47, 14 October 2011 (UTC)


The critics paragraph is poorly written. It doesn't make much sense. I propose that it should be removed unless anyone can understand what point is being made. --KevinBrydon (talk) 18:15, 31 October 2011 (UTC)

Support.It is also unsourced - or the only source does not support the statements.--Boson (talk) 19:15, 31 October 2011 (UTC)

Wrong content for topic[edit]

The content describes the "software engineer" and not what a "software engineer" does: "software engineering" - it should describe the process involved, not the person. — Preceding unsigned comment added by (talk) 09:36, 6 March 2012 (UTC)

Earlier Reference to term Software Engineering[edit]

An earlier reference to the term Software Engineering was recently inserted into the article. This would be quite some news. The initial link seems very complete and is a message from Bertrand Meyer himself on the usenet group in 1992. In Bertrand's post, he references a "Letter to the ACM Membership" by Anthony Oettinger published in Vol.9, Issue #8 in Aug. of 1966. Having access to the ACM archives, I searched for this letter extensively. I could not find it. I also searched the Internet, but could not find it. Something of this importance needs a more formidable reference than a post in a usenet group archive. If the "Letter" is produced, I am ready to include it in the article. Lwoodyiii (talk) 16:28, 14 April 2013 (UTC)

The book "Science of Computing: Shaping a Discipline" gives that citation by Oettinger in 1966; it's Communications of the ACM, 9(8), p.546 but those pages are missing from the digital library. However I was able to find it also in CACM 10(10) page 605. That's 1967 and by Oettinger again. So the term was definitely introduced by Oettinger before the 1968 conference, and it was done in the flagship publication of the ACM. I made a screen shot for you see the bottom part (talk) 10:43, 29 August 2015 (UTC)

Software Management[edit]

How/Where does "Software management" (redirects here) fit in here? In other words: what is Software Management. Does it encompass Software License Management? If yes, I don't think people in a purchasing departement necessary always consider themselves "engineers", although they very well may be going to do license management, asset management and the like. --Alien4 (talk) 15:29, 9 October 2013 (UTC)

Redirected to Software project management which the original editor of the article was trying to write about before it was turned into a redirect. StarryGrandma (talk) 17:55, 17 May 2015 (UTC)

Proposed merge with Software engineer[edit]

Essentials the same article Ecallow (talk) 11:50, 30 January 2014 (UTC)

May be worth looking at the inconclusive discussion nearly 5 years ago, at #Merge with Software Engineer. --David Biddulph (talk) 11:59, 30 January 2014 (UTC)
Do not merge: The two articles do not seem right to merge, and the content if you scroll down does differ. I think there should be separation between worker and profession here similar to divisions shown between profession/job at accounting/accountant, law/lawyer, doctor/medicine, actor/acting and so on. I think some of the hatnote from engineering (the field) has been inappropriately duped to the engineer (the profession) article and that should be redone but that the two should not be merged. If you go beyond the first screens the engineer article describes the job, education, professional certification, and question of using the term "engineer"; as distinct from engineering the history, principles, development methods, and related disciplines. Markbassett (talk) 15:07, 11 February 2014 (UTC)

Do not Change the facts in to opinions[edit]

  • UK Engineering Council grants the title of chartered Engineer to software Engineers. A Fact not opinion
  • MSc and BSc in Software Engineering from The University of Oxford & The University of Nottingham. A Fact not opinion
  • Job classification of U.S.A., Australia, Japan, UK and Canada about Software Engineer. A Fact not opinion

Ahmed2galal1981 (talk) 00:42, 27 June 2014 (UTC)

I'm having a hard deciphering what you are saying. Care to elaborate?--Lwoodyiii (talk) 15:15, 27 June 2014 (UTC)

Coined software Engineering[edit]

There is someone who coined the word software, as someone coined the world electricity. But no one has the right to claim a new term only with an Engineer after it. The word creation, development, making, designing are sometimes synonymous with the word Engineering. -- (talk) 08:28, 20 May 2015 (UTC)

"Software engineers" are programmers. It's as simple as that. I know because I am one. We have to have this article because the term is in wide use, but to describe programmers as engineers is akin to describing a hairdresser as a keratin engineer. (talk) 23:23, 23 February 2016 (UTC)

Proposed merge with In-house software[edit]

The following discussion is closed. Please do not modify it. Subsequent comments should be made in a new section. A summary of the conclusions reached follows.
Closed as no consensus to merge. Discussion begun 6 months ago, petered out with no consensus after 3 months. TJRC (talk) 23:06, 16 December 2015 (UTC)

Too minor for own article. Entirely lacks sources. Easily incorporated into target article. Another similar page, In-House Design, redirects to software engineering as well. EvergreenFir (talk) Please {{re}} 00:15, 3 June 2015 (UTC)

@EvergreenFir: Support In my opinion both In-House Design and In-house software are candidates for speedy deletion. They are both minor and easily incorporated to Software engineering.Gpeja (talk) 23:38, 18 August 2015 (UTC)
Would suggest merging into Software development, which is broader and more appropriate. Since there is little to merge, it's probably more a matter of where to redirect both those articles. --Boson (talk) 11:13, 19 August 2015 (UTC)
  • Oppose In-house software is a small article, but it's a decent topic on the issues of build vs. buy vs. commission. Andy Dingley (talk) 11:53, 19 August 2015 (UTC)
@Andy Dingley: In-house software is not a 'decent' topic if you mean by 'decent' requiring its own article. Topics such as Software#Types of software (including in-house, outsourced, off-the-shelf) or Software business or Software development or Software Engineering are convenient places for this small piece of information. If you are able to expand this topic and support it with Reliable sources, it may become 'decent'. Gpeja (talk) 22:17, 21 August 2015 (UTC)
Thankyou for explaining the basics of Wikipedia to me. Are you equally experienced in the software industry? Andy Dingley (talk) 22:46, 21 August 2015 (UTC)
Thankyou Andy Dingley. It seems I have a problem in attitude. What would be a constructive thing to do in this case? Please advise as an experienced Wikipedian. I've just joined this year and have no idea what is the proper etiquette in case of disagreements. Gpeja (talk) 19:13, 24 August 2015 (UTC)
There is a big difference in WP between the qualities of an article and the qualities of a topic. If an article is poorly written, it's quite common for it to end up at AfD where the qualities of it as a topic are then judged. This generally gives the right result: WP thus focusses on notable topics, as intended.
One of the biggest questions in commercial software is the three-way decision between buying existing software, developing it in house, or having it developed externally. Million pound projects have to choose this on a regular basis, many do not choose wisely. It's a huge issue within IT management and within software engineering. All three of these, and their overview, are excellent in-depth articles for WP that would be valuable articles to have afterwards. There is also a vast literature out there describing the trade-offs. There's probably even an MBA course to be had out there, just on how to choose (someone who was thought to reliably choose well would be a valuable consultant within the industry).
By all means, list these topics at AfD if you think they're not notable as topics and unworthy of effort to develop them as articles. But I think I know what the outcome would be. Andy Dingley (talk) 11:40, 29 August 2015 (UTC)
Thanks for giving more explanation. This is part of my learning process as a new WP editor. It would be great help if you at least put a rough outline and your definition of in-house software. The first sentence now reads: "In-house software is a software that is produced by a corporate entity for purpose of using it within the organization. " This doesn't match what you described above. Your description is more about commercial software development process and its tradeoffs. As I see it, there is lots of commercial software out there that is combination of all of the above so there is no reason to describe in-house software by itself. It is more important to describe the decisions you mentioned as an important part of software development process. I am still curious and would like to understand your point of you and idea of this article. It would help me learn how to create a new articles and make sure they stay on WP. I know it is quite common for new articles to be deleted at first review. Is there an option to move this article in Draft of my (or the original author) space and work on it off line? Gpeja (talk) 00:56, 1 September 2015 (UTC)
"Commercial" software is misleading as a term, because software becomes commercial when it's either bought or sold. This could be an accountant buying software in, or it could be a software house developing it in-house and then selling it. As our distinction here is mostly whether to "develop in-house or buy the work of others", then commercialism isn't the crucial difference, means of creation is. Remember too that software can be sold as applications (things that are usable by users) or libraries (things that developers use to build further software on top of). A software house might be writing an application for sale, thus needs to write it themselves so that they then own the rights to these sales (they're a developer, not a reseller). Yet they still have to choose whether to build the component libraries within it themselves, or buy them from others.
There's also the question of whether open source software is "commercial" or not. For most practical purposes here it is, even if there's no bill to be paid for it. It has the same technical implications (to a consumer) as commercial software: it is produced by others, it is dependent on others, but it does not require an in-house development team.
"In-house software is software that is produced by a corporate entity" is correct, but it's not necessarily for use only within that organisation. It's produced to meet the software needs of the organisation (either to use themselves or to sell on), but it is not limited to only being used internally. The case of the software application developer building or buying in a database library etc. is a simple counter-example. The distinction is about who builds it, not who uses it.
If you want a draft space to work in, I'd suggest just creating it under User:Gpeja/drafts/In-house software or similar. It's easy to move later, you can even do it yourself. There's also the Draft: namespace, which is useful for very new editors who don't yet have the rights to create pages in most namespaces. Andy Dingley (talk) 09:09, 1 September 2015 (UTC)
Andy Dingley Could you please comment on the article Insourcing? It is a strange term I've never heard. There is a connection to what you described above but for the business in general not only software.Gpeja (talk) 00:49, 3 September 2015 (UTC)
"Insourcing" and the variants "onshoring" and "backsourcing" are recent formations that are a reaction to the fashion (early 2000s) for offshoring and outsourcing, and the general failure of those approaches. Although they can be (but not necessarily) a form of in-house development, their key feature is that they're a movement away from some previous outsourcing effort. Insourcing usually means moving development in-house, onshoring to move it to a separate developer who is locally located in-country. None of these terms are clear or particularly trustworthy, because they're used by management without the technical nous to really understand the issue, or the precision in language to maintain the distinctions clearly.
I've even heard the awful form "expatrisourcing" which meant convincing a UK development team to leave the country and relocate to Bulgaria, where they could do the same work and be paid less (but would avoid the language issues of native Bulgarian developers). I still don't know if that was a serious management suggestion.
In-house development is the process of development in-house. Doesn't matter whether it has always been done in-house, or if it is a recent change from development previously done externally. Andy Dingley (talk) 08:50, 3 September 2015 (UTC)
Another aspect to "in house" development is the size of the house. If a team within a large corporate builds some software within that team (usually by one person) rather than having it done for them by the corporate IT Services monolith, that too can be seen as "in house development", as opposed to having the official heavyweight process and team build it (I don't know of a specific term for this, but would be interested to hear one). There are lots of projects facing this as an issue too. Corporate IT departments are often regarded as slow-moving and inflexible, encouraging this lightweight in-team development. Andy Dingley (talk) 08:57, 3 September 2015 (UTC)

The above discussion is closed. Please do not modify it. Subsequent comments should be made in a new section.

External links modified[edit]

Hello fellow Wikipedians,

I have just added archive links to one external link on Software engineering. Please take a moment to review my edit. If necessary, add {{cbignore}} after the link to keep me from modifying it. Alternatively, you can add {{nobots|deny=InternetArchiveBot}} to keep me off the page altogether. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true to let others know.

You may set the |checked=, on this template, to true or failed to let other editors know you reviewed the change. If you find any errors, please use the tools below to fix them or call an editor by setting |needhelp= to your help request.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

If you are unable to use these tools, you may set |needhelp=<your help request> on this template to request help from an experienced user. Please include details about your problem, to help other editors.

Cheers. —cyberbot IITalk to my owner:Online 14:01, 27 August 2015 (UTC)

Citations of Software Engineering Body of Knowledge[edit]

I updated Software_engineering#Subdisciplines section to follow SWEBOK more precisely. I think that unsourced statements poorly repeat what was said in 15 links of SWEBOKv3.

Please review unsourced statements and tidy citation syntax. Ushkin N (talk) 09:18, 24 May 2016 (UTC)

Who coined the term?[edit]

According to Milestones in Computer Science and Information Technology, entry on software engineering, Edwin Reilly cites historian Brian Randall as believing that the term came from Fredrich L. "Fritz" Bauer. He says to see pp 1606-11 of Encyclopedia of Computer Science for additional reading, but my edition of that book is older and doesn't contain those pages. Bubba73 You talkin' to me? 00:07, 15 July 2016 (UTC)

I've seen by RFC this come up under Margaret Hamilton, as an article there was noted dubious in July 2016. Here it appeared in Dec 2014 edit as "coined by" her, later shifted to "adopted the term" in August 2015. Since 'used by her' is not notable to the topic, I have removed it from the article. I think that the original mention of her as coining it was in error and this was simply a remnant of the error. Markbassett (talk) 14:53, 19 July 2016 (UTC)
p.s. I've also removed the photo of her that was put in on 14 Jan 2014 as the top photo with subtext of credited with inventing the term. Again, legacy of an error propagated and later revised and ... just removing the mistake cleanly and completely. Markbassett (talk) 15:09, 19 July 2016 (UTC)