Deutsche Programmierer im internationalen Vergleich nur im Mittelfeld

Rund 1,5 Millionen Programmierer aus aller Welt sind bei HackerRank registriert. Nun wurde eine Statistik veröffentlicht, wie gut die Programmierer aus den einzelnen Ländern abschneiden.

Deutsche Programmierer im internationalen Vergleich nur im Mittelfeld | heise online

Würde ich direkt so unterschreiben, weniger als mittelmäßig sogar.

Nach dem Test haben die Chinesen besonders in Mathe und Logik sehr gut abgeschnitten. Die Chinesen sind klasse in Mathe, hat auch etwas mit derer Sprache zu tun, es ist viel leichter auf chinesisch im Kopf zu rechnen und logische Zusammenhänge zu erarbeiten.

Naja, wie aussagekräftig das ist…

Meiner Erfahrung nach wird in Deutschland tatsächlich wenig Wert auf Algorithmen und mathematische Probleme gelegt. Ich selbst bin da keine Ausnahme, ich kann wenige Sortieralgorithmen entwickeln, und bin mathematisch nicht wirklich fit. Damit bin ich natürlich auch für einige Entwicklerstellen disqualifiziert. Dafür kann ich sauberen Code produzieren und Architekturen aufziehen, was mich in der Industrie gut unterbringt Die Frage ist, wo liegt in den Ausbildungssystemen in den einzelnen Ländern der Fokus, und was ist das Ziel im Beruf? Wie hoch ist der Anteil an Akademikern in diesen Ländern bei den Personen die an Hackerrank teilnehmen? Wir haben z.B. viele Hobbyprogrammierer, viele Quereinsteiger und viele Leute die aus einer Berufsausbildung kommen, in Indien läuft das eher über die akademischen Stränge, etc. etc…

Also ich denke auch, dass so ein Ranking recht willkürlich ist und einen “guten Programmierer” mehr ausmacht, als Algorithmen zu implementieren. (muss er natürlich auch können…).

Interessant wäre zu Beispiel, ob die Teilnehmer Unittests zu ihren Algorithmen geschrieben haben. Das würde ich nämlich von einem guten Programmierer erwarten…

bye
TT

Ich finde es sowieso immer interessant, dass z.T. auf der einen Seite gesagt wird, ja du musst diese oder jene Sortierung implementieren können usw. Aber auf der anderen Seite heißt es bei vielen Kleinigkeiten: Ja da gibts ne Bibliothek, die macht das für dich.
Klar schadet es nicht zu wissen wie z.B. Quicksort funktioniert aber muss ich das dafür auch super implementieren können?

Komisch, der Test scheint nicht so gebildet zu sein. Algorithmen und Logik zählen nämlich nicht zur Mathematik - und das schlechte Abschneiden ist ganz einfach zu erklären: Modefach in de.

Will mich jemand aufgrund meiner Aussage(n) angreifen? :smiley:

Vor ein paar Jahren war ich mal über HackerRank gestolpert, und dachte schon, dass es cool wäre, daran mal teilzunehmen. Andererseits braucht es wohl schon ein gewisses comittment. Und (so wie ich das GROB in Erinnerung habe) man darf sich wohl ein Portfolio von Code aufbauen, auf das man dann zurückgreifen kann, um eine bestimmte Challenge zu lösen. (Womit auch klar ist, warum die ganzen Kopierchinesen ganz vorn dabei sind :o) )

Wie wär’s mit einem kollaborativen effort von byte-welt.net, …
…to make Germany great again?* :smiley:

  • diese Aussage bezieht sich nicht auf die Westgrenze Polens :o)

[OT]

Sondern die Ostgrenze Deutschlands? :o) scnr[/OT]

Eben. Die deutschen „Programmierer“ beschäftigen sich doch größtenteils mit Planung, Architektur und Projektmanagement. Der richtige Code wird dann von billigen Arbeitskräften irgendwo in China oder Indien geschrieben.

