Erstens gibt es trotz der Art und Weise, wie Ihre Frage formuliert ist, kein Ende des Studiums, insbesondere nicht in unserem Bereich, in dem neue Dinge schneller auftauchen, als Sie darüber lesen können. Abgesehen davon, wenn Sie sich verbessern möchten, gibt es die folgenden Kategorien, die ich in Betracht ziehen würde. Für den größten Nutzen / ROI sollten Sie natürlich etwas aus Ihrem schwächsten Bereich auswählen.
Grundlagenwissen
Obwohl man Programmiersprachen kennt und praktische Erfahrung hat, hat man oft (insbesondere selbst erlernte) Bereiche, in denen grundlegende grundlegende Probleme unvollständig bleiben. Denken Sie an Dinge wie Datenstrukturen, Algorithmen, Cache-Strategien, Hash-Funktionen, ...
Beachten Sie, dass dies auch die Grundlagen von Programmiersprachen umfasst - von Compilern, Optimierungstechniken und Typsystemen bis hin zu Kategorietheorien, Monaden und dergleichen.
Wenn Sie gut unterrichtet sind, wie Sie es bereits seit mehreren Jahren mit einem Universitätsabschluss getan haben, sind Sie wahrscheinlich bereits stark in dieser Kategorie (bei weitem nicht abgeschlossen, aber auf einer soliden Basis). Versuchen Sie ansonsten, ein paar Bücher in diesen Bereichen zu lesen, um herauszufinden, ob etwas, von dem Sie nicht einmal wussten, dass es in Ihrem Repertoire fehlt. Diese Kategorie lässt sich am einfachsten überschätzen.
Paradigmatisches Wissen
Ich bin immer wieder erstaunt, wenn Programmierer auftauchen, die sich für Besserwisser halten, sich aber mit anderen als den gängigen Paradigmen nicht auskennen. Wenn Sie der Meinung sind, dass die Objektorientierung das Ende ist, ist dies Ihre Kategorie für Verbesserungen. Wenn Sie der Meinung sind, dass es auch funktionale Programmierung gibt und vielleicht sogar von logischer Programmierung gehört hat, ist dies immer noch eine gute Wahl. Es gibt weitaus mehr Paradigmen, und das Lernen über sie hat den tiefgreifenden Effekt, dass Sie eine neue Sicht auf die Welt des Programmierens erhalten.
Vergessen Sie nicht: Es gibt häufig (eher philosophische) Argumente darüber, was als Paradigma angesehen werden kann oder nicht. Lass dich von diesen nicht ablenken. Ihr Ziel sollte es sein, Ihren Horizont zu erweitern, und das bedeutet, dass Sie etwas über diese Dinge lernen, ob jemand anderes X als eigenes Paradigma ansieht oder nicht, das macht keinen Unterschied.
Fachwissen
Der einfachste von allen - und der am wenigsten nützliche zugleich. Natürlich können Sie sich auf eine einzelne Technologie festlegen und alle Einzelheiten kennenlernen, aber Sie sollten bereit sein, den Preis zu zahlen. Technologien altern und dies in immer schneller werdendem Tempo. Das macht es fast zu einer Garantie dafür, dass die hier investierte Zeit einige Jahre später wertlos sein wird.
Auch das Problem der sinkenden Rendite scheint hier auf. Spezialist für etwas zu sein, bedeutet natürlich, dass Sie unzählige Stunden mit diesem engen Thema verbringen müssen, und daher wird es per Definition lange dauern, bis Sie etwas Neues lernen, und dieses Neue wird ein winziges kleines Puzzleteil sein die Meinung von niemandem zu etwas ändern.
Fachwissen
Sei es, weil es der Bereich Ihrer Arbeit ist oder einfach auf Ihrem persönlichen Interesse basiert, aber ein Experte für Informatik und ein bestimmter Bereich zu sein, ist sehr wertvoll und lohnend. Ich spreche hier nicht über Nebenbereiche von CS, wie Computergrafik oder KI. Beachten Sie stattdessen, dass Computer das Leben aller erfasst haben und dass jedes andere Feld Computern und einem Bereich unterworfen ist, in den Sie vordringen können.
Dieses fällt eindeutig in die Kategorie "außerhalb Ihres Fachgebiets", ist jedoch kein scharfes mathematisches "außerhalb", sondern vielmehr ein Anwendungsgebiet. Betrachten Sie die Medizin: Ich rate Ihnen nicht, Arzt zu werden. Es lohnt sich jedoch, die Grundlagen der Medizin zu erlernen, um Ihr vorhandenes Wissen über die Informatik auf die Probleme dieses Fachgebiets anzuwenden. Dies reicht von Visualisierungstechniken über Robotik bis hin zu Expertensystemen und einfachem Datenmanagement für Buchhaltung / Administration. Während Sie das alles schon einmal gemacht haben, kann es eine völlig neue Erfahrung werden, es in einer anderen Domäne zu machen.
Bedenken Sie jedoch, dass dies eine viel radikalere Änderung in Ihrer Richtung ist als die anderen Kategorien. Möglicherweise haben Sie in Ihrer täglichen Arbeit keinen Kontakt zu diesem Bereich, was es äußerst schwierig macht, sich durchzusetzen. Es kann sogar bedeuten, Jobs zu wechseln. Außerdem benötigen Sie eine Art Zertifizierung für Ihre neue Domain - schließlich sind Sie ein absoluter Neuling in dieser Domain und müssen sich gegen Absolventen interdisziplinärer Studien behaupten, die sich bereits auf den Weg gemacht haben, um Experten in dieser Nische zu werden.
Ergänzungswissen
Wie Mike Brown hinzufügte, gibt es auch den Wissensbereich, der in gewisser Weise Ihren aktuellen Job begleitet, aber nicht unbedingt erforderlich ist. Sie müssen kein Projektmanager sein, um sich mit Projektmanagement vertraut zu machen, aber wie üblich erhalten Sie durch zusätzliches Wissen einen besseren Einblick, wie die andere Seite tickt. Man könnte dies sogar so weit verallgemeinern, dass man sich auf Soft Skills konzentriert. Ich denke, jeder, der mit anderen Menschen an einem echten Projekt gearbeitet hat, kennt den Wert dieser.