Heim  >  Artikel  >  Java  >  Wie man ein Java-Champion-Programmierer wird

Wie man ein Java-Champion-Programmierer wird

伊谢尔伦
伊谢尔伦Original
2016-11-26 13:56:15988Durchsuche

Wie werde ich ein Java-Champion-Programmierer?

Vor ein paar Monaten habe ich mit meinem Geschäftspartner Carl und unserem Französischkurslehrer Xavier in einem Restaurant in Paris gegessen. Während des Gesprächs lachten und scherzten Carl und ich über all die coole Technologie, die wir verwendet haben, als wir jünger waren. Gleichzeitig bemerkte ich, dass Xavier lange schwieg, also beschloss ich, ihn nach seinem Alter zu fragen. Obwohl ich mich nicht genau an sein Alter erinnern kann, erinnere ich mich, dass er ein ganz anderes Alter hatte als ich und etwa im gleichen Alter wie mein zweites Kind war. Das bedeutet, dass alle Programmiererfahrungen, die Carl und ich im Laufe der Jahre gleichzeitig gemacht haben, für ihn wertlos waren.


In der Karriere eines Softwareentwicklers hat Wissen eine Halbwertszeit von drei Jahren. Das bedeutet, dass nach drei Jahren die Hälfte Ihres Wissens wertlos sein wird. Um ein Beispiel zu nennen: Je älter man wird, desto schwieriger ist es, jemanden zu finden, der TSR (Terminate-Stay-Resident) versteht, und jemanden zu finden, der einen TSR geschrieben hat, ist wie die Suche nach der Nadel im Heuhaufen. In einem DOS-System können nicht mehrere Programme gleichzeitig ausgeführt werden. Wenn wir daher eine Hintergrundfunktion wie einen Kalender oder einen Taschenrechner benötigen, schreiben wir ein speicherresidentes Programm (Terminate-Stay-Resident-Programm) und aktivieren es dann von einem anderen Programm aus über eine bestimmte Tastenkombination.


In dieser Branche ist die dreijährige Halbwertszeit des Wissens tatsächlich eine wunderbare Sache, sodass man nie zum sinkenden Baum wird. Als Teenager warnten mich die Leute davor, Programmierer zu werden, weil sie dachten, ich müsste ständig neue Dinge lernen, aber ich dachte, unsere Arbeit würde davon profitieren. Erstens sollte der Geist frisch und aktiv gehalten werden. Als ich meine Großmutter das letzte Mal sah, war sie 98 Jahre alt und hatte Schwierigkeiten beim Gehen, aber sie hatte immer noch einen klaren Kopf. Sie sah mein Macbook Pro und sagte: „Hey, das sieht toll aus, ich möchte auch eines kaufen.“ Das liegt daran, dass sie ständig neue Dinge lernt, die ihren Kopf frei halten. Zweitens: Ignorieren Sie Technologien, die Sie nicht besonders interessieren, da sie bald ersetzt werden. Lassen Sie mich ein Beispiel für Subversion geben. Früher habe ich es verwendet, weil ich es musste, aber ich habe es nicht besonders behandelt und bin kein Subversion-Experte geworden. Ein paar Jahre später tauchte Git auf und ich konnte mich von Subversion nur verabschieden. Leider ist einer meiner Kunden dieses Jahr tatsächlich von CVS auf Subversion migriert! Das ist 2015!


Okay, kehren wir zum Thema zurück – wie wird man ein Champion-Programmierer? Ich denke, dass die folgenden Punkte sehr hilfreich sind:


1. Starkes Gedächtnis.