Mir ist jetzt nur die Spielebranche bekannt die noch wirklich selbst entwickelt - die hängen aber auch am Armutstropf und auch hier wird immer mehr outgesourced.

Code schreiben kann jeder Hauptschüler, dafür braucht es keinen teuren Abschluss.

Wie ernst DAS nun gemeint war, ist mangels Smileys etc. nicht ersichtlich (ich gehe aber davon aus, dass es NICHT besonders ernst gemeint war). Es gibt (unfundiertem Hörensagen nach) auch etliche Firmen, die die Entwicklung outgesourct haben, und dann irgendwann gemerkt haben: „Sh!t, das funktioniert so wohl doch nicht“, und dann auf einem Haufen Quälkot saßen.

Und es gibt Leute wie J. Tulach, der mal hervorgehoben hat, dass z.B. zwischen den USA und Europa ein „kultureller“ Unterschied besteht. (Absurderweise finde ich die Seite gerade nicht mehr). Der resultiert daraus, dass in den USA die Informatik-Fakultäten ihre Wurzeln traditionell bei „Electrical Engineering“ haben, und in Europa eher bei „Mathematik“. Ich denke schon, dass sowas Einfluß auf die Sichtweise haben kann. Wie es in China oder Russland ist, weiß ich nicht. Aber schon sowas wie der Tag des Programmierers – Wikipedia zeigen ja, dass Programmieren in Russland einen GANZ anderen Stellenwert hat, als etwa hierzulande.

(Hier könnten noch die üblichen abstufenden Ausdifferenzierungen eine Rolle spielen,
„Software entwickeln“ ↔ „Programmieren“ ↔ „Code hinschreiben, der was macht“
aber das muss man jetzt nicht unbedingt auswalzen).

Unabhängig davon fand und finde ich es absurd, wenn jemand sagt, Programmieren sei nur „Handwerk“. Es ist gleichermaßen auch eine Kunst und eine Ingenieurswissenschaft. Wer keinen Zusammenhang zwischen Algebra und Objektorientierter Programmierung sieht, hat wohl etwas übersehen. Und wer bei den Worten „Gruppe, Ring und Körper“ an mehrere Leute, etwas rundes und das Ding unter seinem Kopf denkt, disqualifiziert sich IMHO, sich mit Dingen wie Operatorenüberladung zu beschäftigen. Aber wenigstens in der Funktionalen Programmierung ist die Theorie (aka, hier, Mathematik) offensichtlicher.

Ein wesentlicher Faktor wurde hier noch nicht genannt: Studium Bolognese.

Es stimmt, dass in den USA die Ausbildung ähnlich läuft. Nur erwartet dort die Unternehmen nicht, einen “fertigen” Informatiker von der Uni zu bekommen, und (zumindest die besseren) investieren in die innerbetriebliche Ausbildung.

Die Erkenntnis, dass die Zeit im Bachelor-Studium nicht ausreicht, um das praxisrelevante Wissen (von der Theorie wollen wir ganz schweigen) zu erwerben, hat sich dagegen in Deutschland noch nicht rumgesprochen, und die Unternehmen setzen fröhlich und ohne flankierende Maßnahmen Bachelors für Aufgaben ein, die früher Diplom-Informatiker erledigt haben. Durch den insgesamt gestiegenen Leistungsdruck haben selbige auch relativ wenig Chancen, sich selbständig weiterzubilden.

Wenn Deutschland programmiertechnisch wieder great again werden möchte, muss entweder der Bachelor-Wahn beendet und wesentlich stärker auf Master gesetzt werden, oder die Unternehmen dürfen sich nicht länger aus der Verantwortung stehlen (schließlich war es eine Forderung der Industrie, die Ausbildungszeiten zu verkürzen) und müssen endlich die innerbetriebliche Weiterbildung ernst nehmen - was bei der heutigen hire-and-fire-Mentalität eher schwierig werden dürfte.

