JavaRush /Java-Blog /Random-DE /Java Middle in 2,5 Monaten.
novago219
Level 34

Java Middle in 2,5 Monaten.

Veröffentlicht in der Gruppe Random-DE
Grüße an alle Leser, die dachten, dass man in 2,5 Monaten von Grund auf wirklich ein Mittelfeldspieler werden kann. Ich beeile mich, Sie zu enttäuschen – das ist nur mit sehr harter Arbeit an sich selbst möglich, und ich weiß, dass jeder alles auf einmal will – jetzt und nicht anders. Und der Satz „Von Grund auf neu“ trifft auf mich nur bedingt zu, da ich wirklich absolut keine Kenntnisse von Java als Programmiersprache hatte. Aber ich wusste und konnte schon etwas tun, bevor ich JavaRush traf, und vielleicht möchte ich meine Geschichte damit beginnen, denn meine Karriereentwicklung ist in gewisser Weise eine ziemlich seltsame Kombination aus Wissen, Fähigkeiten und Glück. Lassen Sie mich Ihnen also eine Liste geben, die mir einen Wettbewerbsvorteil gegenüber anderen verschaffte und es mir auch ermöglichte, JavaRush (bis Level 34) recht schnell und ohne große Schwierigkeiten zu meistern (zumindest hat es mich nicht überrascht). Die Liste besteht aus dem Wissen, das mir die Universität vermittelt hat, sowie dem, was mich selbst interessierte. Ich werde nicht trennen, wo alles ist und ich werde auch nicht die Universität nennen. Wenn Sie möchten, sollten Sie sich dieses gesamte Wissen selbst aneignen, wenn Ihre Universität es nicht lehrt.
  1. Algorithmen und Datenstrukturen: Mein Weg in diese Richtung begann mit dem Studium der Prinzipien der Algorithmenkonstruktion, der Lektüre klassischer Bücher (Knuth) und dem Studium der Programmiersprache Pascal und ging weiter mit der Sprache C, der Implementierung aller Datenstrukturen und einer Analyse von die Vor- und Nachteile jedes einzelnen davon. Ich werde nicht sagen, dass ich zusätzlich zu allem anderen weiß, wie man mit Turing-Maschinen und Markov-Algorithmen arbeitet, oder besser gesagt, ich habe dies bereits gesagt, aber Sie können dies ignorieren, obwohl meiner Meinung nach das Konzept eines Unendliches Speicherband und die Bewegung eines Zeigers darauf geben die korrekteste Vorstellung davon, wie ein Computer tatsächlich von innen funktioniert, aber das ist nur meine bescheidene Meinung.
  2. Computerarchitektur und Assembler: Wenn Sie entscheiden, dass Sie das Funktionsprinzip eines Computers vollständig verstanden haben, versuchen Sie, Programme auf einem sehr niedrigen Niveau zu schreiben (wie würden Sie sonst alle Freuden von Java genießen?), und ich persönlich habe alle Bildungsoptionen mit einem in Betracht gezogen , zwei, drei Register und mir wurde klar, wie man ausweichen muss, wenn es nur ein Register gibt und das Programm funktioniert (überraschend, oder?).
  3. Diskrete Mathematik: Parallel zum oben Gesagten lohnt es sich natürlich auch, sich mit diesem Thema zu befassen, da es ein umfassendes Verständnis des logischen Denkens vermittelt und die Theorie endlicher Automaten Ihnen zeigt, wie und wie das Innere des Prozessors angeordnet ist sie sind in integrierten Schaltkreisen organisiert. Vergessen wir nicht, dass hier auch die Graphentheorie studiert wird, was nicht hundertprozentig überflüssig sein wird.
  4. Höhere Mathematik: Ich habe beschlossen, alle anderen mathematischen Fächer in einem Absatz hervorzuheben, um Ihren Kopf nicht zu sehr zu überladen. Hier sind: mathematische Analyse, Wahrscheinlichkeitstheorie und Statistik, lineare Algebra – übrigens eine sehr, sehr wichtige Sache, wenn Sie dreidimensionale Grafiken erstellen möchten (ich weiß, jeder träumt davon, Spiele zu schreiben, obwohl Sie dies auch tun werden). Ich muss einen Kurs über Differentialgleichungen und numerische Methoden belegen, aber das ist so - Kleinigkeiten) und andere Bereiche.
  5. Betriebssystemarchitektur. Linux: Wenn Sie sich hier vertraut gemacht haben, wird Multithreading in Java viel weniger Fragen aufwerfen, und es stellt sich heraus, dass Sie das Märchen von den Philosophen bereits irgendwo gehört haben.
  6. OOP, C++-Sprache: Nun, wir haben fast die Spitze der Nahrungskette erreicht. Ich werde hier nicht im Detail erklären und auch nicht sagen, warum die Implementierung von OOP in C++ viel interessanter anzusehen ist.
  7. Außerdem: Ein paar weitere Kleinigkeiten, die ich bereits kannte, waren: Computergrafik (OpenGL, Unity 3D) und C# (Core).
