Archive 1Archive 4Archive 5Archive 6

Dijkstra and Software Engineering

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

Quote:

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.

98.31.14.215 (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

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 204.134.9.1 around 2004. -- Marcel Douwe Dekker (talk) 15:09, 20 October 2008 (UTC)

Get this article to featured or good status

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

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"

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."

http://dictionary.reference.com/browse/engineer

They are also Computer Scientists according to the definition:

"a person with advanced knowledge of one or more sciences"

http://dictionary.reference.com/browse/scientist —Preceding unsigned comment added by Dprust (talkcontribs) 20:00, 3 February 2009 (UTC)

A new Software Engineering template

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)

Professional Certification

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[1] 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

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)

First software doctorate claim

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 ? [2]
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)

History section

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 189.70.43.160 (talk) 03:26, 2 May 2009 (UTC)

Software development methodology

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)

Caching

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

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.

87.69.208.92 (talk) 21:14, 28 April 2010 (UTC)

Merge discussion

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)

New PE exam discipline

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

Employment

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 http://www.telework.gov/ . There are lots of individual job reqs you can use to piece together experience and compensation level. dice.com, monster.com, and futurestep.com 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 www.indianfresher.com 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. www.thehindubusinessline.com and www.onlinebangalore.com 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. http://www.cio.com/article/610635/Outsourcing_Brazil_Blossoms_as_IT_Services_Hub http://www.cio.com/article/512576/The_State_of_IT_Jobs_2010 http://video.cio.com/services/link/bcpid1370868054/bclid1373280988/bctid605949879001?src=rss http://www.cio.com/cio100/2010/1 --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)

This article should be improved a lot

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 27.32.136.240 (talk) 05:55, 9 October 2010 (UTC)

Profession

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 142.3.86.80 (talk) 19:51, 1 June 2011 (UTC)

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

Cleaning up the Sub-disciplines Section

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

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)

Critics

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

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 41.174.67.233 (talk) 09:36, 6 March 2012 (UTC)

Proposed merge with Software engineer

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

  • 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)

Not Engineers

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 69.143.89.174 (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 198.82.21.161 (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 27.32.136.240 (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? 219.89.193.46 (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! 134.134.137.75 (talk) 21:52, 24 September 2014 (UTC)

Software Management

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)

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.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 5 June 2024).

  • 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.

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

Earlier Reference to term Software Engineering

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 comp.software-engineering 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 http://i.imgur.com/ZJy15Ij.png see the bottom part 91.159.183.138 (talk) 10:43, 29 August 2015 (UTC)

Proposed merge with In-house software

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)
@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 discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

Citations of Software Engineering Body of Knowledge

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?

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)

Certification and Licensure

This article misses the fact that in the USA over 30 States recognize Licensed Software Engineers also know as Professional Engineers (PE). The process started by finding a cadre of experienced engineers who were individually vetted by the Texas Board of Professional Engineers. This group formed the majority of those who then went and helped NCEES create the PE Exam in 2013 [1]

The path requires a minimum degree in Engineering (some states will allow ABIT [2] accredited science such as Physics and Computer Science), five years of experience working under another PE, passing the Fundamentals of Engineering exam (thus allowing a person to say they are an Engineer In Training or EIT), a background check, five to nine references, and finally the Professional Software Engineering Exam. [3]. Keeping the license requires ongoing professional education.

This means that the individual is now legally and ethically obligated to follow and uphold the standards of a professional engineer in their actions and deliverables. At least in Texas there are many PEs who have been stripped of their license and/or fined for breaking those rules. This is a different level of professionalism than a certificate from IEEE or Microsoft. Don Gilman, PE, Texas and contributor to the national exam. Uncleharpoon (talk) 19:38, 13 November 2017 (UTC)

References