mein Einwand wie immer zu sowas: an die Masse der Anwender denken,
die Zahl derjenigen, die Programmiersprachen an sich entwickeln, oder mit Scala & Co. evtl. so seltsam programmieren dass ähnliches rauskommt :wink: (Operatorenüberladung…) ,
mag in Foren oder auch Programmierwettbewerben größer erscheinen, ist allgemein aber doch eher unbedeutend

vielleicht vergleichbar mit Germanistik-Studium, was immer da drankommt,
nur die wenigsten werden später Sprach-Professoren,
die breite Masse Journalisten oder Roman-Autoren die einfach nur ihre Texte sauber schreiben,
wenn sie überhaupt ein solches Studium dafür brauchen, geht auch ohne…

Programmieren ist in der Breite Handwerk, für Normalbegabte, die im Büro sitzen, statt draußen rumzulaufen,
die Welt ist nicht einfach um Millionen Jobs intelligenter als noch vor 30 Jahren geworden
(genug neue geeignete Chinesen + Inder mag es freilich geben, vorher ungenutztes Potential…),
das Informatik-Studium ist für 80%+ der Absolventen zu 80%+ sinnlose Inhalte,

auf dem Bau in der realen Welt arbeiten 100 Arbeiter und wenige Architekten/ Vorarbeiter,
auf dem virtuellen Bau muss es auch nicht viel anders aussehen :wink:

man stelle sich vor, die Bauarbeiter hätten alle das Architekten-Studium machen müssen…,
gibt es konkret formulierbare Erkenntnisse, wie das Bachelor-Studium nicht ausreicht?

evtl. Probleme liegen vielleicht in der allgemein höheren Zahl Absolventen/ Stellen,
‚absolventen informatik‘-Bildersuche zeigt ja einigen Anstieg,

bei weiterhin Diplom bzw. mehr Master hätten es vielleicht nicht so viele gemacht/ geschafft, Durchschnitt höher…,
aber ob sie dabeigeblieben und einfach ‚besser‘ geworden wären?

[OT]

Was ist denn der wesentliche Unterschied zwischen Handwerk und Kunst?
Kunst schafft Unikate, die über ihre Existenz hinaus keinen weiteren Sinn und Zweck haben, und deren Existenz andere einen Wert beimessen. (Womit ich nicht sagen will Kunst wäre sinnlos!)

Handwerk dagegen schafft wiederholbar Dinge mit Nutzwert (eben über die reine Existenz hinaus). Dazu benötigt der Handwerker Werkzeuge sowie Wissen und Übung.
Talent hilft, ist aber nicht zwingend erforderlich.

Also ich bin da doch ehr Handwerker (und Ingenieur) als Künstler.[/OT]

bye
TT

Nun, eines der in diesen Satzfragmenten versteckten Argumente trifft ja auf viele Bereiche zu. Ich hätte kein Problem damit, ein Loch in meinem Zahn von jemandem flicken zu lassen, der einigermaßen fingerfertig ist und das in einem drei-Wochen-Schnellkurs an ein paar Schweinezähnen geübt hat. Trotzdem macht es ein Arzt, der Medizin studiert hat (und nebenbei schonmal 100€ allein dafür bekommt, dass er seinen Golfschläger zur Seite legt :rolleyes: ).

Es ist schwierig bis unmöglich, „GENAU DAS“ zu lernen, was man in der Realität ™ braucht. Und ich weiß, dass manche Leute vieles von dem, was man macht, weil man mal ~„gelernt hat, dass das gut ist“ als akademisch und praxisfern ansehen, und im Gegenzug mit dem Euphemismus „das ist eine pragmatische Lösung“ den größten Sche!ßdreck rechtfertigen.

