Informatiker vs. Ingenieure



  • Troll dich. Ich bin Informatiker. Ich schreibe keinen schlechten Code.



  • knivil schrieb:

    Troll dich. Ich bin Informatiker. Ich schreibe keinen schlechten Code.

    Du vielleicht nicht. Aber Du siehst bestimmt in Deiner Nachbarschaft wunderliche Dinge und manchmal auch Projekte sehr früh sterben.

    Der Maschinenbauer sieht auch gelegentlich Getriebe, die sich nicht in das Gehäuse einbauen lassen (stirbt früh) oder drei Zahnräder, wo ein Kniehebel die selbe Aufgabe leichter, sicherer, billiger und viel besser erfüllen könnte (schlecht). Architekten planen manchmal die Speisekammer so, daß alle Lieferungen durch die Küche getragen werden müssen, naja, es sind ja keine Köche. Man sieht neu gepflasterte Radwege mit nicht abgesenkten Bordsteinen.

    Ich vermute, in allen Bereichen sieht man wunderliche Dinge. Man sieht die Wunderlichkeit natürlich stärker in Fachbereichen, wo man selber daheim ist. Meine Southbridge hätte durchaus einen größeren Kühlkörper verdient. Das macht bei einem 150€-Board den Bock nicht fett. Aber welchen Quatsch die Leute in meinem Fernseher gemacht haben, das begreife ich nicht. Oder im Auto. Das bringe ich zweimal im Jahr zur Werkstatt, weil wieder was kaputt ist. Und die machen das. Wieviel davon ungeschicktem Design zu verschulden ist, entzieht sich meiner Kenntnis.

    Edit: Außerdem sehen wir manchmal den Quellcode! An dem kann man trefflich meckern. Der Anwender sieht ja nur die grafische Oberfläche. Minecraft funktioniert und macht Spaß. Das drunter Java ist und manch ein übler Fehler drin steckt, muß er nicht wissen. Gelegentliche Abstürze sind alles, was ihm auffällt. Ich sehe mehr, und sehe gelegentlich, wo das Game anders als gewünsch reagiert, was durch einen mir bekannten Programmierfehler die leichteste Erklärung findet.



  • knivil schrieb:

    Troll dich. Ich bin Informatiker. Ich schreibe keinen schlechten Code.

    Ach was.



  • Nachdem das Thema so interessant ist: Spielst du Minecraft @ volkard? 😃



  • Ich denke, man kann das nicht direkt vergleichen, weil die Ursachen für schlechte Qualität andere sind, und die Auswirkungen auch. Schlechte Codequalität hat ihre Ursachen in Unfähigkeit und Selbstüberschätzung. Man könnte zwar anführen, dass für gute Codequalität oft nicht ausreichend Zeit zur Verfügung steht, aber das ist letztlich auch Selbstüberschätzung ("wir schaffen das!") und kein bewusster Tradeoff ("wir sparen jetzt 2 Wochen, dafür bekommen wir 5 zusätzliche Bugs, 10% längere Entwicklungszeit für zukünftige Erweiterungen und können in 5 Jahren den Code wegschmeißen"). Die Auswirkungen sind auch in erster Linie schlechte Wartbarkeit und Erweiterbarkeit.
    Schlechte Qualität bei "anfassbaren" Dingen hat dagegen ihre Ursachen hauptsächlich im Kostendruck, das sind bewusste Abwägungen, so dass man irgendwo z.B. ein Bauelement einspart und gegen leicht schlechtere Signalqualität eintauscht, solange alles im Rahmen bleibt. Und die Auswirkungen betreffen auch in erster Linie den Kunden. Jedenfalls glaube ich nicht, dass Wartbarkeit und Erweiterbarkeit bei Schalt- oder Konstruktionsplänen eine ähnlich große Rolle spielen wie bei Software. Die Zeiten, in denen der Fernsehtechniker noch selbst rumgelötet hat, sind ja lange vorbei.

    Ach ja, in bin Ingenieur, schreibe aber Software. Das sind die schlimmsten 😉



  • 314159265358979 schrieb:

    Nachdem das Thema so interessant ist: Spielst du Minecraft @ volkard? 😃

    Hab's gekauft, weil RL-Freunde so begeistert sind und mich gerne auf ihrem Server dabei hätten. Aber unter Linux ist es so grieselig, daß man nichts erkennt (Vielleicht klappt OpenGL nicht mit Sandy-Brisge HD3000 und Java?). Und unter WinXP in einer VirtualBox klappt die Steuerung nicht (Ich nehme an, sie greifen nicht dx|dy von der Maus, sondern greifen x|y und setzen nach jeder Mausnachricht den Mauscursor zurück, aber VirtualBox emuliert eine absolute Maus, die nicht rücksetzbar ist.).



  • Bashar schrieb:

    Ach ja, in bin Ingenier, schreibe aber Software. Das sind die schlimmsten 😉

    Nö, Du nicht. Ich könnte mir vorstellen, daß man Dich einsetzt, um zehn Programmierer zu betreuen, die dadurch doppelt so effektiv werden. Als Mädchen für alle harten Probleme, als advocatus diaboli in Designfragen, und als Realitätschecker.

    Ach, Du bist Ingenieur? Sachen gibts.



  • volkard schrieb:

    314159265358979 schrieb:

    Nachdem das Thema so interessant ist: Spielst du Minecraft @ volkard? 😃

    Hab's gekauft, weil RL-Freunde so begeistert sind und mich gerne auf ihrem Server dabei hätten. Aber unter Linux ist es so grieselig, daß man nichts erkennt (Vielleicht klappt OpenGL nicht mit Sandy-Brisge HD3000 und Java?). Und unter WinXP in einer VirtualBox klappt die Steuerung nicht (Ich nehme an, sie greifen nicht dx|dy von der Maus, sondern greifen x|y und setzen nach jeder Mausnachricht den Mauscursor zurück, aber VirtualBox emuliert eine absolute Maus, die nicht rücksetzbar ist.).

    Dann weiß ich schon, wen ich zu einer Runde PVP/Spleef herausfordere 😃



  • xepre schrieb:

    Bauen eigentlich andere Ingenieure (z.B. Maschinenbau, Elektortechnik) auch so grottige Sachen wie manche Informatiker?

    da ich mit meinem Informatikabschluss das Recht erworben hab, den Ingenieurstitel zu tragen (ja, Sachen gibts :D), kann ich das definitiv bestätigen.

    Jetzt mal ernsthaft. Überall machen Anfänger die selben Fehler. Ist ja klar. Sie haben eine schwierige Aufgabe und kaum Erfahrung. Natürlich werden da die ersten Projekte etwas suboptimal. Allerdings hängen hinter dem Ingenieur mehr Leute, die ein Auge drauf haben. Wenn der Ingenieur einen Fehler macht, schaut da zumindest nochmal der Konstruktionszeichner drauf, der (mit genug Erfahrung) diverse Fehler erkennt und vielleicht direkt korrigiert. Oder ihn direkt drauf hinweist "Der Fußboden wird niemals eben sein, da sich das Material mindestens 10 cm durchbiegen wird"). Bei den Informatikern fehlt dieser Schritt oft. Programmierer und Programmplaner sind da oft ein und die selbe Person.



  • alles falsch. Es liegt daran, daß die Informatik mit ihren paar Jahrzehnten Historie noch viel zu jung ist.

    Andere Ingenieursdisziplinen wie Architektur und Maschinenbau haben einen Vorsprung von Jahrtausenden.



  • !rr!rr_. schrieb:

    alles falsch. Es liegt daran, daß die Informatik mit ihren paar Jahrzehnten Historie noch viel zu jung ist.

    Ich habe noch eine andere Erklaerung:

    Programme sind wesentlich komplexer als die meisten Sachen, mit denen sich Ingenieure jenseits der Informatik auseinandersetzen. Ich behaupte einfach mal, dass ein Staubsauger wesentlich einfacher aufgebaut ist, als ein kleines Programm mit einigen zehntausend Codezeilen. Wenn aber die Taetigkeit in einem wesentlich komplexeren Gebiet stattfindet, dann werden Dinge wie Erfahrung deutlich relevanter. Die lernt man nicht auf der Uni. Auch die Menge an Werkzeugen ist in der Informatik unglaublich gross und aendert sich andauernd.



  • Gregor schrieb:

    Ich behaupte einfach mal, dass ein Staubsauger wesentlich einfacher aufgebaut ist, als ein kleines Programm mit einigen zehntausend Codezeilen.

    Ich behaupte auch mal, dass eine mittelgroße Software bereits komplexer ist als ein modernes Hochhaus oder der mechanische Teil eines Autos. Dazu kommt, dass wir nicht systematisch arbeiten können, weil die Softwareentwicklung ein kreativer Prozess ist.



  • Hmm, Ingeneure waren bei uns die, die an unserer Uni größtenteils schon bei Mist wie Binary Search ausgestiegen sind. Gut, viele Informatiker auch.

    Die besten in den Programmierkursen, die wir gemeinsam hatten, waren eindeutig die Mathematiker. 😃



  • volkard schrieb:

    Ich könnte mir vorstellen, daß man Dich einsetzt, um zehn Programmierer zu betreuen, die dadurch doppelt so effektiv werden. Als Mädchen für alle harten Probleme, als advocatus diaboli in Designfragen, und als Realitätschecker.

    Ich auch, aber der Realitätschecker sagt was anderes 😉

    Ach, Du bist Ingenieur? Sachen gibts.

    Da studiert man ganz unschuldig E-Technik und plötzlich ist man Ingenieur. Hätt ich das vorher gewusst...



  • Gregor schrieb:

    Programme sind wesentlich komplexer als die meisten Sachen, mit denen sich Ingenieure jenseits der Informatik auseinandersetzen. Ich behaupte einfach mal, dass ein Staubsauger wesentlich einfacher aufgebaut ist, als ein kleines Programm mit einigen zehntausend Codezeilen.

    Ich behaupte mal, dass ein Mikrochip mit mehreren Millionen Transistoren wesentlich komplizierter ist als ein kleines Programm 😉 :P.



  • Der beste Programmierer (extrem sauber), den ich persönlich kenne, ist Ingenieur. Ich selbst bin Informatiker. 😉



  • Zurück zum Thema Informatiker vs. Ingenieure!

    Beide haben ihre fachspezifischen Stärken wie auch Schwächen. Manchmal muss man zusammenarbeiten und sich gegenseitig ergänzen. Das Stichwort der 70er-Jahre dafür hiess Interdisziplinarität - heute vergessen? 😕 Niemand kann alles wissen! 🕶

    Ich hatte als Ingenieur oft grosse Schwierigkeiten, einem eingestellten Informatiker die Wünsche und Anforderungen eines technisch orientierten Kunden zu erklären. Die Arbeit blieb dann oft an mir als Ingenieur hängen. Diese Informatik-Mitarbeiter konnten so keinen Beitrag zum notwendigen Gewinn beitragen und blieben nicht lange.



  • lustig schrieb:

    Gregor schrieb:

    Programme sind wesentlich komplexer als die meisten Sachen, mit denen sich Ingenieure jenseits der Informatik auseinandersetzen. Ich behaupte einfach mal, dass ein Staubsauger wesentlich einfacher aufgebaut ist, als ein kleines Programm mit einigen zehntausend Codezeilen.

    Ich behaupte mal, dass ein Mikrochip mit mehreren Millionen Transistoren wesentlich komplizierter ist als ein kleines Programm 😉 :P.

    Naja, wie entwirft man den denn? Du setzt ja nicht jeden Transistor einzeln auf den Chip. Stattdessen hast Du dort eine Hierarchie von Komponenten. Auf einer der oberen Ebenen arbeitest Du dort mit Begriffen wie ALU, Speicher und so. Von dort kannst Du ein Stueck runtergehen und arbeitest dann mit Begriffen wie Addierer oder Multiplizierer. Dann gehst Du noch weiter runter und hast es ploetzlich mit Logikgattern zu tun.

    Der Punkt ist, dass Du dort eine sehr genaue Struktur vorgegeben hast, die aus vielen separaten Komponenten besteht. Das macht den Chipentwurf insgesamt etwas einfacher als einen Programmentwurf. Wobei es schoen waere, wenn man Programme auch auf diese Art aufbauen koennte. In die Richtung wird vermutlich auch noch einiges gehen, insgesamt aber vermutlich weniger als bei der Hardware.

    Aber zugegeben: Chipdesign ist auch hoechst komplex. Und es wird auch zunehmend komplexer, da durch Moore's Gesetz immer Komponenten auf einen Chip integriert werden koennen. ...und auch beim Chipdesign werden Fehler gemacht. Guck Dir mal die Fehlerlisten bei irgendwelchen handelsueblichen CPUs an.



  • Ich kenne den Chef eines Unternehmens, der meinte mal, er stellt am liebsten E-techniker als Programmierer ein weil die sich da anscheinend am besten anstellen und das von der Picke an gelernt haben (ASM oder C, keine Ahnung was er damit gemeint hat).

    Keine Ahnung obs stimmt. Ich kenne sowohl gute Informatiker als auch gute E-techniker die guten Code produzieren, und gleichermaßen kenn ich in beiden Fachrichtungen Leute, die wenig bis 0 Plan vom Programmieren haben, sogar wenn sie Informatik studiert haben!
    Hatte z.B. mal einer FH Informatik Studentin Nachhilfe gegeben, da sie im Abschlussprojekt ein C Programm schreiben musste. Die Frau hatte 0 Plan, wusste nicht wie man if for while oder Arrays verwendet. Und dabei sind das nur die Basics. Sie läuft aber inzwischen schon mit einem schönen Bsc. Titel herum, ich noch nicht.

    Auch der Verglich, ob es schwieriger ist einen Mikrochip zu designen oder eine Software, ist sinnlos. Die Dinge sind einfach ganz anders. Aber schwierig kann beides sein! Im Übrigen werden Chips heutzutage auch ncht mehr Transistor für Transistor zusammengestöpselt am Schaltplan, sondern werden auch schon "programmiert", und der Compiler übersetzt das Programm dann in Schaltpläne, welche letztendlich produziert werden können.

    Letztlich sollte man immer einzelne Personen vergleichen und nicht von Personengruppen auf einzelne Personen schließen. Wer beim Vorstellungsgespräch automatisch entweder Informatiker oder Ingenieur ausschließt, der wird seinen perfekten Mitarbeiter vielleicht gerade dadurch nicht finden!



  • peanuts schrieb:

    Gregor schrieb:

    Ich behaupte einfach mal, dass ein Staubsauger wesentlich einfacher aufgebaut ist, als ein kleines Programm mit einigen zehntausend Codezeilen.

    Ich behaupte auch mal, dass eine mittelgroße Software bereits komplexer ist als ein modernes Hochhaus oder der mechanische Teil eines Autos.

    Das kann man doch überhaupt nicht ernsthaft vergleichen.


Anmelden zum Antworten