Was hat JavaRush damit zu tun?
Nun, neben all diesem Wissensdurst stieß ich im September letzten Jahres auf JavaRush, scrollte durch ein paar Levels und gab auf, da ich nach dem Studium ziemlich leicht einen Job gefunden hatte (nicht als Programmierer, aber vielleicht in der IT). kann jemand erraten, was es sein könnte?). Aber ich stellte bald fest, dass mich das überhaupt nicht interessierte; nach ein paar Monaten erreichte ich fast die Obergrenze und erkannte, dass es keinen Sinn hatte, sich hier weiterzuentwickeln, obwohl die Unternehmensleitung fast unterhaltsame Optionen anbot (darunter DevOps). was ich abgelehnt habe. Gleichzeitig bereitete ich Schüler auf Informatikolympiaden vor (ich habe vergessen zu erwähnen, dass ich Sportprogrammieren wirklich mochte), und nachdem ich meinen Hauptjob aufgegeben hatte, ging ich stürmisch dorthin. Ich war ungefähr 4-5 Monate lang mit allem zufrieden, bis ich auch davon müde wurde. Die Fragen wurden wiederholt, alle Themen wurden abgedeckt und da fiel mir JavaRush ein. Da ich ein Rationalist (gierig) bin, habe ich zuerst die ersten 10 Level von vorne bis hinten durchgearbeitet, dann weiter geschaut (es schien, als wäre Level 15 genug) und mir wurde klar, dass das ziemlich interessant und auf meine typische Art war – ich habe es einfach gemacht in jedem freien Moment. Haben Sie 5 Minuten Zeit? Großartig, ich werde die Logik der Methode hinzufügen. Gesamt: Ich habe zwei Monatsabonnements gekauft. Im ersten Monat stieg ich von Level 10 auf 28, im zweiten unvollständigen (ca. 15 Tage) von Level 28 auf 34. Chronologisch gesehen war es April-Mitte Mai, das heißt, es wurden 1,5 Monate verbracht (rechnen Sie selbst in Rubel nach). Ich werde Ihnen nicht sagen, wie man es macht und wie man es nicht macht – dazu wurde bereits viel gesagt.
Anstellung
Ungefähr auf Level 30 habe ich mir die offenen Stellen in meiner Stadt angesehen und beschlossen, nicht zu hetzen und Lebensläufe nicht an alle zu verschicken, sondern gezielt das gewünschte Unternehmen auszuwählen, mich darauf vorzubereiten und erst danach meine Skizzen an die Personalabteilung zu senden. Ich habe auch die Kritzeleien sehr sorgfältig gezeichnet und es ist sehr gut geworden. Ich wurde schnell zu einem Vorstellungsgespräch eingeladen und habe es sehr souverän bestanden (zumindest was Java Core angeht). Ich werde nicht beschreiben, was die Fragen waren. Die Probleme begannen, als sie mich fragten, wie Spring funktioniert und ob ich überhaupt Enterprise-Technologien kenne. Eigentlich habe ich gesagt, dass ich es nicht weiß, aber bei einem solchen Niveau ist Junior garantiert (höher springen wirst du nicht), aber ich bin trotzdem gesprungen und hier beginnt wahrscheinlich der interessanteste Teil. Als mir die Bedingungen erklärt wurden (2 Monate – Probezeit, Position – Junior und Gehaltsspanne), wurde mir im Allgemeinen klar, dass sie mir nicht wirklich gefielen, aber ich sagte, ich sei einverstanden und fragte, ob ich später mit der Arbeit beginnen könne. motivierend, weil ich die Dinge an meinem jetzigen Arbeitsplatz erledigen musste, bevor ich zu einem neuen Unternehmen wechselte. Daher habe ich mir fast einen Monat Zeit gegeben, mich vorzubereiten. Ich hatte Anfang Mai ein Vorstellungsgespräch und begann am 23. mit der Arbeit. Natürlich habe ich noch einmal die Anforderungen studiert, herausgefunden, welche Technologien zum Einsatz kommen (Java EE 6) und mich auf die Arbeit vorbereitet.
Mitte oder nicht Mitte?
Nun, ich begann mit der Arbeit und stellte fest, dass sie etwa fünf Junioren rekrutiert hatten, unter denen ich natürlich herausragte, aber nicht besonders. Zuerst traf ich meinen direkten Vorgesetzten, bemerkte, dass er rauchte und ging mit ihm rauchen (und ich rauche überhaupt nicht). Es war auch ein anderer Programmierer bei uns, von dem ich etwas später erzählen werde. Im Allgemeinen habe ich beim Rauchen (3-4 Mal pro Arbeitstag) mit dem Manager gesprochen, ausführlicher über meine Erfolge gesprochen, beiläufig mein Wissen erwähnt (es muss sich als nützlich erwiesen haben) und im Allgemeinen so viel Selbstvertrauen gewonnen wie ich könnte. Durch das Grillen und Bier am Ende der ersten Woche konnten bessere Beziehungen geknüpft werden, was ich organisierte. Ich blieb bis 23 Uhr (werktags bis 18:30 Uhr) im Büro und arbeitete, bis mich der Wachmann rausschmiss. Manchmal blieben der CEO und der CTO des Unternehmens bei mir im Büro, mit denen ich auch kommunizierte, wir aßen zusammen zu Abend und verließen gemeinsam das Büro (der CTO bot mir sogar eine Heimfahrt an, aber ich lehnte höflich ab). So habe ich erstens ein gutes Verhältnis zu meinem direkten Vorgesetzten aufgebaut und zweitens der Geschäftsleitung gezeigt, dass ich die Aufgabe erledigen und erst dann nach Hause gehen würde. Das alles macht mich natürlich nicht zur Mitte. Was hat es also bewirkt? Ich möchte Sie daran erinnern, dass ich vor dem Interview kein einziges Framework kannte (außer JUnit). Hier lohnt es sich, auf den oben erwähnten Programmierer zurückzukommen. Er war ein sehr leistungsfähiger Programmierer mit 20 Jahren Erfahrung, der fünf Jahre in Moskau, etwa sieben Jahre in Amerika (als Chefprojektarchitekt) und an vielen anderen Orten arbeitete, darunter auch Regierungsprojekte von besonderer Bedeutung (ich habe das alles beim Rauchen gelernt). mit ihm). Diesem Programmierer wurde also eine sehr ernste Aufgabe übertragen und er beschloss, mich als Assistenten einzustellen. Nachdem ihm diese Aufgabe übertragen worden war, stellte sich heraus, dass er dringend das Land verlassen musste und nicht arbeiten konnte. Er schrieb den Rahmen der Anwendung und überließ mir die Verantwortung mit der Aussage, dass er die Überwachung aus der Ferne übernehmen würde. Es war dieser Moment, der mir half, mittelmäßig zu werden und die Probezeit nicht in zwei, sondern in einem Monat zu beenden und mich für ein ernsteres Gehalt zu qualifizieren. Weil dieser Programmierer nicht in der Lage war, aus der Ferne zu überwachen und das Projekt ganz mir überlassen wurde. Ich habe es innerhalb eines Monats erfolgreich abgeschlossen und dafür meine Stelle und die Möglichkeit erhalten, mich für ein höheres Gehalt zu bewerben.
Was ist die Moral?
Man kann sagen, dass ich das Glück hatte, dort zu studieren, wo mir all dieses Wissen vermittelt wurde (aber beachten Sie, dass ich es nur zur Erwähnung gegenüber meinen Vorgesetzten verwendet habe), dass die Umstände so waren, dass ein solches Projekt auf meinen Schultern lag, und was JavaRush tun muss damit zu tun, scheint es? Ich möchte Sie noch einmal daran erinnern, dass mein Java-Kenntnisniveau vor JavaRush 0 war – das ist alles. Zweitens bleibt Ihnen etwas im Gedächtnis hängen, wenn Sie beim 52. Versuch Probleme lösen – ich hatte ein Händchen für Ausnahmen, Prüfungen usw., was auch ein Wettbewerbsvorteil gegenüber anderen war, und im Allgemeinen – Sie beginnen, JavaCore sehr gründlich zu verstehen ( Dies bestätigt das OCA-Zertifikat, das ich auf Kosten des Unternehmens bestanden und mit 94 % bewertet habe, und ohne dieses sehe ich keinen großen Sinn darin, weiterzumachen. Nächste Woche werde ich einem neuen Projekt von Grund auf zugeteilt, das ich selbst leiten werde (einschließlich Datenbankdesign, Technologieauswahl und auch der Rekrutierung eines Teams). Außerdem werde ich Interviews führen und die Fortschritte der Junioren überprüfen, um festzustellen, ob es sich lohnt oder nicht. Ich möchte sagen, dass mir in diesen Angelegenheiten nicht nur das Sachwissen geholfen hat, sondern auch die Fähigkeit, mit dem Team zu kommunizieren, mich gegenüber dem Management gut zu präsentieren, einen Eindruck zu hinterlassen und zu beweisen, dass ich alles durchziehen werde das Ende. Vielen Dank für Ihre Aufmerksamkeit, ich wünsche allen mehr Ausdauer und Liebe zum Detail.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION