Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

This question already has an answer here:

I live in South America, and here the translation for "Software Engineering" is a knowledge for the SWEBOK (Software Engineering Body of Knowledge) subjects, such as: Requirements, Development methods (Waterfall, Spiral, SCRUM, etc..), Tests, Quality, Maintenance, etc..

Why do English materials such as classes, articles, and even stackoverflow questions about Software Engineering just address (basically) programming?

Example: http://stackoverflow.com/questions/131571/recommended-books-for-software-engineering

Most of recommended books in the answers above are basically programming, and the Software Engineering 'bibles' that have SWEBOK items written by Pressman and Summerville are almost unnoticed. Actually, most of SWEBOK items doesn't have focus in the programming code.

Secondary Question: What is the English name for the profession/subject that really needs to know all SWEBOK subjects? (not only 'good programming').

share|improve this question

marked as duplicate by Jim G., gnat, BЈовић, Kilian Foth, Bart van Ingen Schenau Jun 6 '13 at 6:35

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

I knew I'd heard that "SWEBOK" term somewhere in the past. "Our industry is not sufficiently mature to produce a body of knowledge of this kind yet." martinfowler.com/bliki/Swebok.html –  Greg Hewgill Jun 5 '13 at 22:06
regarding stackoverflow example, I think it's because the group of people in stackoverflow, like here, are programmers in general. If you ask different groups, say ux, you might get different answers. –  imel96 Jun 5 '13 at 22:30
A more interesting addition to this question: why so many companies, when recruiting are obsessed with mundane abstract programming questions (O notation, algos, reimplementing strstr...) while completely ignoring software engineering? For me creating the impression the company knows nothing of it. –  Balog Pal Jun 6 '13 at 0:07

1 Answer 1

I've actually never before heard of SWEBOK - I don't think it has gained much traction outside South America.

Why? Because, ultimately, programming is what it's all about, and there is a widespread feeling in the industry that excessive formalization as represented by standards committees and 1000 page "bibles" is actually counterproductive. From the Wikipedia article you cite:

Regarding the initial version in 2001, Cem Kaner and Grady Booch have publicly stated that the document could be improved. Many claimed that the document may not accurately reflect the community's view of software engineering and recognize the effort to try to define the profession. Notkin, Gorlick, and Shaw's reported on the first version also less than positively.

The agile manifesto is the most well-known expression of this view.

However, it is absolutely not true that the subjects you list are not considered important, or are not represented here. The question you cite actually includes most of them. Just not dressed up in the SWEBOK formalism.

Secondary Question: How is the english name for the profession/subject that really needs to know all SWEBOK subjects? (not only 'good programming').

Programmer or Developer.

share|improve this answer
thank you Michael! The SWEBOK was just a reference about software engineering subjects, here in south america, we don't discuss it as well. So, what you are saying is: (A) All programmers (must) know S.E. subjects like: requirements, tests, quality, maintence, etc.. notice: these subjects are done BEFORE coding/development. or (B) S.E. subjects are unecessary? Because I do some online classes from great universities from USA and teachers/course says that we are learning S.E. but they never talk about SCRUM, requirements, quality, etc.. and we just CODE! –  Wagner Jun 5 '13 at 22:55
I'd say Programmers know the pretty much only the subject of writing code/software. Software engineers/developers (should) know everything from writing code to quality, design, testing, agile methods, some project management, etc. –  Aether McLoud Jun 6 '13 at 1:54
@Aether McLoud: by that definition, a programmer is just an unskilled and inexperienced software engineer. Most people I know would not agree with that. –  Michael Borgwardt Jun 6 '13 at 7:58
@Wagner Kye: I'm curious how you'd do testing and maintenance before development... But I am saying that any good, experienced developer will know something about most of these subjects. If you teachers claim to teach SE but do only coding, they are wrong. However, that may be a reaction to the (also widespread) complaints that many university graduates have learned SE theory but cannot code, which is worse than the other way round. –  Michael Borgwardt Jun 6 '13 at 8:04
SWEBOK is a great reference! –  LWoodyiii May 12 '14 at 18:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.