Uncleharpoon, yes the article should mention licensing of professional engineers. There is an article on this, Software engineering professionalism. However licensing affects very few software engineers. The need for this licensure can be seen by looking at the number of people who take the exam. The NCEES offers the PE Software exam twice a year, in April and October. In April 2017 a total of 20 people took the exam.[1] In states that require it a PE is needed only for those offering themselves directly to the public in solo practice or a small partnership. If you work for a large employer you will be considered under the supervision of PEs at the company, and can call yourself whatever your company calls you.[2]
While the IEEE supports licensing, the ACM took a strong stand against it and withdrew from the committee, stating "...the Council further concluded that the framework of a licensed professional engineer, originally developed for civil engineers, does not match the professional industrial practice of software engineering".[3] The Fundamentals of Engineering exam, usually taken by graduating students, covers material such as Properties of Electrical Materials, Engineering Sciences, Circuit Analysis (DC and AC Steady State), Electronics, Signal Processing, Power, Electromagnetics as well as material software engineers would be expected to study.[4] No effort has been made to develop an FE exam appropriate for software development. Time that would need to be spent by students to learn the material to pass the current exam is much better spent on topics in software development. StarryGrandma (talk) 22:11, 14 November 2017 (UTC)

Dubious claim in history

I'm undoing a dubious claim in the history that Margaret Hamilton was the one who made up the term. Frankly, there seems clear evidence in 1966 of the letter published by Anthony Oettinger leading to the 1968 NATO conference on the topic with it's report widely spread as the origin of the common usage, and also credit given to the extensive works of Barry Boehm for developing it but she does not seem to have any prominent published works on the topic during this period that would credit it's rise to her. I see a 21st century claim by her, also conveyed via local paper and NASA 50th anniversary review of people, but not as a part of the publicizing work. I think it possible the phrase occurred by others in the 1950s as a casual utterance but not part of the field development and perhaps she independently used it as well in the 1960s -- but that would be after Oettinger, and lacks the body of work that Boehm contributed so any mention would be after those two and with less coverage to reflect due prominence. Jus put up some evidence prior to 1999 or please stop pushing the tale. Markbassett (talk) 01:33, 1 December 2017 (UTC)

  Prior content in this article duplicated one or more previously published sources. The material was copied from: http://www.collegequest.com/how-to-become-a-software-engineer.aspx and https://www.worldscientific.com/doi/10.1142/S0218194099000358. Copied or closely paraphrased material has been rewritten or removed and must not be restored, unless it is duly released under a compatible license. (For more information, please see "using copyrighted works from others" if you are not the copyright holder of this material, or "donating copyrighted materials" if you are.)

For legal reasons, we cannot accept copyrighted text or images borrowed from other web sites or published material; such additions will be deleted. Contributors may use copyrighted publications as a source of information, and, if allowed under fair use, may copy sentences and phrases, provided they are included in quotation marks and referenced properly. The material may also be rewritten, providing it does not infringe on the copyright of the original or plagiarize from that source. Therefore, such paraphrased portions must provide their source. Please see our guideline on non-free text for how to properly implement limited quotations of copyrighted text. Wikipedia takes copyright violations very seriously, and persistent violators will be blocked from editing. While we appreciate contributions, we must require all contributors to understand and comply with these policies. Thank you. Justlettersandnumbers (talk) 12:22, 24 October 2018 (UTC)

Definition of software development

This is the documentation and writing of computer programs. Bottlecup97 (talk) 04:32, 11 October 2019 (UTC)

Those are only two possible parts of a much more complex set of tasks involved in software engineering. See this as one definition of software engineering and note how it includes design, development, testing, deployment and management of software systems. The Mirror Cracked (talk) 04:57, 11 October 2019 (UTC)

Software development and software engineering are not the same thing. The engineer creates the components and the developer develops the components. Bottlecup97 (talk) 05:31, 11 October 2019 (UTC)

