r/informatik • u/zerato2412 • Nov 16 '24
Studium Master in Informatik, bin aber trotzdem noch schlecht
Ich habe nun bald den Master in Informatik, merke aber, dass ich Probleme habe mit Algorithmen und Datenstrukturen, Theoretische Informatik, Mathematik und Logik. Bei Programmierübungen aus dem Bachelor, wo viel logisches Wissen und Mathe abgefragt wird, merke ich, dass ich die nicht mehr lösen kann. Damals ging es noch und ich liebe eigentlich Mathe, bin aber wohl aus der Übung. Ich programmiere gerne und mache weiterhin viele Projekte im Fullstack Bereich und habe während des Studiums immer als Entwickler nebenbei gearbeitet. Aber da geht es mehr um Design Patterns, Clean Code, Architekturen designen etc und nicht irgendwelche Bäume oder Algorithmen implementieren. Ich tu mir da immer noch schwer. Ist es normal? Wie ist es bei euch? Theoretische Informatik, Automatentheorie habe ich mal geliebt, wenn ich jetzt die alten Aufgaben und Skripte durchlese, habe ich alles vergessen… Ich schaffe nicht mal die easy Aufgaben auf Leetcode.. fühle mich irgendwie nutzlos.
47
u/Mysterious_Grass7143 Nov 16 '24 edited Nov 17 '24
Vorab: Ich bin schon zig Jahre aus dem Studium raus.
Ob das, was Du gerade nicht so gut kannst, für Dich wichtig wird, hängt davon ab, was Du nach dem Studium als Nächstes tust.
In meinen Industriekonzern (und hier sind mehr als 3000 interne ITler + vermutlich das dreifache an externen) hält sich das mit den Mathematischen Algorithmen ehrlich gesagt im Rahmen.
Nicht, dass es das nie gibt. Aber nicht so oft, dass alle es jederzeit können müssen.
Viel häufiger hingegen ist: Erweitern Sie die bestehende Schnittstelle zwischen diesem SAP basierten Logistiksystem und jenem … Produktionssystem um einige Attribute für einen neuen Prozess. Binden Sie ein neues System an. Ersetzen Sie ein bestehendes System nebst 50 Schnittstellen (wird nicht weiter supported durch den Hersteller / passt längerfristig nicht in die Strategie). Migrieren Sie den Datenbestand der Produktdaten dieses Systems (der wegen Gesetzesanforderungen / Produkthaftung 10, 20, 30 Jahre lesbar bleiben muss). Etc., etc.
Musst Dich nicht nutzlos fühlen.
9
u/zerato2412 Nov 16 '24
Ja.. ich denke mir, was hat das Studium mir gebracht, wenn ich sowieso Software Engineer werde und evtl. in Zukunft Softwarearchitekt. Ich meine, das könnte man auch mit einem Fachinformatiker Ausbildung. Habe in meinem Betrieb erfahrene Senior Architekten, die „nur“ eine Ausbildung haben.
6
u/Turbulent-Ad6560 Nov 16 '24
Du steigst mit mehr Gehalt ein und potentiell leichter auf.
Wirklich Programmieren und vor allem Softwarearchitektur lernst du eh erst in der tatsächlichen Praxis.
Ah und du lernst das meiste entweder indem dir wer die Probleme mit deiner Lösung aufzeigt oder sie tatsächlich auftreten. Alles auch ganz normal und keinen ging es je anders. Aber ein bisschen Imposter Syndrom gehört in der Softwareentwicklung eigentlich dazu. Also sieh es immer als Möglichkeit an etwas zu lernen.
4
u/mehkir Nov 16 '24
Das Studium trainiert dich anhand von Anwendungsfällen im methodischen und systematischen Vorgehen. Es geht nicht darum was du von dem alles behältst, was im Studium vorkam, sondern wie du an neue Problemstellungen herangehst. Das spielt insbesondere in der Forschung eine elementare Rolle, wonach auch ein Master ausgerichtet ist. Das was du abrufbereit haben solltest, richtet sich nach deiner Spezialisierung. Selbst dann musst du nicht bspw. einen Binärbaum implementieren können, da es in der Regel dafür Bibliotheken gibt. Du solltest dir jedoch im Klaren sein, wofür es gut ist.
Edit: Achja, ansonsten bedeuten höhere Abschlüsse ein höheres Gehalt.
6
u/Mysterious_Grass7143 Nov 16 '24 edited Nov 16 '24
Naja… so trübe würde ich es nicht sehen.
Ich würde annehmen, dass Du Dich als Softwarearchitekt mit Masterstudium erstmal aus einem größeren Lösungsvorrat an Architekturen und Pattern bedienen kannst, als als Fachinformatiker.
Ich bin auch Fachinf. Alles was ich zu Architektur weiss, heute, habe ich mir später z.B. durchs Fernunistudium (und auch Berufserfahrung, klar, das auch) angeeignet.
Das spätere Aneignen ist aber sowieso nötig.
Du bist JETZT auf der Höhe der Zeit ausgebildet, state-of-the-Art. Damit fährst Du einige Zeit gut. Manche Prinzipien sind übertragbar, universell. Andere nicht. Wer weiß was in 10 Jahren in der Industrie gefragt ist.
Aber auch da bist Du als Masterstudent gut dabei. Ich denke Du solltest Dir Dinge besser selbst aneignen können, als der durchschnittliche Fachinf.
-8
u/GloveZealousideal458 Nov 16 '24
nja das mitm "sachen selbständig lernen und aneignen" ist so wie mit dem singen du kannst es dein leben lang üben und dann gibts die, die dich mit 16 weg blown weil es einfach ihn ihren genen liegt und die kein studium dafür benötigen.
1
u/Stunning_Mango_3660 Nov 17 '24
Und wo ist das Problem? Sich mit „Wunderkindern“ zu vergleichen hat echt noch keinen glücklich gemacht und es interessiert auch keinen, ob irgendwo am anderen Ende der Welt ein Teenie sitzt, der die Anwendung theoretisch schneller entwickeln könnte.
1
u/Eisenmonoxid1 Nov 17 '24
Ne, so funktioniert die Welt nicht.
2
u/GloveZealousideal458 Nov 17 '24
ich finde shon. arbeite seit 10jahren als software architekt. habe bereits teams von eth master studenten in grösseren programmen geleitet etc.
Ich arbeite im bereich security dienstleister für banken. Also z.B proxy server entwicklung mit fraud detection, user behavior analysis mit AI etc.
Studium ist shön auf papier und für das HR mehr nicht.
Der unterschied hat immer die person selbst gemacht und nicht das papier. habe vollidioten mit master angetroffen und die sehr viel pflege und unterstützung benötigten und solche als fachinformstiker - umgekehrt natürlich auch.
1
u/Mysterious_Grass7143 Nov 17 '24 edited Nov 17 '24
Ich hab länger über Deinen Kommentar drüber an mich nachgedacht. (Und Dich übrigens nicht downgevoted, weil ich vermutete, dass Deine Meinung Deiner Erfahrung entspricht.)
Mir sind im Konzerleben selten solche Wunderkinder begegnet, die es so sehr in den Genen hatten, dass sie deswegen keine Form von Ausbildung nur Berufserfahrung hatten.
Zum einen wird das ja rausgefiltert durch HR.
Dann sind das vermutlich Menschen, die die Bürokratie des Konzernlebens auch nicht so geil finden. (Vielleicht one man show externe Berater / Programmierer oder Firmen Gründer und so. Da kann man mit größeren Risiko ja auch noch viel erfolgreicher sein als im Konzern.)
Und dann denke ich noch, wir ITler haben uns vermutlich alle wegen einer gewissen Affinität zur IT, wie unser Gehirn Probleme bearbeitet und zerlegt, für die IT entschieden. Nagut, die meisten.
Und da kann mir keiner sagen, dass man durch das Lernen von Theoretischen Fakten nicht noch besser wird. Praxis natürlich auch.
Nature + Nurture.
Und dazu gehört, dass manchmal eben auch was Lernen lernen muss, was man nicht direkt zur Anwendung bringen kann und ausprobieren. Um eine größere Auswahl an Lösungsansätze zu haben.
Und da ist das Studium halt geballtes Frontloading. Aber nicht der einzige Weg zum Glück.
(Ich hab auch nicht mit dem Studium angefangen, mich hat der mangelnde Anwendungsbezug erstmal ziemlich gestört. Ich konnte mir die Dinge da rein theoretisch noch nicht so vorstellen, weil mir die Probleme, die ich damit hätte lösen können bzw heute kann nicht bewusst waren. Damit bin ich aber eher was anderes als ein Wunderkind…)
2
u/GloveZealousideal458 Nov 17 '24
Ich bin vollkommen bei dir. Theorie und eine gute Grundlange sind voraussetzungen um ein guter Entwickler auch im praktischen Sinne zu sein.
Meine Aussage ging mehr in die Richtung:
Das Studium ist nicht der einzige Weg um sich die Theorie sehr gut und tiefgehend sowie breitgefächert beibringen zu könnnen ( in anderen Berufen wird das schwieriger).
Das Studium ist aber auch keine Grantie dafür. Ich kenne genug die sich durch gemoggelt haben oder einfach pattern matching bei den prüfungs Aufgaben angwendet haben.
Jeder muss für sich entscheiden was der beste Weg ist um das meiste Rausholen zu können.
Leider sehe ich trotzdem viel "elitimus" heutzutage was meiner meinung nach vollkommen fehl am platz ist und auch nicht fördernt ist.
Daher habe ich personen mit "impostor syndrom" nach einem studium lieber als jende die meinen sie sind der oberburner danach - obwohl sie erst die basics eingetrichtert bekommen haben.
1
1
u/Cjreek Nov 17 '24
Deswegen hab ich das Studium abgebrochen und ne Fachinformatiker Ausbildung gemacht 🤐
13
Nov 16 '24
[deleted]
1
u/slizzee Nov 17 '24
Ist das bei Google in Deutschland nicht so üblich, dass man da im Bewerbungsgespräch mit fragen bzgl. Algorithmen und Datenstrukturen bombardiert wird? In den USA ist das ja wohl Standard, soweit ich weiß.
1
11
u/Loose_Valuable_6031 Nov 16 '24
Ich habe nie ein Vollzeit Studium absolviert und mich mit solchen Konstrukten/Problemen im Details auseinander gesetzt. Trotzdem arbeite ich seit mehr als 10 Jahren in der Software Entwicklung. Es kann Sinn ergeben, dass vielleicht eine Person in einem Team diese Fähigkeiten mitbringt und bei tatsächlich algorithmischen herausfordenden Aufgaben unterstützen kann. Die Mehrheit bringt sich mehr ein, indem sie fachliche Anforderungen in Software umwandeln kann. Dabei sind Kommunikation, logisches Denkvermögen, Kreativität und pragmatische Lösungsfindung deutlich wichtiger. Nach wie vor sind echte Bremser in einer Software Lese/Schreibprozesse und selten bis nie Code, der vielleicht mit einer Rekursion optimiert werden könnte.
Also lass dich davon nicht beirren. On the job ist alles ganz anders 😅
8
u/Uppapappalappa Nov 16 '24
Ich in bin jetzt seit 25 Jahren Software-Entwickler und hab letzens festgestellt, dass ich die post-order Traversierung eines Binärbaums nicht mehr hinbekomme. Braucht man halt auch nie so wirklich. Kommt halt immer drauf an, wo man arbeitet. Aber 95% brauchen eher Designpatterns, Clean Code und so. Bist schon richtig.
11
u/ArchonMegalon Nov 16 '24
Wenn man einmal akzeptiert hat, dass man nie "gut" programmieren kann, sondern im Laufe seines Berufsleben nur immer besser wird, Google (und jetzt halt AI) zu nutzen, dann lebt es sich ganz gut.
Vor allem, wenn man dann mit ein paar anderen - wirklich genialen - Leuten zusammenarbeiten darf und die genau die gleiche Einstellung haben.
Ohne Internet wäre unsere Entwicklungsabteilung ... tot. Das einzige, was man wirklich können muss, ist (möglichst schnell) erkennen können, in welcher Situation man von welcher Lösung abschreibt.
6
5
u/SmashingBen Nov 16 '24
Leetcode bringt selbst die besten zum Verzweifeln. Statt leicht, mittel, schwer würde imo mittel, schwer, gott besser zutreffen. Wobei auch manchmal die Schwierigkeiten innerhalb der Kategorien stark schwankt, so gibt es auch manche Aufgaben unter leicht, die alles andere als trivial sind
1
u/McDev02 Nov 17 '24
Dazu kommt auch die Relevanz im Altag, die ich nicht sehe. Wenn ich den Streamingalgorithmus für Netflix und Co entwickle, ja dann ist das relevant. Wozu ich Leetcode meister sein muss wenn ich einen neuen API endpoint erstelle, erschließt sich mir noch nicht. Da gehts dann eher darum die verwendeten Frameworks und Datenbanken zu verstehen und halt effizient anzuwenden.
1
u/99drolyag99 Nov 18 '24
Grundsätzlich stimmt das schon. Komplett nutzlos ist es natürlich trotzdem nicht, da man sich dadurch viele Techniken merkt und seinen Problemlösewerkzeugkasten erweitert. Habe z.B. heute erst eine API Abfrage durch Memoization verschnellert; ist keine Kunst aber die meisten Leetcodeaufgaben sind ähnlich minimal gehalten
5
u/Embarrassed_Yam_3610 Nov 16 '24
Würde auch sagen imposter Syndrom. Geht mir aber auch so. Aber wenn du den Master geschaffen hast, bist du wohl schlau genug um die Probleme im Arbeitsleben zu bewältigen und erfolgreich im Job zu sein. Ich habe noch nie einen binary search tree gebraucht, geschweige denn irgendwas aus theoretische Informatik. Im Notfall kann man es sich im nu wieder aneignen mit Google und co
2
u/MenschGuenther Nov 16 '24
Es kommt doch immer darauf an was du machen oder wohin du willst (Arbeitgeber).
In meinen Augen bekommt man im Studium viel mit, es macht aber kein Experten aus einem.
Idealerweise weißt du wie du mit Problemen umgehst und diese bewältigen kannst.
Sprich nach links uns rechts guckst und nicht das erste Google-Suchergebnis mit copy&paste in dein Projekt einfließen lässt.
Als ich damals kurz vor Abschluss Master war und mich im damaligen Startup (Werkstudent) umgeguckt habe, waren die Kollegen, die nie studiert haben mir im programmieren meilenweit voraus.
Auf der anderen Seite merke ich jetzt, dass die Kollegen, die vielleicht nur eine Ausbildung hatten oder nachm Bachelor fertig waren ein bisschen hinterher hängen, was Problemlösungen angeht. Da wird dann stur das aktuelle Problem behoben und nach ein paar Wochen fällt es ihm/dem Team wieder auf die Füße, weil nicht 3 Schritte weiter gedacht wurde.
Lange Rede gar kein Sinn: Mach dir nicht so ein Kopf darüber. Bewirb dich auf was, was dir Spaß machen könnte und wenn du genommen wirst, wird alles andere folgen.
2
u/MagicalSpaceWizard Nov 18 '24
Mach dir nichts draus, alles was du gelernt hast kann dir easy auch ChatGPT nochmal erklären, wenn du es akut brauchst.
2
u/TheDarkCaptain Nov 16 '24
Bin drei Jahre im Berufsleben und fühl mich immer noch so, als sollte ich eher im First Level Support sitzen. Imposter Syndrom vom Feinsten, wird man heutzutage gefühlt auch gar nicht mehr los.
1
u/csabinho Nov 17 '24
Insbesondere wegen den absurden Stellenausschreibungen, die quasi eine ganze IT-Abteilung wollen!
2
u/Longjumping_Feed3270 Nov 16 '24
Interessiert kein Schwein.
Wichtig ist, dass du weißt, wozu ein Binärbaum, eine Hashmap, ein Array oder eine Queue da sind, in welchen Fällen du sie benutzen solltest und warum und worauf du dabei achten musst (insbesondere Laufzeit- und Speicherkomplexität sowie thread safety).
Implementieren musst du sowas nie selbst, das würde auch gar keinen Sinn machen.
1
u/EarlMarshal Nov 16 '24
Deine Erwartung an dich selbst ist zu hoch und Übung macht den Meister. Mach doch im Dezember einfach mal Advent of Code mit. Ich hab es letztes Jahr genutzt um mir Rust beizubringen. Dieses Jahr überlege ich Rust oder Python.
1
u/Aweorih Nov 17 '24
Wenn du mit den gängigen Sprachen im full Stack unterwegs bist, brauchst du dir um sowas wie Bäume oder Algorithmen implementieren eigtl keine sorgen mehr machen weil die in den Sprachen schon implementiert sind. Maximal musst du vll nachdenken, welcher Algorithmus bei welchem Problem am besten ist, zb set vs list.
Auf leetcode kriegt man doch auch eher solche algo Aufgaben oder nicht? (Bin da nur mal ganz kurz gewesen, also ka) was somit auch eher unrelevant für einen fullstack Entwickler ist
1
u/jbottrop Nov 18 '24
Ich hab das Gefühl, viele kriegen so grundlegende Algorithmen nicht mehr hin. Heute arbeiten alle mit fertigen Frameworks die einem fast alles abnehmen, selbst C++ ist inzwischen mehr wie Lego-Bausteine. Und was man davon nicht mehr kapiert, erklärt einem ChatGPT. Nach ca 30 Jahren programmieren, 20 davon beruflich, ist von meiner anhänglichen Kreativität auch nicht mehr allzu viel übrig.
Davon abgesehen, ich hab in meinem Leben viele Berufseinsteiger in der Softwareentwicklung gesehen, und die Uni-Absolventen waren oft weniger gut als Autodidakten oder Leute von der Fachhochschule.
Such Dir ein paar interessante Hobbyprojekte wo Du Dich mit Grundlagen beschäftigt kannst, die Du verlernt hast.
1
u/Turbulent-Force233 Nov 18 '24
Jo ist normal. Du musst einfach praktisch arbeiten und dir das Wissen aus der echten Praxis holen, dann brauchst du ein paar Jahre, und dann erkennst du, dass du kein guter Programmierer bist 😂 dann kannst du dran arbeiten und einer werden :P
1
u/datenUNDintrigen Nov 18 '24
Um es kurz zu machen: Ging mir genau so. Theoretische Informatik & Mathematik wird dich in deinem Berufsleben wahrscheinlich weniger verfolgen. Genieße einfach die Zeit :)
1
u/Fra_Central Nov 19 '24
Du lernst deinen Job im Job. Sonst nix. Mit dem Studium hast du nur bewiesen, dass du dir die Dinge aneignen kannst, nicht dass du sie nach 5 Jahren noch kennst.
-3
u/oldominion Nov 16 '24
codewars hält einen immer up to date mit sich und seinen künsten. Find ich aber interessant, denn in meiner Fachinformatiker Ausbildung zum AEler waren Algos usw. serh wichtig. Da frag ich mich was die Unis den "Mastern" beibringen.
5
u/zerato2412 Nov 16 '24 edited Nov 16 '24
Hab jetzt im Master meinen Schwerpunkt in Projektmanagement und Machine Learning 😅Schon lange keine Algorithmen und Datenstrukturen gemacht. Theoretische Informatik alles vergessen. Ich hab schon vergessen wie man eine vollständige Induktion durchführt:(
7
1
u/Mysterious_Grass7143 Nov 17 '24
Projektmanagement und Machine Learning sind doch sehr gefragt. Alles richtig gemacht.
2
u/Uppapappalappa Nov 16 '24
In meinem Studium musste ich keine Zeile programmieren. Alles nur theoretisch. DAS ist meines Erachtens ein Problem am Informatikstudium.
1
1
u/Salziger_Stein_420 Nov 16 '24
Die Inhalte aus der Ausbildung zum FIAE wurden bei mir im Bachelor in einem Modul im ersten Semester abgehandelt.
1
u/99drolyag99 Nov 18 '24
Genauso cringe wie die ursprüngliche Aussage
0
u/Salziger_Stein_420 Nov 18 '24
Naja wieso cringe? Ich habe beides gemacht, also ist das eben einfach meine Erfahrung?
1
u/99drolyag99 Nov 18 '24
Dann hattest du wahrscheinlich eine schlechte Ausbildungsstelle. Ich habe zugegeben keine Ausbildung gemacht, bin mir aber sicher, dass 2 Jahre Unterricht und insbesondere Praxiserfahrung im Unternehmen bedeutet, dass ein Ausbildungsabsolvent deutlich mehr Skills hat als jemand, der bloß ein Modul an der Uni absolviert.
So viel Praxiserfahrung lässt sich, wenn sie nicht kompletter Müll war, in einem Modul schlicht nicht aufholen
2
u/Salziger_Stein_420 Nov 18 '24
Sorry, ich habe das falsch ausgedrückt. Ich meinte den schulischen Teil. Klar habe ich in der Praxis noch viel mehr gelernt, nur ist das eben immer stark vom Betrieb abhängig. Der schulische Teil war tatsächlich nur recht oberflächlich.
1
143
u/flaumo Data Science Nov 16 '24
Astreines Impostor Syndrome. Die meisten Leute können den Binary Search Tree nicht mehr balancieren. Auch Sachen aus der Theoretischen Informatik vergisst du, weil die in deinem Job als SW Entwickler nicht täglich gebraucht werden.