Sicher ist vieles oder sogar das meiste, was man an der Uni lernt, nicht direkt praxisrelevant. Aber ich denke, dass bestimmte Kenntnisse sehr wohl indirekt Einfluß darauf haben, ob man ein „guter Programmierer“ ist, oder nicht - denn dieses „gut“ hat einfach SO viele Facetten, die alle mal wichtig sein können. Und ich denke auch, dass, ähnlich wie bei der Erbse und der Prinzessin, schon eine Kleinigkeit „oben spürbar“ sein kann. (Um der Gefahr des Eindrucks entgegen zu wirken, ich wollte sagen, dass „nur Dipl-Infs richtig programmieren können“: Das will ich nicht…). Aber aus all diesen Gründen ist es schwierig, konkret zu benennen,
„…wie das Bachelor-Studium nicht ausreicht“
Und ich denke auch, dass man bei den Studieninhalten einige Schwerpunkte durchaus verschieben könne (bzw. breiter auffächern. Ich habe noch gelernt, bei irgendwelchen Schaltbildern irgendwelche Spannungsverläufe von Kondensatoren auszurechnen. Wenn mich das konkret interessieren würde, hätte ich E-Technik studiert, und relevant war es für mich bisher auch nicht).

Ein möglicher Argumentationsstrang könnte sein:

  • Für eine for-Schleife braucht man kaum echtes Wissen
  • Für eine ganze Methode kann ein bißchen Wissen über Funktionen (im Mathematischen Sinn) nicht schaden
  • Für eine Klasse sollte man ein bißchen Algebra kennen
  • Für ein komplettes Softwaresystem braucht man von all dem etwas, und noch mehr
  • Für speziellere Anwendungen braucht man spezielleres Wissen (Grafik, Netzwerk, Datenbank, Sicherheit) das man sich nur bedingt außerhalb eines Studiums aneignen kann

(Ich glaube, der Thread driftet gerade ab - aber erstens bin ich mir da nicht sicher, und zweitens weiß ich nicht, wo hin …)

*** Edit ***

Soo OT finde ich das nicht (bin da aber, wie gesagt, nicht sicher :D). Und als Ergänzung zur Selbstbeantwortung: Ich finde, das Programmieren immer auch mit Ästhetik zu tun hat. Es mag weit hergeholt wirken, jetzt von „Mustern“, „Minimalismus“ oder „Symmetrien“ zu reden, aber ich denke, dass das auf viele Bereiche durchaus anwendbar ist. Ein Blick in mein Bücherregal:

  • Contemporary Logic Design (Katz)
  • Computer Organization & Design (Patterson)
    und natürlich DAS Argument:
  • The Art of Computer Programming, Vol 1-3 (Knuth)

Da jetzt konkrete Beispiele zu nennen würde aber wohl doch etwas zu weit führen. (Zumindest welche, die über „schöne Codeformatierung“ hinausgehen :D)

inwiefern braucht man Mathematik für Methoden, wobei noch Mathematik so allgemein dahingesagt ist, und vor allem Algebra für Klassen!?
was meinst du denn so betont mit Algebra != Mathematik, und ohne das kann man also nicht oder nur schlecht eine Klasse wie JButton erstellen?
hmm…

ich hatte in allen vier Bereichen Vorlesungen, Schwerpunkt und Diplomarbeit Datenbanksysteme, aber nichts davon ist für die Welt wirklich wichtig,

gerne würde ich wie so vieles mal eine DB selber programmieren, Ablaufpläne für Queries, Joins real durchgeführt,
aber für 80-99% sind das ja nur Spielereien, die wenigsten brauchen das ernsthaft,
wie dann im Job DB eingesetzt werden, SQL, Indexe & Co., das kann man wieder normal nachlesen, von Kollegen und einfachen Tutorials abschauen

für praktisch jeden sind n-1 von n Themen der Uni ohne Relevanz, weil man maximal einen Bereich später ernsthaft vertieft,
weitere Bereiche vielleicht nach Jahren dazu und dann Wissen eh aufzufrischen,
in allen Bereichen ist das Uni-Wissen sowieso relativ oberflächlich, immer braucht es bei tieferer Beschäftigung entsprechende Fachliteratur, die die Erkenntnisse der Welt sauber auflisten,

zur allgemeinen Programmierung steht es bei der Uni eh besonders mau,
und da kommen dann evtl. Bücher a la der von dir aufgezählten dazu,
wobei die Realität für die Masse auch ohne diese auskommt, beklagenswert sicher durchaus,