I did not say that software development and software engineering are the same thing. But your definition that "The engineer creates the components and the developer develops the components" is wrong. It also makes absolutely no sense. The words "creates" and "develops" mean the same thing. So your definition is saying "The engineer creates the components and the developer creates the components" which means they are the same thing. Which as you said, is wrong. The Mirror Cracked (talk) 05:34, 11 October 2019 (UTC)

Today software is developed through a process called computer programming. Before computer programming it was done through punched cards. Bottlecup97 (talk) 05:35, 11 October 2019 (UTC)

No, that is completely incorrect. Expressing computer programs on punched cards is computer programming. It is not the thing that came before computer programming. It is clear that you do not understand the fundamentals of computer programming and software engineering. Please stop. The Mirror Cracked (talk) 05:41, 11 October 2019 (UTC)

Developing includes improving something that already exists. While creating is when you make something that doesnot exist. Bottlecup97 (talk) 05:38, 11 October 2019 (UTC)

Develop and create are not the same thing. Bottlecup97 (talk) 05:39, 11 October 2019 (UTC)

No, you are simply wrong. Software development includes the creation of software. Here is IBM's definition of the term "Software development refers to a set of computer science activities dedicated to the process of creating, designing, deploying and supporting software". See how it includes "creating"? The Mirror Cracked (talk) 05:42, 11 October 2019 (UTC)

It cannot include the creation of software. Software is actually physical components. Any definition that includes the word creation contradicts the word its self. Because the word is development and development is fundamentally not the same as creation. Bottlecup97 (talk) 05:55, 11 October 2019 (UTC)

Statements like "software is physical components" demonstrate you do not have even an elementary understanding of the subject. That statement is literally completely wrong. You also don't understand the terms "software creation" and "software development". While you are welcome to remain in whatever state of belief you wish, you absolutely may not continue to edit this article and related ones. Your understanding of the subject is so poor, you lack the competence required to edit on this subject. You are also repeatedly breeching WP:V and WP:OR. Once again, I beg you to stop. The Mirror Cracked (talk) 06:00, 11 October 2019 (UTC)

Note that I called computer programming a process. This suggests its different from punched cards. Punched cards maybe a form of programming as your calling it but my point is that today developing software is not done through a punched card process , its done through an explicit form of programming. Bottlecup97 (talk) 06:05, 11 October 2019 (UTC)

I am a computer programmer myself. I do have knowledge on how computers work. And your judgement on my understanding shows me you donot understand the difference between software engineering and software development. Bottlecup97 (talk) 06:07, 11 October 2019 (UTC)

Software enginnerring and software development are the most widely misunderstood definitions in the IT community today. Am saying this to alert you when you read a definition on software engineering and software development. This is a true misunderstanding because there are several definitions of software engineering and software development that are contradictory. Bottlecup97 (talk) 06:15, 11 October 2019 (UTC)