Als ich in der achten Klasse war, lag das alles an diesem leblosen Geschichtslehrer, der mich davon überzeugte, dass mein Gedächtnis schrecklich sei. Zu meiner Überraschung stellte ich jedoch nach Jahren meiner Arbeit als Programmierer fest, dass ich Java-Quellcode, den ich zuvor gesehen hatte, sofort reproduzieren konnte. Wenn ich eine Methode im JDK lese, kann ich oft erkennen, ob sich die Methode gegenüber der vorherigen Version geändert hat. Vielleicht kann ich mich nicht genau an das Gesicht und den Namen einer Person erinnern, aber ich kann mich an den Java-Code erinnern – wenn nur der Name der Person auch eine for-Schleife wäre. Glücklicherweise hindert uns ein Mangel an gutem Gedächtnis nicht daran, Meisterprogrammierer zu werden, aber ein starkes Gedächtnis ist dennoch ein klarer Vorteil.


2. Mathematische Fähigkeiten.


Um ein guter Java-Programmierer zu werden, ist es nicht notwendig, ein mathematischer Meister zu sein, aber mathematische Fähigkeiten helfen Ihnen natürlich dabei, die Qualifikationen zu erlangen, um ein ausgezeichneter Programmierer zu werden. Im Januar dieses Jahres hatte ich etwas Freizeit und beschloss, Project Euler auszuprobieren. Eines der Rätsel benötigt neuneinhalb Stunden Laufzeit, um eine Lösung zu finden. Während es lief, schaute ich mir das Problem an und entdeckte einen kleinen Zusammenhang zwischen den Zahlen, der zur Optimierung der Lösung verwendet werden konnte. Ich habe es noch einmal ausgeführt und dieses Mal dauerte es nur 6 Minuten. Währenddessen läuft mein erster Algorithmus weiter und versucht, die Antwort zu finden. Ich ging noch einmal auf die Zahlen zurück und entdeckte ein weiteres Muster, das ich vorher noch nicht gesehen hatte, und jetzt dauert es nur noch 6 Sekunden, bis es fertig ist. Ich habe auch versucht, mithilfe cleverer Programmiertechniken und Parallelität den Code mit Brute-Force zu optimieren, was ihn vielleicht ein wenig beschleunigt hat, es aber immer noch nicht geschafft hat, ihn auf weniger als 6 Sekunden zu bringen.

Vor etwa zehn Jahren startete Sun das Java Champion-Programm. Die Idee besteht darin, die 1.000 besten Java-Experten der Welt zu entdecken, die aktiv zur Verbesserung von Java beitragen. Wir sind jetzt wahrscheinlich auf Platz 160. Oracle setzt dieses Programm fort und in den letzten Jahren haben wir zusätzliche Vorteile aus diesem Erkennungssystem gesehen. Dies ist eine selbstgewählte Gruppe. Neue Champions werden von bestehenden Champions empfohlen und gewählt. Normalerweise sind mehr als ein Dutzend Stimmen erforderlich, bevor ein Champion gewählt wird, und eine Stimme legt ein Veto gegen den Vorschlag ein. Selbstempfehlungen werden berücksichtigt, erhalten jedoch in der Regel nicht ausreichend Unterstützung.


Programmiererfreunde fragen mich oft, wie ich ein Java-Champion-Programmierer geworden bin. „Es ist ganz einfach.“ Ich sagte: „Sei einfach wie ich und veröffentliche 200 Artikel zum Thema Java.“ ; entweder über Hibernate, Spring, Jacoco usw. schreiben oder tausende Fragen auf StackOverFlow beantworten und ein Dutzend guter Artikel veröffentlichen.


Sie müssen etwas Bemerkenswertes tun, und das wird Zeit und Mühe kosten. Niemand wird aufgrund seines Charismas und seines guten Aussehens zum Java-Champion-Programmierer, es geht nur um harte Arbeit, weshalb wir möglicherweise keine Fahndungsfotos nach unserem Namen haben. Und noch mehr: Werden Sie kein Champion-Programmierer, um ein Champion-Programmierer zu werden. Hören Sie auf, egoistisch zu sein und warten Sie auf das Lob anderer, dann werden Sie sich besser fühlen. Nicht jeder Champion-Programmierer wird offiziell den Titel „Oracle Java Champion“ tragen.


