Informatiker SIND Ingenieure!
-
Dieser Thread wurde von Moderator/in Marc++us aus dem Forum Rund um die Programmierung in das Forum Beruf und Ausbildung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Info schrieb:
[...] Software ingenieursmäßig entwickelt [...]
Softwareentwicklung ist alles, nur kein "ingenieursmäßiger" Prozess.
Imho muss ein guter Softwareentwickler auch sehr gut Programmieren können. Die Pappnasen die nach der Uni direkt eine Projektleitung übernehmen wollen, und schon bei einem 1000-Zeiler ins straucheln geraten, können keine gute Software bauen.
Mit einem guten Freund habe ich mich schon ziemlich gestritten, weil er sich als Softwarearchitekt beworben hat (für 80k€/Jahr, lol), aber ein rotzenschlechter Programmierer ohne Praxiserfahrung ist. Weder hat er Grundlagen wenigstens einer Sprache drauf, noch irgendeine Ahnung von Entwufsmustern und dergleichen. Er ist aber der Meinung, dass er das trotzdem kann auf Grund bescheuerter SE-Vorlesungen vor X Jahren.
Programmieren lernt man nur in der Freizeit oder beruflichen Praxis richtig, wenn viel Leidenschaft dafür vorhanden ist. Und das dauert ein paar Jahre bis man weiß, wie etwas zu erledigen ist, sodass es nicht bei der kleinsten Änderung auseinanderfällt. Das wissen darum kann so gut wie garnicht gelehrt werden und das Wissen kann auch nicht "ingenieursmäßig" angewandt werden. Es sind einfach sehr viele isolierte Wissenshäppchen, die man sich erarbeiten muss, ohne dass eine übergreifende Theorie solider Softwareentwicklung abzusehen wäre.
-
µ schrieb:
Das wissen darum kann so gut wie garnicht gelehrt werden und das Wissen kann auch nicht "ingenieursmäßig" angewandt werden.
Beides bestreite ich.
Es gibt nur wenig gute Lehrer dafür, oftmals liegt das auch daran, weil viele Professoren ja eben gar keine Berufspraxis in der Softwareentwicklung haben.
Und "ingenieursmäßig" bezeichnet letztlich vor allem eine systematische Vorgehensweise, basierend auf solchen Dingen wie "best practise", Katalogen vorhandener Lösungen und Prozessen. Ich sehe nicht, warum Softwareentwicklung nicht auch so laufen soll.
-
Hi µ,
µ schrieb:
Info schrieb:
Softwareentwicklung ist alles, nur kein "ingenieursmäßiger" Prozess.
Ich würde das schon als einen ingenieursmäßigen Prozess ansehen. Das reine Coden nachher nicht, aber das ist ja nur die handwerkliche Vollendung zum Beweis der Richtigkeit und zuzr Erbringung der abrechenbaren Leistung. Aber ein Compiler z.B. entsteht ja nicht im Sinne von probieren und immer noch ein bisschen dranflicken, sondern der wird schon sehr ingenierutechnisch geplant und konzipiert.
Der Unterschied ist nur, dass kein Architekt ein Haus selber mauert, kein Ingenieur eine Straße selber pflastert, wärend der Softwareentwickler vielfach vom Konzept bis zur abrechenbaren Lösung alles erbringt.
Ist ja vielfach auch sinnvoll, da Softwareentwicklung eben doch was anderes ist als Häuser oder Straßen bauen. Bei nem Haus hat man ne Zeichnung, und dann kann ein "einfacher" Maurer die Bude hochziehen und Putzen und ein "einfacher" Zimmermann macht den Dachstuhl und der Dachdecker das Dach.Gabs früher in dem Sinne auch mal, dass ein Problemanalytiker das ganze vorgedacht hat und die reinen Coder habens dann mit nem Affenzahn als Quelltext reingedroschen. Aber das war zu Zeiten von Fortran und Cobol. Das konnte man wie einen Brief schreiben.
In Zeiten von C++ ist aber auch das Coden an sich eine recht anspruchsvolle Tätigkeit, da man eben nciht nur Anweisung unter Anweisung schreibt, sondern sich auch die nötigen Klassen, Templates... selber entwirft. Da muss der Coder schon sehr genau wissen was er alles zu beachten hat. Nicht umsonwt gibts dafür Bücher wie den "Scott Meyers". Außerdem haben wir heute keine Stapelverarbeitung mehr. In Oberflächen wie der VCL kann man fast nirgends einfach stur Algoritmen runterkloppen, da ist immer auch der Kontakt zum Nutzer mit im Boot.
Softwareentwickler ist also eine Mischtätigkeit, verbunden von sehr anspruchsvollen mit einfacher Codertätigkeit. Aber das spricht an sich noch nicht gegen den Ingenieur. Der hat ja früher auch nicht nur hochkomplizierte stqatische Berechnungen ausgeführt, sondern das typische Arbeitsmittel eines Ingenieurs war eben mehr noch als der Rechenstab die Zeichenmaschine. Einen sehr großen Teil standen die Ingenieure am Zeichenbrett und haben da "einfach nur Striche gemahlt" die die Zeichnerin anschließend mit Tusche verewigen durfte.
Gruß Mümmel
-
Informatiker SIND Ingenieure!
Really? Wayne!
-
Marc++us schrieb:
[Es gibt an einigen Hochschulen und wohl auch in Österreich(?) den Informatik-Ingenieur - der ist dann staatlich anerkannter Ingenieur.]
Es gibt in Österreich keinen "Informatik-Ingenieur", Informatiker sind in Österreich vollwertige Ingenieure und erhalten denselben Titel wie Maschinenbauer, Bauingenierue, Elektrotechniker: Diplom-Ingenieur (oder jetzt neu: Master of Science)
MfG SideWinder
-
SideWinder schrieb:
Es gibt in Österreich keinen "Informatik-Ingenieur", Informatiker sind in Österreich vollwertige Ingenieure und erhalten denselben Titel wie Maschinenbauer, Bauingenierue, Elektrotechniker: Diplom-Ingenieur (oder jetzt neu: Master of Science)
Der DI ist aber nicht primär der akademische Standardgrad für Informatiker, sondern der akademische Standardgrad für Absolventen einer technischen Hochschule. Und die haben sich erstritten, dass sie weiterhin auch DIs vergeben dürfen (zusätzlich zum MSc).
Wenn du vor zehn Jahren Informatik auf der Uni Wien studiert hast, wurde dir ein Mag verliehen, auf der TU der DI. Heute wird dir auf der Uni Wien der MSc verliehen und auf der TU der wahlweise als MSc verwendbare DI.
Selbes Phänomen bei Architekten: Auch keine Ingenieure im engeren Sinne. Bei Studium an der TU bekommen sie den DI, beim Studium an der Angewandten bekommen sie irgendeinen Master (früher: Mag).
Diplom-Blablubb gibt es hier eigentlich nur für Berufsausbildungen wie Krankenpfleger oä. (mal abgesehen vom Dkfm, den es an der WU bis in die Siebziger gab), ergo auch kein Diplom-Informatiker für ein Hochschulstudium.
edit: Um das ganze nochmal eine Spur komplizierter zu machen gibt's natürlich auch Ausnahmen. Als Lehramtler an der TU schließt man grundsätzlich mit dem Mag ab, als Wirtschaftsinformatiker an der Uni Wien bekam man früher IIRC auch den DI.
edit2: Wobei WInf früher wohl auch ein interuniversitäres Studium zwischen TU und Univie war.
-
Was alles nichts daran ändert, dass Informatiker und Architekten Diplomingenieure sind wenn sie ihre Ausbildung an einer TU absolviert haben.
MfG SideWinder
-
SideWinder schrieb:
Was alles nichts daran ändert, dass Informatiker und Architekten Diplomingenieure sind wenn sie ihre Ausbildung an einer TU absolviert haben.
Klar, aber eben nur genau dann, wenn sie an einer _TU_ waren. Typischerweise werden also einfach TU-Absolventen als Ingenieure gehandelt. Informatiker nicht zwangsläufig.
-
Ich bin Diplominformatiker, weil ich "praktische Informatik" studiert habe.
Dann gab es noch die Kommunikationsinformatik, die ebenfalls "Diplom-Informatiker" produzierte, die sich aber mehr mit Strippenziehen beschäftigten, Protokollen und soweit ich weiß etwas mehr E-Technik als wir hatten. Dann gibt es die Technische Informatik, die noch mehr lötet und schon "E-Technik"-Studiengang angesehen wird. Diese bekamen dann einen "Diplom-Ingenieur" auf die Pappe gedruckt.
Der Fachbereich hieß "E-Technik und Informatik".Das ganze ist ein fließender Übergang.
Ansonsten ist "Diplom" der interessante Punkt.
Die Fähigkeit sich mit einem Thema so auseinander zu setzen, dass man es umsetzen kann. Ich verstehe von Verlegung von Kabeln auf fremden Grundstücken und Brandschutz auch nichts. Und als wir das Netzwerk im Studentenwohnheim legen wollten, hat man sich die entsprechenden Informationen besorgt, sich die entsprechenden Leute gesucht, die einen auf den Weg brachten und eben gelernt, wie viel Kupfer man durch eine Brandschutzmauer legen darf und wie man das anschließend wieder brandsicher bekommt, ohne dass ein Brandschutzbeauftragter mit dem Kopf schüttelt. Deswegen hat man sich ja auch vorher mit ihm unterhalten. Und mit der Stadt hat man geklärt, wie man ein Kabel über bzw. besser unter fremde Grundstücke legt.
Im Studium sollte jeder lernen, sich bei Problemen zu helfen. Egal, was hinter dem "Diplom-" auf die Pappe gedruckt wird. Das drückt nur ein bevorzugtes Interesse aus.
µ schrieb:
Info schrieb:
[...] Software ingenieursmäßig entwickelt [...]
Softwareentwicklung ist alles, nur kein "ingenieursmäßiger" Prozess.
Imho muss ein guter Softwareentwickler auch sehr gut Programmieren können. Die Pappnasen die nach der Uni direkt eine Projektleitung übernehmen wollen, und schon bei einem 1000-Zeiler ins straucheln geraten, können keine gute Software bauen.
Das bedeutet aber nicht, dass alle Softwarearchitekten nicht programmieren können.
µ schrieb:
Mit einem guten Freund habe ich mich schon ziemlich gestritten, weil er sich als Softwarearchitekt beworben hat (für 80k€/Jahr, lol), aber ein rotzenschlechter Programmierer ohne Praxiserfahrung ist. Weder hat er Grundlagen wenigstens einer Sprache drauf, noch irgendeine Ahnung von Entwufsmustern und dergleichen. Er ist aber der Meinung, dass er das trotzdem kann auf Grund bescheuerter SE-Vorlesungen vor X Jahren.
SE-Vorlesungen hatten wir auch. Unsere Gruppe hat hervorragend abgeschnitten, wir waren nahezu alle erfahrene Entwickler. Wir legten eine ausgezeichnete Planung hin, die den Prof begeistert hat.
Die Sache hatte zwei Haken: 1.) Die Zeit und 2) die Realität. Wir konnten alle entwickeln und wir hatten das Ziel das Projekt sinnvoll lauffähig und funktionsfähig zu bekommen. Also haben wir uns mit dem Kunden zusammengesetzt, das Produkt aufgesetzt und unsere Erfahrung spielen lassen. Nebenbei haben wie die Planung und Dokumentation gemacht. Die Planung lief bereits deswegen so gut, weil sie sich mit der Umsetzung entwickelte. Dass das ganze problemlos verlief, war der Erfahrung der Leute geschuldet.
Ich habe das mal in diesem Forum irgendwo zusammengefasst. Ein guter Architekt versteht, was passieren muss, um eine Software zu realisieren. Dazu gehört zum einen ein vorausschauendes Planen und ein trainiertes Bauchgefühl um die Zeiten abzuschätzen, die man nicht einschätzen kann und der Teamfaktor: Wie fähig ist das Team, wie oft verrennt es sich oder ist jeder sein eigener kleiner Architekt, der seine Probleme selbst organisiert bekommt.
Entsprechend ist Software-Engineering die richtige Planung der Software und die richtige Einschätzung, wie die Leute arbeiten, wann sie Hilfe brauchen und wer welchen Bereich qualitativ umsetzen kann.
Ein Ingenieur macht nichts anderes. Nur, dass der Software-Architekt virtuelle Werkzeuge nutzt.
-
Salopp gesagt: wenn der Begriff Ingenieur von englisch engine = Maschine abgeleitet ist, dann sind wenige Ingenieure solche. Aber, was Informatiker machen ist oft eine Maschine oder sollte es sein. Hakt manchmal und muss geölt werden. Das machen dann die Progger.
-
Ich habe "angewandte Informatik" an einer Uni (nicht TU) studiert, bin Master of Science und darf dn Titel Ingeniur tragen. Bei uns war der Punkt, dass wir an der Fakultät für Ingeniure beheimatet waren und wir deswegen irgendwie ingeniure sein müssen.
Deswegen steht bei mir unten ganz klein:
"Mit erhalt dieses Zeugnisses darf Herr ... die geschützte Berufsbezeichnung 'Ingenieur' verwenden"
-
berniebutt schrieb:
wenn der Begriff Ingenieur von englisch engine = Maschine abgeleitet ist
Ist er aber nicht.
-
Bashar schrieb:
berniebutt schrieb:
wenn der Begriff Ingenieur von englisch engine = Maschine abgeleitet ist
Ist er aber nicht.
Ingenieur ist nicht von engine abgeleitet, beide Worte haben aber den gleichen Ursprung "ingenium", aus der auch das Genie herkommt. Es handelt sich um eine geistige Leistung, eine klevere Erfindung, bzw. ein Beruf den "Erfinder". Das war früher vorrangig handwerklich orientiert, aber grundsätzlich ist der Ursprung des Wortes nicht auf Handwerkliche gebunden, sondern bezieht sich auf die geistige Leistung, die vollbracht wird.
Eine Engine ist eine geniale Erfindung.
-
otze schrieb:
"Mit erhalt dieses Zeugnisses darf Herr ... die geschützte Berufsbezeichnung 'Ingenieur' verwenden"
Geht vielen so: 'Gestern wusste ich nicht einmal wie Inschenör geschrieben wird - und heute bin schon einen!'
-
Softwareentwicklung ist alles, nur kein "ingenieursmäßiger" Prozess.
Wie darf man das verstehen ?
In der Praxis habe ich schon extreme Negativbeispiele erlebt, in denen Softwareentwicklung mehr mit Sabotage und Glockengießen gemeinsam hatte. Wenn Algorithmen von Fachfremden in Code gegossen wurden und sie dann noch meinten können gut Programmieren...
Da könnte ich mir schon Vorstellen, dass man einen solchen Entwicklerhaufen mittels Methoden des Software-Engineering unter einen Hut bringt.
Aber SW hat irgentwie seit je her einen schlechten Ruf, obwohl es noch nie den den Ruf hatte auf alles eine Antwort zu wissen und dies einige Leute nicht verstehen.
-
Bei den Römern mußte angeblich der Brückenbau-Ingenieur unter dem Bogen stehen, wenn das erste Mal eine Kohorte der Armee drüber marschierte. Das hat die Qualität dramatisch gehoben.
Software hat leider auch den Nachteil, daß man seine eigenen Fehler so prächtig verschleiern kann... wenn was nicht geht, ist es für den Anwender nicht entscheidbar, ob der Programmierer Karl Meier Schuld hat oder doch das Windows... Verantwortung und deren Sichtbarkeit stehen nicht im Einklang.
-
Zum Thema Softwarequalität:
Ich denke, die Komplexität der Software ist in vielen Bereichen mittlerweile ganz gut beherrschbar. Auch hat sich in den letzten Jahren (insbesondere hinsichtlich Tools) einiges getan. Domain Driven Design, Model Based Testing, Automatisierte Testfallgenerierung, Statische Analyse-Werkzeuge, um mal ein paar Beispiele zu nennen.Bei uns im Unternehmen wird ein sehr hoher Aufwand betrieben, Softwarequalität zu garantieren. Insbesondere nehmen wir uns stetig Zeit für Evaluationen, wie wir unsere Softwarequalität noch weiter verbessern.
Wenn ich aber die Zustände in anderen Firmen betrachte, wundert mich teils garnichts mehr. Die Entwickler bekommen nicht die Zeit, sich weiterzuentwickeln. Viele entwickeln nach dem Trial-And-Error-Prinzip, keine Dokumentation, keine Spezifikation, keine Werkzeuge außer dem Compiler. Es geht ja schließlich auch so, irgendwie.
Von der Theorie, wie man zu vernünftigen Testfällen kommt, haben viele Entwickler keine Ahnung. Ebenso wissen viele nicht, wie man eine vernünftige Sw-Architektur aufsetzt. Die Klassenverbände haben ähnlich Struktur wie der GOTO-Spaghetti-Code in den 80ern.Lange Rede, kurzer Sinn: viele Firmen haben bessere Softwarequalität schlicht nicht verdient, weil sie diesbezüglich nicht investieren. Das dumme ist nur, dass man selbst Aufwand ohne Ende betreiben kann. Ist man letztlich auf Komponenten von einem Frickel-Hersteller angewiesen, hat man die Probleme plötzlich dennoch auf der eigenen Baustelle.
-
Kann mir mal jemand so by the way den Unterschied zwischen einem Software-Ingenieur und einem Software-Archtiekten erklären?
-
Das müssen der Fachbereich Informatik und die Leute und Firmen klären, die diese Begriffe verwenden. Der Begriff Design kommt auch noch vor. Klingt alles besser als Programmierer oder etwa Software-Schneider oder Software-Klempner.