Coined software Engineering

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. --108.162.136.215 (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. 31.52.163.167 (talk) 23:23, 23 February 2016 (UTC)

Software engineering is often confused with software development. Software developers are programmers who develop software which was made by software engineerers. Software is basically components required to instruct a machine. Today software is developed through a process called computer programming. Before programming it used to be through punched cards. Bottlecup97 (talk) 04:40, 11 October 2019 (UTC)

@Bottlecup97: your statement above is inaccurate and the change you made to the opening sentence of the article is equally incorrect. Please do not attempt to change articles whose subject you clearly do not understand. Thanks, The Mirror Cracked (talk) 05:01, 11 October 2019 (UTC)

@The Mirror Cracked could you please explain to me why my statement is inaccurate ? Bottlecup97 (talk) 10:27, 11 October 2019 (UTC)

@TheMirrorCracked Bottlecup97 (talk) 10:28, 11 October 2019 (UTC)

Mirror cracked doesnot understand computers haha Bottlecup97 (talk) 10:29, 11 October 2019 (UTC)

What is software

Software is basically physical components that today are so small thanks to nano technology. The first software was by charles babbage and his analytical engine. His device today would be smaller due to nano technology.

Software today is found on microchips. If you zoom in to a microchips you will be able to see these small metal components in there thousands that are or should be called software. Bottlecup97 (talk) 00:44, 12 October 2019 (UTC)

Bullshit. Physical components are part of computer hardware engineering. If you disagree, mail me a transistor. --Guy Macon (talk) 01:39, 12 October 2019 (UTC)

False definition of software engineering on Wikipedia

Software engineering is defined as something with this narrative ; the systematic programming of a computer. This is a wrong definition. This definition is wrong because it doesnot describe the physical nano technology components of a computer that work together inorder to carryout various functions such as advanced calculation. Bottlecup97 (talk) 00:50, 12 October 2019 (UTC)

That would be Computer engineering, and we already have an article on it. --Guy Macon (talk) 01:35, 12 October 2019 (UTC)

Software Craftsmanship is neither a critique of nor alternative to Software Engineering

In the section "Critique", the article contained the following sentence: "Software craftsmanship has been proposed by a body of software developers as an alternative that emphasizes the coding skills and accountability of the software developers themselves without professionalism or any prescribed curriculum leading to ad-hoc problem-solving (craftsmanship) without engineering (lack of predictability, precision, missing risk mitigation, methods are informal and poorly defined)."

This is wrong on several levels.

  • "Software craftsmanship has been proposed [...] as an alternative [...]." Wrong. Software craftsmanship had not been proposed as an alternative to software engineering. It has been proposed as an extension of agile software development to describe that agile software development does not work without software engineers not just doing their job but doing their job well. The Manifesto for Software Craftsmanship makes no reference to Software Engineering in any way.
  • "[...] without professionalism or any prescribed curriculum [...]." Wrong. The opposite is the case. Part of the Manifesto for Software Craft is "Community of Professionals". Software craft is not about being without curriculum but about filling the gaps that the typical curricula leave: Most colleges universities have either no or an outdated approach to the topic of software testing. At best, they teach some theory from the 70ies or 80ies. They ignore early experiences like those from Project Mercury as well as new methods like TDD, BDD, ATDD, and TPP.
  • "[...] leading to ad-hoc problem solving (craftsmanship) without engineering (lack of predictability, precision, missing risk mitigation, methods are informal and poorly defined)." Wrong. The elements of Software Craft like Test-Driven Development, Behavior-Driven Development, Acceptance Test-Driven Development, Refactoring, the Transformation Priority Premise, the Principles of Object-Oriented Class Design (SOLID and Package Principles), the Programming Paradigms (Functional, Object-Oriented, and Structured) are formal, well-defined, and developed and chosen to mitigate risk.
  • "[...] apprenticeship model of medieval Europe." Wrong in the reader's impression. Germany still uses this apprenticeship model as of today for all kinds of crafts, and it even has computer science degrees based on this apprenticeship model: Fachinformatiker.

If anything at all, Software Craft(smanship) should be seen as a well-chosen, well-defined, evolving set of principles, practices, and methods for good Software Engineering.

Software Craft is not something different from Software Engineering. Software Craft is a specific instance of Software Engineering.

I have thus removed that paragraph.

--Christianhujer (talk) 20:15, 8 July 2020 (UTC)

Engineering is a higher-level skill that software developers do not have

I have grave concerns about this article because it deceives the public. It falls just short of claiming that software programmers have engineering skills. Yet programming and engineering are not even related.
The quintessential skill of an engineer is the ability to predict and prevent product failures. It would be highly ironic and a big mistake to believe that fail-safe products can be built by writing software. Not even skilled engineers can do that. Thus there is no such a thing as a “software engineer”, despite what this and that article claim.
Similarly and furthermore, the belief that software can prevent devices or systems from failing, especially the hardware that it runs upon, is pure fantasy. No amount of software can make an airplane safe, for example. This should be obvious without proof.
The misunderstanding that programmers can fulfill engineering positions has led to dire consequences in industry. For example, Boeing laid off its most experienced engineers, claiming that hardware development on its airplanes was complete, and correspondingly outsourced its engineering requirements to a software company to save costs (“Boeing’s 737 Max Software Outsourced to $9-an-Hour Engineers”). But when software caused the crashes of several 747 MAX airplanes, it had to concede that, despite having laid off its experienced engineers, it did not rely on the software supplier for engineering (“What Boeing’s 737 MAX Has to Do With Cars: Software”).
Who’s to blame? Boeing? Or the manufacturers and propagators of the "software engineering" hype?
Although it would be convenient to believe that Boeing is the sole owner of this blunder, the malady is commonplace in industry (and present on Wikipedia itself). How many tech companies do you know of that divide Research and Development into Hardware Engineering and Software Engineering departments? Most, maybe all of them?
It would be more appropriate to drop the distinction between hardware and software (another term coined by computer programmers), and rename the departments “programming” and “engineering” to distinguish between the two disciplines. This would (hopefully) create a symbiotic relationship between the two where programmers would be willing to work WITH engineers to protect human life and property.
Software programmers who claim higher-level engineering skills to secure engineering positions at higher salaries, usurping real engineers who are qualified and competent, ought to be sued for fraud, especially when he or she was unable to protect human life and property. Anybody can be sued for causing failures, but only an engineer can be sued for failing to prevent them. Thus, software developers cannot be sued for making engineering mistakes, but can be sued instead for fraud if they had claimed to have engineering skills and thus falsely represented themselves as engineers.
Do not believe the hype. Programming is unrelated to engineering, software does not make products safe, and programmers are not engineers.
Let’s get real. What’s wrong with calling computer programmers Software Developers and their knowledge Computer Science? Why wouldn't self-proclaimed "software engineers" wish to desist to evade the liability? Think about it.
Impediguy (talk) 20:27, 27 December 2020 (UTC)

interesting. you're not the first nor the last to claim that. the two are different but not mutually exclusive. the thing with software engineering (which is different from programming, not obvious?) is that it's not a classic engineering (it's multidisciplinary) and it's been developed. you've got engineering stuff on the curriculum; swebok for itself includes all the requirements, design, construction, ... the list goes on and wikipedia already cited them. It's not as regulated as other engineers, but it's probably a matter of time 'til it happen. And a lot of what's happening with the title "software engineering" is misconception, etc. you say to get real, the reality of engineering software is virtual. BTW, just call software developers developers, they're not computer scientists, you just making a similar misconception you're calling out lmao... talk@TRANSviada 14:26, 28 December 2020 (UTC)
My point was, in part, that computer newspeak is perilous. It has diluted the concept of engineering to the point that it has become meaningless. Correspondingly it seems, engineering skills are no longer valued or known by consumers and industry. Yet I do not wish to get started on “machine learning” or “artificial intelligence” which IMHO equates to “real stupidity” of the author for passing unmitigated risks onto the consumer.
What kills me the most about so-called “software engineers” (pun intended) is that they are completely oblivious to the skills they lack to be able to call themselves engineers, but they do anyway. Incredible.
Management processes do not define the discipline that is being managed. If software development follows the same “approach” as product development, it does not mean that you are engineering when you are writing software. Programming and engineering are not even related.
Here’s the rub. Programmers (yes, programmers) are filling engineering positions in industry because they erroneously claim that, having followed the same regulatory or management processes (i.e. “approaches”) as engineers, they have become engineers. But engineers ultimately prevent product failures. Software developers just write software that potentially could cause those failures (but cannot prevent them). Same management, different outcome, corresponding to different abilities.
This is no laughing matter. As I have described above, the deceit has cost the horrific loss of human life. Please desist using the terms: engineering until you know what it means, and engineer until you know what it takes to be one. Otherwise, if software developers do not get real about representing themselves and their skills, they will ultimately be sued for incompetence and fraud. Impediguy (talk) 01:02, 29 December 2020 (UTC)
Wikipedia talk pages are supposed to be used to suggest improvements to the article, not to discuss the topic in general. What improvements are being suggested here? Keep in mind that on Wikipedia we are supposed to follow what the majority of the sources say on a topic, and the majority of sources indicate that this field exists and is properly called 'software engineering'. I'll also note that most of the article text on this subtopic lives at Software_engineer#Use_of_the_title_"Engineer" - MrOllie (talk) 13:52, 29 December 2020 (UTC)
Thank you for your consideration and patience. However, I disagree with your sentiment that, because a topic is popular, it can be published as if it were true. As we have learned from recent politics, a slight minority of Americans would agree with you because they would rather live the lie than face the truth. Yet the reason the United States has a Bill of Rights is to defend beliefs or realities that may not be popular. In this case, the truth is unpopular with the uneducated, and yet, I am sorry but, “The Emperor Is Wearing No Clothes". See my entry below on how this article can be improved.Impediguy (talk) 01:50, 30 December 2020 (UTC)
This isn't my 'sentiment', it is a paraphrase of the relevant Wikipedia policies, which you can find at WP:V and WP:NOR. You can't just handwave that away in favor of writing based on your own beliefs, Wikipedia articles must follow the sources. - MrOllie (talk) 02:04, 30 December 2020 (UTC)
"Software Engineering" was the cause of two airplane crashes and the loss of 346 lives. This was the tragic result of software developers illegally filling engineering roles in industry (but it nevertheless was Boeing's blunder). I have cited only a few of the news reports in my talk. Please desist on disregarding the controversy as "hand-waving", "[my] opinion" or "[my] beliefs". These are real facts that were caused by misinformation and false identity. It's Wikipedia's and your responsibility to learn the truth, rather than deny or disregard it.— Preceding unsigned comment added by Impediguy (talkcontribs) 23:53, 29 December 2020 (UTC)
I also dislike the title "software engineer" being used like that... In part it's because it's not as regulated field. But software engineering, as an engineering discipline, is already covered by standards from ISO/IEEE, which also made the SWEBOK (it's free give it a read, mainly on the topics of software quality, requirements, testing, management, process), and a lot covered by Wikipedia. I won't argue back since this, as noted above, is a place for discussing improvements on the article.talk@TRANSviada 15:54, 29 December 2020 (UTC)
It is not true that engineering is not a regulated field. Just refer to NCESS and Professional Engineering citations in this very article who exist to prevent the “unlicensed practice of engineering”. Whereas “engineer” is thought to be a generic descriptor by the public, it is only true "outside the context of an employment or contractual relationship”. It is not considered to be true in industry or “when providing a professional service”. So if a “software engineer” (i.e. the generic, meaningless term) were hired as an engineer, he or she would be liable for the “unlicensed practice of engineering”, as I have claimed above. Since this entire article is in a professional context, the use of the term “engineer” is regulated in the United States, and this article, in my opinion, is in violation of that regulation. FYI, I was licensed in Mechanical Engineering in the State of California, and that is why I am so offended by any incompetent yahoo who comes along and claims to be an engineer and takes my job, as I have also documented in my talk above.Impediguy (talk) 01:50, 30 December 2020 (UTC)
The main problem with this article and the insular “software engineering” movement is that they do not acknowledge the controversy: that software developers are claiming engineering skills, absconding engineering positions in industry and human life has been lost as a result. How this article can be improved, and how I propose to do it: 1) I intend to wait a couple of weeks for my “controversial” talk to be visible to and to discussed with licensed professional engineers to get their support; 2) I will insert the material above, or similar, to document the controversy; 3) I will remove the babble that squelches the controversy but is thought to be “criticism”; and 4) I will correct the reason why the NCEES is not longer issuing the Professional Exam for “Software Engineering”: because very few people were able to pass it - only five in the State of California for the year that I last looked. Impediguy (talk) 01:50, 30 December 2020 (UTC)
Which sources were you thinking of using in your new version? - MrOllie (talk) 02:04, 30 December 2020 (UTC)
I would like to notify, work with and cite the NCEES. I would like to notify, work with and cite professional engineering organizations, such as the ASME. And, I would also like to talk to, work with and cite legal counsel and case law. Impediguy (talk) 04:52, 30 December 2020 (UTC)
Ok, but please do have a read of the policies I linked above, particularly Wikipedia:No_original_research#Primary,_secondary_and_tertiary_sources. Case law is a primary source and is generally not used on Wikipedia. Re NCEES, see [3], where they stated it was due to low participation. ASME often uses the term 'Software engineer' without qualification [4]. - MrOllie (talk) 12:54, 30 December 2020 (UTC)
OK. Thank you. Will do. NCEES took the diplomatic approach. However, I disagree with the ASME article: "Manufacturing Relies More On Software". I've developed several manufacturing process, and I have never relied on software or software developers to control my processes. That would have been a big mistake. The difference between an abstract model (the part that a software developer in theory might be able to do) of a system and the real system (the part that only an engineer can characterize) can cause the controller to go unstable (citation known but omitted). Thus, before a programmer can write the software, the engineer has already designed the controller. Furthermore, a process is not a process at all until all special causes of variation have been identified and removed. These are hands-on activities that do not need (that kind of) software. The fact that it uses the term "software engineer" without qualification makes it even less credible to mechanical engineers. Impediguy (talk) 18:42, 30 December 2020 (UTC)
I have both a Bachelors and Masters in Software Engineering. My degree is also ABET accredited. Should I get my degree renamed? Implicating the whole profession because of the ethics of a company outsourcing their labor is foolish. This whole thread feels like you are bent out of shape because you are either scared your defense-contracting company is going to lay you off, or you recently got laid off. Outsourcing in general is hotly debated within the software field. I tend to agree that Software Engineering should be more regulated in order to discourage companies from trying to cut corners. The pretentiousness of the title "Engineering is a higher-level skill that software developers do not have" is incredible. The reason the PE Software exam was removed is because no Software Engineer would waste their time with a license they don't need in their careers.— Preceding unsigned comment added by 2603:8080:700:28e1:9409:c3f1:1199:5b57 (talkcontribs) 23:20, 16 April 2021 (UTC)