Egal welchen Weg Sie wählen, ein Champion-Programmierer zu werden bedeutet Hingabe. Das ist etwas völlig anderes als ein 9-to-5-Job. Man kann nicht alles lernen, was man während der Arbeit braucht. Um ein Champion-Programmierer zu werden, müssen Sie abends und am Wochenende lernen, um mit der Zeit Schritt zu halten. Der übertriebenste Witz ist, dass Programmierer in die Eliminierungsphase eintreten, sobald sie 40 Jahre alt sind. Vielleicht kommen sie in der Java-Programmierung ganz gut zurecht – es sei denn, sie frischen ihre Kenntnisse auf, indem sie Bücher und Artikel lesen oder an Entwicklerkonferenzen und anspruchsvollen Kursen teilnehmen –, sich nur auf ein Diplom zu verlassen, wird irgendwann wertlos sein, die Industrie wird sie wie gebrauchte Servietten wegwerfen. Werde niemals so ein Mensch! Studieren, studieren, nochmal studieren! Und der beste Weg zu lernen ist zweifellos, Wissen mit Gleichgesinnten zu teilen.


Wie teilen Sie Ihr Wissen? Heutzutage haben wir viele Möglichkeiten: Wir können Fragen auf StackOverflow oder anderen ähnlichen Websites beantworten; wir können technische Probleme in der Mittagspause besprechen, indem wir Essen zum Mitnehmen bestellen – wie wir es vor vielen Jahren bei einem Unternehmen getan haben, für das ich gearbeitet habe. Die Methode lief über „Design Patterns“. Dies erfordert ein wenig Opferbereitschaft. Möglicherweise müssen Sie auf das Mittagessen verzichten und einige Abende damit verbringen, sich auf Ihre Vorträge vorzubereiten. Es gibt jedoch viel mehr zu lernen, als nur ein Informationskonsument zu sein.


„The Java™ Specialists‘ Newsletter“ wird mittlerweile von mehr als 70.000 Programmierern in mehr als 130 Ländern gelesen, aber es fing ganz klein an, ich schickte es mir mit achtzig Jahren Freunde und Familie (einschließlich meines Bruders und meiner Eltern) und ich flehte sie an, es an ihre Freunde und Kollegen weiterzuleiten. Es entwickelt sich langsam im Laufe der Zeit. Ich glaube, wenn man sich umschaut, kann man 80 E-Mail-Adressen finden, und so hat alles angefangen. Alles fängt klein an. Es entwickelt sich langsam, aber sein Wachstum ist stetig. Ich weiß, wenn Sie die Zahl 70.000 sehen, sind Sie vielleicht schockiert, aber das betrifft nur einen kleinen Prozentsatz der Java-Programmierer.


Abschließend möchte ich diesen Beitrag mit einem sehr hilfreichen Punkt beenden: Leidenschaft. Die meisten Menschen müssen langweilige Computerarbeiten verrichten und nur wenige haben Freude daran. Bei einem meiner Jobs gaben sie einem Elektrotechniker die Aufgabe, das Quellcode-Repository zu organisieren. Er hat alles falsch gemacht – als er die Quellcodeverwaltung durchgeführt hat, kopieren wir den Quellbaum zwischen den Verzeichnissen. Wir mussten dies bei jedem wöchentlichen Build gleichzeitig tun, und der Server war so langsam wie ein Crawler. Es kann oft Stunden dauern, bis die Maschine stecken bleibt und alle warten müssen, was schmerzhaft und frustrierend ist. Ich bin nicht begeistert von VSS (Visual Source Safe: wird zur Verwaltung verschiedener Versionen von Quellcode und Dokumentation in der Softwareentwicklung verwendet). Finden Sie etwas, für das Sie eine Leidenschaft haben, und es sollte etwas sein, zu dem Sie auch nach der Arbeit bereit sind. Für mich geht es darum, die Ecken und Winkel des Java-Ökosystems zu studieren. Leidenschaft ist es, die uns vorantreibt, wenn es unzählige Gründe gibt, aufzuhören.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn