Der allgemeine Konsens ist "mehr Code schreiben", dem ich zustimme, aber ich werde diesem Ratschlag hinzufügen, dass Sie viele verschiedene Arten von Code schreiben sollten. Java ist in Bezug auf Sprachen in Ordnung, aber Sie sollten auf jeden Fall Code schreiben, der das Leistungsspektrum auf- und abwärts bewegt. Zusätzlich zu Java würde ich vorschlagen, ein paar kleine Projekte in einer niedrigeren Programmiersprache (C ist hierfür eine gute Sprache), einer Skriptsprache (ich bevorzuge Perl, aber Python ist auch eine gute Wahl), einer funktionalen Sprache ( lisp ist hier die allgemeine Empfehlung, aber OCaml und Haskell sind auch eine gute Wahl) und machen sich zumindest mit dem Lesen einer Assemblersprache vertraut.
Wählen Sie auch eine Vielfalt der Arten von Programmen, die Sie implementieren. Implementieren Sie mindestens eine Desktop-GUI, eine umfangreiche Webanwendung, einen Netzwerkclient und -server, einen Treiber, ein Dienstprogramm zur Datenerfassung, einen Ray Tracer und eine Physiksimulation.
Alle Projekte sollten einen relativ kleinen Umfang haben. Das Ziel ist nicht, ein umfangreiches Programm zu haben, sondern eine breite Palette von Erfahrungen in den verschiedenen Bereichen zu sammeln, in denen Sie möglicherweise vorkommen, um die verschiedenen Arten des Denkens zu erlernen, die für die einzelnen Projekte erforderlich sind. und um herauszufinden, wo Ihre Interessen liegen.
Sobald Sie dies getan haben, haben Sie eine gute Vorstellung von der Art der Programmierung, an der Sie am meisten interessiert sind, und Sie können ein Open-Source-Projekt finden oder starten, um Erfahrungen mit der Arbeit an großen Codebasen zu sammeln, die sich mit langwierigen Problemen befassen. befristete Projekte und die Zusammenarbeit mit anderen Entwicklern.