beim Stichpunkt Grafik fällt mir immer Historie alter Computerspiele und auch Betriebssysteme/ bekannte Programme/ Special Effects im Kino ein,
die Bilder die man so kennt, erschreckend aus heutiger Sicht, was in den Jahrzehnten jeweils gefeierte Neuerung war,
und nicht nur eine Frage der Rechenkraft und Bildschirmauflösung,

all sowas hin zu den heutigen Ultra-Toll 3D-Engines entwickelt sich im Laufe der Zeit,
jeder Entwickler kann auf dem vorherigen aufbauen und es einfach anwenden oder evtl. weiter verbessern,

Uni-Ausbildung spielt dazu keine große Rolle, vorhandene Frameworks und übernommenes Praxiswissen (Bücher + ältere Mitarbeiter) sind das A und O,
würde man alles vorhandene einfach wegnehmen, dann müsste Computergrafik wieder mit Pixeln aus Quaxli’s Spiele-Tutorial anfangen :wink:
und sich mit der Zeit neu weiterentwickeln, da hilft alle Algebra nix

Ich kenne da auch einige, die zu der Zeit studiert haben als die Bologna Umstellung kam. Erster oder zweiter Bachelor Jahrgang.

Die Veränderungen waren marginal.

Ein verpflichtendes Praxissemester von Zweien wurde gestrichen, was sonst im dritten Semester angesiedelt war. Naja, drittes Semester ist auch nicht berauschend, da man dort noch sehr weit davon entfernt was sich Betriebe wünschen um gegenseitig zu profitieren. Stundent sammelt Praxis, Betrieb kann das Ergebnis nutzen. Das sieht im fünften Semester schon ein bisschen anders aus.

Vorlesungen waren weitestens die Selben. Diplom und Bachelor sitzen in der selben Vorlesung, schreiben die selbe Prüfung. Gibt ja keinen Grund das gesamte Curriculum über den Haufen zu werfen.

Dazu gab es dann noch “Siebe”-Vorlesungen, welche Diplomstudenten als Modul mit anderen Vorlesungen verrechnen konnten und dann auf Grund des hohen Aufwands eben dort eine 5 geholt haben und mit was anderem verrechnet haben. (5 + 3 gibt 4) Als Bachelor musste man hingegen beides bestehen.

Was allerdings immer für eine Realitätsverzerrung sorgt ist, dass man sich in der Regel stets weiterentwickelt, während ein Absolvent immer mit 4-5 Jahren Hochschulerfahrung in eine Firma eintritt. Der Abstand zwischen dem eigenen Ich und dem Absolventen wird immer grösser. Dies liegt aber nicht zwangsweise daran, dass die Absolventen immer Dümmer werden, sondern dass man selbst immer schlauer wird.

Onkel Bob, hat dass mal insofern anschaulich visualisiert, in dem er die These aufstellte, dass sich die Anzahl von Programmierern alle 5 Jahre verdoppelt. Das hat zur Folge dass auch immer 50% der Programmierer weniger als 5 Jahre Berufserfahrung haben. Die Chance einen Programmierer mit weniger Erfahrung zu treffen wird immer grösser.
Oder anders ausgedrückt, man muss nur etwas abwarten um irgendwann zu den Top-10% zu gehören.

+1:

Sehr gut erklärt, Diploma durften sich ein Sche*ßfach erlauben, Bachelor hingegen nicht. Eine ziemliche Unfairness - aber wenn’s ums Sieben geht, bin ich sowieso raus.

Auch das mit der späteren Vertiefung habt ihr sehr schön erklärt - dem ist nichts hinzuzufügen…

Allerdings ließt ihr unerwähnt, das man Mathem. mit Definition+Satz+Beweis+Auswendiglernen nirgendwo braucht. Logisches Denkvermögen wird doch nicht vermittelt durch Mathem. … Oder bin ich auf dem Holzweg (vielleicht sollte ich mal Wikipedia befragen, nach Fach Mathem. :smiley: )? Dass ich manchmal Aversionen hab - wisst ihr bestimmt schon.

