Ich erhalte oft E-Mails von meinen Lesern darüber, wie sie ein Full-Stack-Java-Entwickler werden können, welche Dinge sie lernen sollten und in welchem Bereich sie arbeiten können, um ein Rockstar-Java-Entwickler zu werden.
Nachdem ich sie in den letzten Jahren einzeln beantwortet habe, habe ich mir überlegt, ein paar Punkte aufzuschreiben, die Sie meiner Meinung nach zu einem besseren Java-Programmierer und Full-Stack-Anwendungsentwickler machen werden.
Aber bevor ich darauf eingehe, möchte ich betonen, dass ein besserer Programmierer immer ein besserer Java-Entwickler ist, und deshalb gelten alle Tipps, die ich zuvor gegeben habe, um Ihre Programmierkenntnisse zu verbessern und ein besserer Programmierer zu werden, immer noch.
Wenn Sie sie noch nicht gelesen haben, können Sie sie nach diesem Artikel lesen, sie werden Ihnen helfen, Ihre Programmier- und Programmierkenntnisse zu verbessern, was wichtig ist, um ein besserer Java-Entwickler zu werden.
Dieser Artikel konzentriert sich ganz auf die Java-Entwicklungsperspektive und ich gehe davon aus, dass Sie bereits gut in wesentlichen Dingen wie Codierung, Datenstrukturen und Algorithmen sowie Informatikkonzepten wie Netzwerken, Protokollen, objektorientierter Programmierung usw. sind.
Diese Tipps sind gleichermaßen nützlich für Java-Kernentwickler, ich meine Java-Leute, die serverseitige Anwendungen schreiben, aber nicht wirklich mit Webentwicklungsfähigkeiten wie JSP, Servlet und JEE befasst sind, sowie für Java-Webentwickler, deren Hauptaufgabe es ist, Webanwendungen mit Java-Technologie zu schreiben, und diejenigen, die 2020 ein Full-Stack-Java-Entwickler werden möchten.
Ich habe jedoch einige Web-Dinge wie das Erlernen von JSF oder Servlet 4.0 für einen weiteren Tag ausgelassen, um diese Liste kurz und einfach zu halten. Wie auch immer, ohne weiteres finden Sie hier einige Fähigkeiten, Tipps und Vorschläge, um 2020 ein Full-Stack-Java-Entwickler zu werden.
- 11 Fähigkeiten, um ein erfahrener Java-Programmierer zu werden
- Software Design und Architektur
- Microservices
- DevOps-Tools (Jenkins, Docker und Kubernetes)
- Spring Framework (Spring Boot)
- JUnit und Mockito
- Lernen Sie APIs und Bibliotheken
- JVM-Interna
- Entwurfsmuster
- Kotlin
- IDE (Eclipse oder IntelliJIDEA)
- React oder Angular
- Beide sind großartige Kurse, um Angular zu lernen und mit Spring Boot zu reagieren und ein Full-Stack-Java-Entwickler zu werden.
- Java besser lernen
11 Fähigkeiten, um ein erfahrener Java-Programmierer zu werden
Wenn Sie Ihre Karriere beschleunigen und ein Full-Stack-Java-Programmierer werden möchten, sind dies Fähigkeiten, die Sie lernen können, um sich von anderen Programmierern zu unterscheiden.
Software Design und Architektur
Software Design und Architektur sind wohl die wichtigsten Phasen des Softwareentwicklungsprozesses. In der Lage zu sein, das große Ganze zu sehen und das Problem zu durchdenken und sich für die richtige Architektur und den richtigen Technologie-Stack für die Implementierung Ihrer App zu entscheiden, sind entscheidende Fähigkeiten für jeden Softwareentwickler, nicht nur für einen Java-Entwickler.
Wenn Sie Ihre Karriere im Jahr 2020 beschleunigen und ein Senior Java Developer werden möchten Unternehmen sind begehrt, Ich schlage vor, Sie lernen Softwarearchitektur. Wenn Sie danach streben, ein Lösungsarchitekt zu werden, wird Ihnen diese Fähigkeit auch sehr helfen und sich von anderen Entwicklern unterscheiden.
Wenn Sie eine Ressource benötigen, um grundlegende Dinge über Software-Design und Architektur zu lernen, dann schlage ich vor, dass Sie die Web-Anwendung & Software Architecture 101 Kurs auf Eductive. Es ist ein großartiger Kurs, um verschiedene Architekturmuster wie Microservice, Client-Server und verteilte Apps zu lernen.
Um ehrlich zu sein, ist dies der beste Kurs nicht nur für erfahrene Entwickler, sondern auch für jeden Softwareentwickler, da er Ihren Denkprozess erweitert und Sie zu einem selbstbewussteren Webentwickler macht. Es gibt einen erheblichen Rabatt auf den Kurs jetzt, und es ist für nur $ 44, Originalpreis $ 79, es ist ein bisschen teuer für Udemy Kurse, aber es lohnt sich.
Auf der anderen Seite, wenn Sie Educative als Plattform mögen, können Sie auch ein Abonnement für nur 17 USD pro Monat (50% Rabatt) kaufen.
Microservices
Die Architektur ändert sich ständig und viele Unternehmen wechseln von monolithischen Anwendungen zu Microservices.
Es ist höchste Zeit für Java-Entwickler, die Microservice-Architektur und die Erstellung von Microservices in Java zu erlernen, um von dieser jüngsten Welle zu profitieren.
Glücklicherweise bietet das Spring Framework Spring Cloud und Spring Boot, die die Entwicklung von Microservices in Java erheblich vereinfachen.
Wenn Sie nach einem Kurs suchen, dann ist Master Microservices mit Spring Boot und Spring Cloud ein guter Anfang.
Und wenn Sie Bücher bevorzugen, empfehle ich Ihnen, Cloud Native Java von Josh Long zu lesen, das einen umfassenden Leitfaden für die Entwicklung von Java-Anwendungen für die Cloud bietet.
DevOps-Tools (Jenkins, Docker und Kubernetes)
Für einen modernen Java-Entwickler sind DevOps-Kenntnisse unerlässlich. Er sollte zumindest mit Continuous Integration und Continuous Deployment vertraut sein und wie Jenkins dabei hilft.
Es wird noch wichtiger für ältere Java-Entwickler, die häufig für die Festlegung von Best Practices für die Codierung und die Erstellung von Umgebungen, Build-Skripten und Richtlinien verantwortlich sind.
Ich schlage auch vor, dass Sie Zeit verbringen und mehr über DevOps im Allgemeinen und Tools wie Docker, Ansible, Kubernetes, AWS usw. sowie Maven und Jenkins erfahren.
Wenn Sie einige Ressourcen benötigen, lernen Sie DevOps: CI / CD mit Jenkins Die Verwendung von Pipelines und Docker in Udemy ist wahrscheinlich der beste Einstiegskurs. Sie lernen nicht nur CI und CD kennen, sondern auch Maven und Jenkins.
Und wenn Sie Bücher bevorzugen, dann empfehle ich Ihnen, das Phoenix-Projekt zu lesen: Ein Roman über IT, DevOps und Helping Your Business Win, der einen umfassenden Überblick darüber bietet, wie DevOps und Automatisierung Glück für Unternehmen bringen können.
Spring Framework (Spring Boot)
Heutzutage ist es für einen Java-Entwickler fast unerlässlich, Spring Framework zu lernen, da die meisten Unternehmen die Entwicklung mit Spring Frameworks wie Spring MVC, Spring Boot und Spring Cloud bevorzugen für die Entwicklung einer Webanwendung, REST APIs Microservices.
Es fördert auch Best Practices wie Dependency Injection und macht Ihre Anwendung testbarer, was eine Schlüsselanforderung für moderne Software ist.
Wenn Sie ein neuer Java-Entwickler sind, empfehle ich Ihnen, mit diesem Java- und Spring-Tutorial zu beginnen, um die Grundlagen dieses großartigen Frameworks zu erlernen.
Wenn Sie nach Referenzen suchen, ist Spring Framework 5: Beginner to Guru der beste Kurs, mit dem Sie beginnen können.
JUnit und Mockito
Wenn es eine gemeinsame Sache gibt, die einen guten Java-Entwickler von einem durchschnittlichen Java-Entwickler unterscheidet, dann ist es die Unit-Test-Fähigkeit.
Ein guter und professioneller Java-Entwickler schreibt fast immer Unit-Tests für seinen Code und wenn er wirklich ein Rockstar-Entwickler ist, können Sie das an seinem Code und seinen Tests erkennen.
Das Testen hat jetzt auch einen langen Weg zurückgelegt, da Java-Entwicklern mehrere Tools für Komponententests, Integrationstests und Automatisierungstests zur Verfügung stehen.
Sie können eine gute Menge von 2020 ausgeben, um Ihre Testfähigkeiten in Java zu verbessern, aber für diejenigen, die neu in Java World und Unit Testing sind, ist JUnit die beste Bibliothek, mit der Sie beginnen können. Die aktuelle Version JUnit 5 ist sowohl leistungsstark als auch flexibel und das sollte jeder Java-Entwickler wissen.
Wenn Sie nach einem guten Überblick über JUnit und Unit-Tests in Java suchen, sind JUnit- und Mockito-Crashkurse der perfekte Einstieg. Es ist nicht das aktuellste, da es JUnit 5 nicht abdeckt, aber immer noch ziemlich nützlich für Anfänger.
Lernen Sie APIs und Bibliotheken
Wenn Sie mit großartigen Java-Entwicklern zusammengearbeitet haben, haben Sie vielleicht bemerkt, dass ihr allgemeines Wissen über das Java-Ökosystem und die APIs einen großen Teil davon ausmacht.
Java ist die beliebteste und ausgereifteste Programmiersprache der Welt und es gibt unzählige Bibliotheken und APIs, mit denen fast alles möglich ist.
Natürlich wird nicht erwartet, dass Sie alle kennen, aber Sie sollten mit einigen wichtigen APIs wie JSON-Verarbeitungs-APIs wie Jackson und Gson, XML-Verarbeitungs-APIs wie JAXB und Xerces, Unit-Testbibliotheken wie Mockito und JUnit usw. vertraut sein.
Wenn Sie sie nicht kennen, können Sie sie 2020 lernen oder sich zumindest einen Überblick verschaffen. Zu Beginn können Sie meine Liste von 20 Java-Bibliotheken überprüfen, die jeder Java-Entwickler kennen sollte, die Bibliotheken aus Schlüsselbereichen wie Parsen, Bytecode-Manipulation, Parallelität, Sammlungen usw. abdeckt.
JVM-Interna
Wenn Sie es ernst meinen, ein Rockstar-Java-Entwickler zu werden, müssen Sie sich die Zeit nehmen, JVM-Interna wie die verschiedenen Teile von JVM, ihre Funktionsweise, JIT, JVM-Optionen, Garbage Collections und Collectors usw. zu lernen.
Wenn Sie JVM gut kennen, können Sie sowohl robuste als auch leistungsstarke Java-Anwendungen schreiben.
Als Teil davon sollten Sie auch lernen, wie Sie Ihre Java-Anwendung profilieren, wie Sie Leistungsengpässe finden, z. B. welche Objekte die meisten Ihrer Speicher belegen und CPUs fressen.
Für strukturiertes Lernen empfehle ich, die Java Virtual Machine-Serie auf Pluralsight zu verstehen. Es ist ein sehr detaillierter und praktischer Kurs, perfekt für neugierige Java-Entwickler.
Übrigens benötigen Sie eine Pluralsight-Mitgliedschaft, um Zugang zu diesem Kurs zu erhalten, der etwa 29 USD pro Monat oder 299 USD pro Jahr kostet (14% Rabatt).
Wenn Sie keine Pluralsight-Mitgliedschaft haben, empfehle ich Ihnen, eine zu erwerben, da Sie damit auf die über 5.000 Online-Kurse zu den neuesten Themen wie Front-End- und Back-End-Entwicklung, maschinelles Lernen usw. zugreifen können. Es enthält auch interaktive Quiz, Übungen und das neueste Zertifizierungsmaterial.
Es ist eher wie Netflix für Softwareentwickler und da Lernen ein wichtiger Teil unserer Arbeit ist, ist die Pluralsight-Mitgliedschaft eine großartige Möglichkeit, Ihrer Konkurrenz einen Schritt voraus zu sein.
Sie bieten auch eine 10-tägige kostenlose Testversion ohne Verpflichtung an, die eine großartige Möglichkeit ist, nicht nur kostenlos auf diesen Kurs zuzugreifen, sondern auch die Qualität der Kurse zu überprüfen, bevor Sie Pluralsight beitreten.
Für diejenigen, die Bücher bevorzugen, ist der Definitive Guide to Java Performance von Scott Oaks ein großartiges Buch, um JVM-Interna und Garbage Collection zu beherrschen.
Entwurfsmuster
Wenn Sie eine Java-Anwendung von Grund auf neu schreiben, schreiben Sie meistens objektorientierten Code, und Entwurfsmuster sind bewährte Lösungen für häufig auftretende Probleme.
Indem Sie sie kennen und in Ihren Code integrieren, machen Sie Ihre Anwendung flexibler und einfacher in der Zukunft zu ändern.
Es verbessert auch die allgemeine Codequalität und Dokumentation, da andere Java-Entwickler auch mit Entwurfsmustern vertraut sind und Ihre Lösung ziemlich schnell verstehen.
Aber konzentrieren Sie sich nicht nur auf den Codeteil, verstehen Sie den Geist und seien Sie kreativ. Verwenden Sie Java 8-Funktionen wie Lambdas und Streams, um Muster wie Strategiemuster neu zu schreiben.
Wenn Sie nach Ressourcen zum Erlernen von Entwurfsmustern suchen, ist diese Liste der Entwurfsmusterkurse ein guter Ausgangspunkt. Und für diejenigen, die Bücher mögen, meine empfohlenen Bücher über Design Patterns finden Sie hier.
Kotlin
Vor ein paar Jahren las ich ein Buch mit dem Titel The Well-Grounded Java Developer, in dem der Vorteil eines polyglotten Programmierers hervorgehoben wurde.
Es hat mich dazu inspiriert, Scala zu lernen, und später habe ich auch Groovy ausprobiert, da es häufiger zum Erstellen von Build-Skripten und Unit-Tests verwendet wird.
Diese Erfahrung hat mir sehr geholfen und deshalb ermutige ich Java-Entwickler, eine neue JVM-Sprache zu lernen. Ich habe zuvor darüber gebloggt 3 JVM-Sprachen Java-Entwickler sollten 2020 lernen, aber wenn Sie es eilig haben, lernen Sie einfach Kotlin.
Es ist eine großartige Sprache von JetBrains, dem Unternehmen hinter IntelliJ IDEA, und auch die offizielle Sprache für die Android-Entwicklung, wie von Google in 2017 angekündigt.
Es verbessert nicht nur Ihre Produktivität, sondern hilft Ihnen auch, in den Android-Entwicklungsbereich einzusteigen. Wenn Sie Kotlin im Jahr 2020 lernen möchten und nach einer guten Ressource suchen, finden Sie hier eine Liste der Kotlin-Kurse.
IDE (Eclipse oder IntelliJIDEA)
Eines der wichtigsten Merkmale besserer Java-Entwickler ist, dass sie ihre Tools sehr gut beherrschen. Sie kennen nicht nur mehr Tools als durchschnittliche Entwickler, sondern auch ihre Tools gut.
Da IDEs wie Eclipse, NetBeans und IntelliJ IDEA das wichtigste Werkzeug für einen Java-Programmierer sind, ist es sinnvoll, einige Zeit damit zu verbringen, besser zu lernen.
Sie können einige Plugins kennenlernen, die Ihre Aufgabe vereinfachen, oder einige Tastaturkürzel, mit denen Sie besser navigieren können.
Sogar ein paar kleine Tipps helfen sehr, weil Sie sie viel mehr verwenden, als Sie denken. Wenn Sie es ernst meinen, Ihre IDE-Fähigkeiten auf die nächste Stufe zu heben und Eclipse zu verwenden, empfehlen wir Ihnen, die Eclipse-Debugging-Techniken und -Tricks auf Udemy zu überprüfen, einem perfekten Kurs, um Ihr Wissen über Eclipse zu verbessern.
React oder Angular
Um ein Full-Stack-Java-Entwickler zu werden, müssen Sie auch ein Front-End-Framework kennen und es gibt keine bessere Wahl als React oder Angular.
Diese beiden JavaScript-Frameworks haben die Art und Weise, wie Sie Webanwendungen entwickeln, völlig verändert. Als Java-Entwickler haben Sie möglicherweise Servlet, JSP und jQuery auf der Clientseite verwendet, aber es ist besser, Angular oder React zu lernen, da die moderne Frontend-Entwicklung diese Frameworks verwendet.
Abhängig davon, ob Sie Angular oder React wählen.daher schlage ich die folgenden zwei Kurse vor, um ein Full-Stack-Java-Entwickler zu werden.
- Go Java Full Stack mit Spring Boot und React
- Go Java Full Stack mit Spring Boot und Angular
Beide sind großartige Kurse, um Angular zu lernen und mit Spring Boot zu reagieren und ein Full-Stack-Java-Entwickler zu werden.
Java besser lernen
Dies ist derzeit das Wichtigste für einen Java-Entwickler. Java wird ständig aktualisiert und mit jeder neuen Version in 6 Monaten ist es eine große Herausforderung, sich auf dem neuesten Stand zu halten. Ich habe Java 10-Funktionen gelernt und kenne viele Programmierer, die keine einzige Codezeile mit Java 8-Funktionen wie Lambdas und Stream API geschrieben haben.
Leider sind die meisten von ihnen erfahrene Java-Entwickler mit gut 7 bis 10 Jahren Erfahrung in ihrem Gürtel. Ich verstehe, dass das Lernen irgendwann in Ihrer Karriere langsam wird, aber wenn Sie jetzt nicht handeln, werden Sie zurückgelassen.
Fast alle Java-Entwicklungsjobs erfordern jetzt Java 8+ -Kenntnisse, und wenn Sie diese nicht haben, wäre es sehr schwierig, in Ihren Java-Interviews gut abzuschneiden und gute Leistungen zu erbringen.
Wenn Sie sich entschieden haben, Java zu lernen, sich aber Gedanken darüber machen, wo Sie anfangen sollen, empfehlen wir Ihnen, die vollständige Java-Meisterklasse auf Udemy zu lesen, in der Sie alle Grundlagen der Java 8-Funktionen und anderer neuer Funktionen erlernen werden eingeführt in Java 9, 10, 11 und vielleicht in Java 12 sehr bald.
Und wenn Sie an einem fortgeschritteneren, praktischen Kurs interessiert sind, dann ist Refactoring Java 8 von Dr. Heinz Kabutz ein guter Einstieg.
Hier sind einige meiner Tipps, um 2020 ein besserer Java-Entwickler zu werden. Ich weiß, dass es schwierig ist, all diese Tipps zu befolgen, und ich bitte nicht darum, es ist einfach nicht praktikabel.
Sie können sich auf wichtigere Themen wie das Erlernen von Java 8 und das Erlernen von Spring Framework konzentrieren, wenn Sie sie noch nicht kennen, aber wenn Sie gut darin sind, können Sie andere Themen auswählen, z. B. Unit-Tests, JVM-Interna und DevOps.
Zunächst müssen Sie eine auswählen, z. B. die neuesten Java-Funktionen seit Java 8 bis Java 13 erlernen, und sich damit einverstanden erklären, bevor Sie mit dem nächsten Tipp fortfahren. Wenn Sie nach niedrig hängenden Früchten suchen, ist es eine gute Wahl, Ihre IDE besser zu lernen.
Sie kennen Ihre IDE bereits und wenn Sie einige Zeit damit verbringen, sie besser zu lernen, werden Sie in kurzer Zeit zu einem produktiveren und besseren Java-Entwickler.
Alles Gute und vergessen Sie nicht, Ihre Tipps zu teilen, von denen Sie glauben, dass Sie Sie zu einem besseren Java-Entwickler gemacht haben.
Wenn Sie Vorschläge oder Feedback haben, sind Sie herzlich willkommen.
P.S. — Wenn Sie neu in der Programmiersprache Java sind und nach einem umfassenden und strukturierten Kurs suchen, um Java eingehend zu lernen, empfehle ich Ihnen auch, den kompletten Java Masterclass-Kurs von Tim Buchalaka zu besuchen. Es ist auch der aktuellste Kurs und behandelt neue Java-Funktionen aus den letzten Versionen.