The article has a loop: Software Development contains Software Engineering, but also Software Engineering contains Software Development

The overview table at the right says the following: Software Development core activities: ... Software Engineering. And in the body of the article, there is the following section: Fields (of Software Engineering): ... Software Development. One should include the other, but both cannot be at the same time.— Preceding unsigned comment added by 88.0.117.22 (talkcontribs) 02:58, 27 May 2021 (UTC)

I have modified Template:Software development process so that "software engineering" and "software development" appear as synonyms. In the software engineering article, "software development" is used more as a synonym of software construction. The terminology is inconsistently used in the real world, so given now that this is at least not directly contradictory (given the placement of software construction under both in the template), I think this is probably fixed. -- Beland (talk) 02:44, 31 July 2021 (UTC)

There is an inconsistency: "Design, Maintenance, Requirements and Testing" belong to Software Development and Software Engineering at the same time

The overview table at the right says the following: Software Development core activities: (Software) Requirements, (Software) Design, (Software) Testing, (Software) Maintenance .... However, the body of the article says: Fields (of Software Engineering): ... Software Requirements, Software Design, Software Testing, Software Maintenance. Each practice should belong to either Software Development or Software Engineering, but not both at the same time.— Preceding unsigned comment added by 88.0.117.22 (talkcontribs) 03:05, 27 May 2021 (UTC)

Given that "software engineering" and "software development" are sometimes used as synonyms, and when they are not synonyms substantially overlap, I think the fact that those fields are described as applying to both, is fine. -- Beland (talk) 02:48, 31 July 2021 (UTC)