[OT]Politisch sollte es allerdings gewiss nicht werden … Ihr kennt doch Merkels 9-Punkte-Plan zur Bewältigung:

  1. wsd
  2. wsd
  3. wsd
    usw.

(scnr :wink: )[/OT]

Eine Unterscheidung „Algebra != Mathematik“ hatte ich nicht getroffen. Das war auch lediglich ein angedeuteter Argumentationsstrang, der etwas anders formuliert auch hätte lauten können: „Für irgendwelchen klein-klein-Kram (oder auch um ein GUI zusammenzuklickern) braucht’s kein Studium, aber für richtige Software schon“. Das hätte aber zu polemisch geklungen :smiley: ich wollte es nur zumindest etwas ausdifferenzieren. Die angedeutete Unterscheidung bezog sich dabei GROB darauf, dass eine Methode eigentlich nur eine mathematische Funktion ist: Input->Output, Berechenbarkeit, Definitions- und Wertebereich (NullPointerException?), und vielleicht noch die Frage, ob die Laufzeit des darin implementierten Algorithmus in O(n) ist (was eine Menge von Funktionen ist!). Eine Klasse bzw. Datentyp mit den darauf definierten Operationen ist dagegen eben eine Algebraische Struktur. (String,+,"") ist ein Monoid, (float,+,*,0,1) ist (sowas wie) ein Körper, und stack.push(x).pop() == stack.
Aber das ist nichts, was ich als unumstößlich-unzweifelhaften Fakt darstellen wollte.
(Und wenn ich sehe, dass z.B. bei boost Dateisystempfade mit dem /-operator verküpft werden, zucke ich schon - auch wenn das ein Grenzfall ist…)

Zumindest weißt du, worum es da geht. Wenn du weißt, wie man (auch nur theoretisch) einen JOIN implementieren würde, weißt du zumindest genauer, was der macht (und kannst intuitiv einschätzen, ob der z.B. zeitkritisch ist). Die Alternative für einen „ungebildeten“, „how to join stackoverflow“ in Google einzutippen und das erstbeste Ergebnis mit CTRL+C+V zu übernehmen und solange umzudengeln, bis es macht, was es soll, ist gefährlich.

Hmja, das ist so gesehen ein recht repräsentatives Beispiel. Ich denke, dass das angesprochene „auf vorherigem Aufbauen“ da aber nur bedingt eine Rolle spielt (und sogar gefährlich sein kann. Wenn ich sehe, welche Folgen ein „Das mach’mer SO, weil das hammer schon immer SO gemacht!“ eines engstirnigen (aber weisungsbefugten) Wichtigtuers haben kann, finde ich das traurig). Wichtiger im Sinne von Produktivität oder Anwendbarkeit für Industrie und Praxis ist die Nutzbarmachung des ganzen - also nicht zuletzt die Abstraktion. Es gibt eine handvoll Leute, die in Unity & Co die neuesten Shader & Co implementieren, so, dass dann jeder in seinem Spiel mit renderer.setFancyShaderEnabled(true); den Nutzen daraus ziehen kann. Aber obwohl das wichtigste Ziel von Abstraktion gerade die Cluelessness ist, kann es in den meisten Bereichen nicht schaden, wenn man zumindest „die oberste Schicht“ dessen kennt, was da weg-abstrahiert wurde. Wenn man in der Computergraphik eine tolle Szenegraph-API hat, und da dann mit

root.addChild(a);
a.addChild(b);
b.addChild(c);
c.addModel(model);
b.setTranslation(3,4,5);
a.setRotation(0,0,1, 45);

seinen Graphen zusammenbaut, kann es nicht schaden, zu wissen, was glPushMatrix damals gemacht hat, und… man könnte sogar sagen, dass man wissen MUSS, dass Matrixmultiplikationen NICHT kommutativ sind…

Zumindest einen Hauch näher ans Thema zurück:

Ich denke, dass man im Studium schon eine Art „Informatik-Allgemeinbildung“ bekommt (manche auch ohne „Allgem“), und dass die nützlich ist, um sich schnell in Themen einarbeiten zu können, Querverbindungen zu erkennen, Caveats zu umgehen etc. Von den Meta-Fähigkeiten (etwa „Lernen können“) die dabei entweder geschult werden, oder deren Fehlen zum Aussieben führt, mal ganz abgesehen.

[QUOTE=Marco13]```
root.addChild(a);
a.addChild(b);
b.addChild©;
c.addModel(model);
b.setTranslation(3,4,5);
a.setRotation(0,0,1, 45);


DAS sieht dramatisch nach von mir abgekupfert aus. Wir mussten das nämlich komplett "low-level" implementieren - und es gibt noch wesentlich mehr Parameter zu beachten. :) Auch ein riesen Geheimnis wird über gute, komplizierte und professionelle Shader gemacht!!! Aber ich muss eingestehen, dass diese doch etwas mit Mathem. zu tun habn.

Mal aus deiner Erfahrung(en) heraus: Was hilft es bitte, wenn ich bewiesen hab, das 0-Element ist eindeutig? Wofür brauche ich "den 'Quatsch'" irgendwo irgendwann (später)? (Lasst uns Seite 1 Algebra anfangen :D ).

Naja gut, ich denke, ich kann eure Argumentation verstehen.

quasi jeder geht so in nahezu allen Themen vor, bis auf die wenigen, die man selber genauer beherrscht,

wenn nicht gerade ein GUI-Framework die aktuelle Aufgabe ist, wird man sich beim beim Zusammenklicken einer GUI an vorhandene Beispiele/ Tutorials richten,
ohne darüber nachzudenken ob ein Button gerade ein Monoid oder ein Körper ist (?!)

genauso andere Subkomponenten einer Anwendung, wobei sicherlich Performance immer interessant ist, was beim großen Thema DB alle zu ein wenig Vorsicht verleitet,
aber auch da für viele nur Achten auf bekannten Bottlenecks, ohne gleich das darunterliegende System wie ein DB-Programmierer zu verstehen

genau wie ein Architekt oder auch Maurer auf der Baustelle den neuen Kleister nach Anleitung/ Spezifikationen verwendet,
statt die chemische Zusammensetzung und den Entwicklungsprozess dahin zu bewundern

das ist immer so leicht dahinbehauptet, ich denke nicht, dass ein Studium irgendwelche höheren Fähigkeiten vermittelt,
jedenfalls kann man locker durchkommen ohne viel mitzunehmen und bei Eigeninteresse genauso gut ohne Studium ein gutes Buch lesen und das gleiche erfahren,
ein schlauer Kopf wird nach 2 Wochen ‚Java für Dummys‘ mehr schaffen als ein Dummkopf egal wie lange in Vorlesungen gesteckt

dass 4-5 Jahre Beschäftigung mit Informatik, selbst auf so ineffektive Weise, Spuren hinterlassen, versteht sich von selber,
genauso vorher die Schule, ein Teil kommt am Ende jedem zu Gute, aber der Großteil ist Zeitverschwendung, maximal als Übung hilfreich, die Inhalte aber Schall und Rauch,

die Schule könnte sich auf Kernthemen beschränken, Lesen, Schreiben + halbwegs die anderen Deutsch-Themen ‚Text-Analyse‘ usw.,
Fremdsprache Englisch, Mathematik bis zu einer gewissen Stufe (Ende VOR Vektoren), Sport,
alle Fachthemen wie Physik, Biologie, Chemie, stark auf ein 1/3 gekürzt auf Kernthemen,
Geschichte + Geographie evtl. etwas vertiefter weil von gesellschaftlicher und politischer Bedeutung,
dazu Politik an sich weiter und einfache Gesellschaftskunde (Computernutzung, Handyvertrag, Verschuldung Jugendlicher…, Mietvertrag)
evtl. Wahl von vertiefenden Leistungskursen,

das könnte man in paar Jahren weniger schaffen, ob die Schule trotzdem bis zum einem gewissen Lebensalter gehen soll
und der Rest mit noch mehr verpuffenden Inhalt oder etwas mehr Freizeit gefüllt wird, sei dahingestellt

genauso kann das Informatik-Studium deutlich gekürzt werden,
fast alles Wissen wie auch Rechner-Aufbau mit CPU, Speicher, Bus ist für die meisten obsolet,
Netzwerke mit Datenrate + Paketen + Kommunikationsstrategien, Formale Logik, wofür braucht man das je?

ganz aufs Studium zu verzichten, womit man ja genauso gut Programmierer werden kann, wäre etwas drastischer Schritt,
Bachelor mit reduzierten ‚Rundumblick‘ ist da schon ein interessantes Experiment,
welche konkreten Erkenntnisse gibt es daraus, wie genau hat sich die Qualität der Arbeit geändert?


wenn man in einem bestimmten Bereich arbeitet braucht es so oder so Vorbereitung und Fachliteratur:
wer in einer Firma zur Programmierung von Verschlüsselungsalgorithmen anfangen will muss sich dazu einlesen

  • aus dem vorhandenen in der Firma lernen, und sei es ein halbes oder ganzes Jahr, schließlich auch viel mehr Zeit zur Verfügung,
    das ist effektiver als noch 3 Jahre zusätzlich Studium mit zufällig darunter auch eine Vorlesung zu Verschlüsselung, die ja doch nicht ausreichend ist,

falls im Studium Kryptographie als Schwerpunkt gewählt und es da noch möglich war, dann passt das ja auch, 20 andere unwichtige Themen zurückgestellt,
aber alles mit der Gießkanne hilft wenig

alle anderen, die nicht in solcher Programmierung arbeiten, reicht das Allgemeinwissen dazu,
soweit für die Arbeit benötigt kurze Einarbeitung in der Firma


Mathematik höher als Vektoren bietet sich für vieles in der Informatik an,
könnte mit dem Studium fortgeführt werden, was jammern da die Unis dass das Vorwissen so schlecht ist,
vollkommen unnötig dass an der Schule alle, auch zukünftige Journalisten, Banker und Rechtsanwälte, den gleichen hohen Stand haben,
Leistungskurs Mathematik hätte man freilich vor absehbaren Informatik-Studium ruhig wählen oder alternativ privat etwas nachlernen können,

richtig wäre, dass im BWL-Studium passende höhere Mathamatik drankommt,
und im Informatik-Studium ruhig auch ein paar Level höher, wird auch nicht für jeden passen, aber schon mit die geeignesten Inhalte,
statt unnützes Detailwissen in einigen von so vielen höheren Teilbereichen

viele Programmierer werden am Ende weitgehend auch ohne höhere Mathematik auskommen,
maximal Unterschiede zwischen linearen und quadratischen Aufwand etwa bei karthesisches Produkt/ Doppelschleife, auch ohne die Fachbegriffe zu kennnen,
von ‚Monoiden‘ gar nicht zu reden…

für bestimmte Programmierbereiche, in denen die Mathematik in der fachlichen Welt selber liegt, Umsetzung mathematischer Modelle
wie in Grafik Raum, Vektoren, Matrizen, Rotation, da ist keine Frage, da ist es dann passend nachgelernt,
von jemanden ganz ohne Studium in wenigen Wochen auch genauso gut wie nach 4-x Jahren Studium


spätes edit: ‚Monoid‘ wird hier im Forum vor diesem Thread nach Suche nur 5 weiteren Threads genannt,
nur von Marco13 und Landei als Beispiele eingebracht oder eigene Themen ohne jeden Bezug,
Tenor public default <A, B> B foldMap(Monoid<B> mb, final Function<A, B> fn, _<µ, A> nestedA)

das ist nicht die Realität der Programmierung…